Brian Paul [Tue, 14 Oct 2008 18:11:52 +0000 (12:11 -0600)]
cell: basic mipmap filtering works now
Though, only GL_MIPMAP_NEAREST / GL_LINEAR works right now.
Brian Paul [Tue, 14 Oct 2008 18:10:27 +0000 (12:10 -0600)]
cell: fix tex image stride bugs
Brian Paul [Tue, 14 Oct 2008 16:55:38 +0000 (10:55 -0600)]
cell: now do texture twiddling in the right way, at the right time.
Also handles images smaller than 32x32 now.
Brian Paul [Tue, 14 Oct 2008 16:05:23 +0000 (10:05 -0600)]
cell: remove old code, clean-ups, etc.
Alan Hourihane [Tue, 14 Oct 2008 10:54:20 +0000 (11:54 +0100)]
dri: don't check the number of cliprects before swap, let
the swap handle the requirements.
Brian Paul [Tue, 14 Oct 2008 02:19:51 +0000 (20:19 -0600)]
cell: more clean-up in spu_tri.c
Brian Paul [Tue, 14 Oct 2008 01:50:20 +0000 (19:50 -0600)]
cell: remove dead code, clean-up, reformatting
Brian Paul [Tue, 14 Oct 2008 01:41:26 +0000 (19:41 -0600)]
cell: finish-up perspective-corrected interpolation
Brian Paul [Mon, 13 Oct 2008 22:43:11 +0000 (16:43 -0600)]
cell: initial work for mipmap texture filtering
Brian Paul [Mon, 13 Oct 2008 21:17:01 +0000 (15:17 -0600)]
cell: remove old texture-related fields
Brian Paul [Mon, 13 Oct 2008 20:31:11 +0000 (14:31 -0600)]
cell: use fewer memory references in sample_texture4_bilinear_2()
Brian Paul [Mon, 13 Oct 2008 20:10:36 +0000 (14:10 -0600)]
cell: remove more old texture code
Brian Paul [Mon, 13 Oct 2008 20:09:54 +0000 (14:09 -0600)]
cell: bilinear texture filtering using integer arithmetic
Fewer float/int conversions involved.
Brian Paul [Mon, 13 Oct 2008 17:16:04 +0000 (11:16 -0600)]
cell: remove old texture code
Brian Paul [Mon, 13 Oct 2008 16:55:08 +0000 (10:55 -0600)]
cell: do texture sampling/filtering for four pixels at a time.
Brian Paul [Mon, 13 Oct 2008 16:54:11 +0000 (10:54 -0600)]
cell: added spu_unpack_A8R8G8B8_transpose4()
Plus, clearer shuffle masks in other funcs.
Alan Hourihane [Mon, 13 Oct 2008 11:30:40 +0000 (12:30 +0100)]
mesa: when emitting an address load instruction, for
indexed elements ensure we write to a single register.
Brian Paul [Fri, 10 Oct 2008 23:48:16 +0000 (17:48 -0600)]
cell: more instruction scheduling optimizations (MIN/MAX/LERP/etc)
Also, optimize register->memory stores.
Brian Paul [Fri, 10 Oct 2008 22:40:16 +0000 (16:40 -0600)]
Merge commit 'origin/master' into gallium-0.2
Brian Paul [Fri, 10 Oct 2008 22:36:40 +0000 (16:36 -0600)]
cell: pass texture unit (sampler number) to txp() function
The glsl/multitex demo runs now.
Ian Romanick [Fri, 10 Oct 2008 18:47:43 +0000 (11:47 -0700)]
intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver
Eric Anholt [Fri, 10 Oct 2008 16:43:15 +0000 (09:43 -0700)]
i965: Add missing intel_pixel_draw.c symlink to fix build.
Brian Paul [Fri, 10 Oct 2008 22:30:43 +0000 (16:30 -0600)]
mesa: fix asst. issues in _mesa_texstore_argb8888()
If we shift bytes into the texel word (or use the PACK_COLOR_8888 macro),
we don't have to worry about big vs. little endian. See comments about
texel formats in texformat.h.
Remove an unneeded/incorrect else-if clause that produced wrong results
on big-endian systems.
Brian Paul [Fri, 10 Oct 2008 22:30:18 +0000 (16:30 -0600)]
mesa: include needed header
Brian Paul [Fri, 10 Oct 2008 22:29:54 +0000 (16:29 -0600)]
mesa: remove unneeded includes
Brian Paul [Fri, 10 Oct 2008 22:26:15 +0000 (16:26 -0600)]
mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861
Brian Paul [Fri, 10 Oct 2008 22:23:31 +0000 (16:23 -0600)]
mesa: rename macro params to emphasize that there's no particular color ordering
Brian Paul [Fri, 10 Oct 2008 22:21:52 +0000 (16:21 -0600)]
mesa: remove unneeded includes
Brian Paul [Fri, 10 Oct 2008 20:57:57 +0000 (14:57 -0600)]
cell: add emit_RI10s() which does range checking on the 10-bit signed immediate field
This type of checking should be expanded to cover more instructions...
Brian Paul [Fri, 10 Oct 2008 20:44:52 +0000 (14:44 -0600)]
cell: additional 'offset' checking in spe_lqd(), spe_stqd()
Brian Paul [Fri, 10 Oct 2008 20:35:56 +0000 (14:35 -0600)]
cell: fix assertions in spe_lqd(), spe_stqd()
Brian Paul [Fri, 10 Oct 2008 20:34:43 +0000 (14:34 -0600)]
cell: fix function prologue/epilogue code for large stack frames
The ai instruction is limited to a 10-bit signed immediate value.
Robert Ellison [Fri, 10 Oct 2008 20:13:13 +0000 (14:13 -0600)]
CELL: fixing stencil bugs
These are the defects found and fixed so far. Several more have
been observed; I'm working on them.
- Fixed an error in spe_load_uint() that caused incorrect values to be
loaded if the given unsigned value had the low 18 bits as 0,
and that caused inefficient code to be emitted if the given value
had the high 14 bits as 0.
- Fixed a problem in stencil code generation where optional registers
weren't tracked correctly.
- Fixed a problem that the stencil function NEVER was acting as ALWAYS.
- Fixed several problems that could occur if stenciling were enabled but
depth was disabled.
- Fixed a problem with two-sided stencil writemask handling that could
cause a stencil writemask to not be applied.
- Fixed several state permutations that were incorrectly flagged as
not requiring stencil values to be calculated.
Ian Romanick [Fri, 10 Oct 2008 18:47:43 +0000 (11:47 -0700)]
intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver
Brian Paul [Fri, 10 Oct 2008 18:38:27 +0000 (12:38 -0600)]
cell: call cell_flush_int() at end of cell_create_context()
Ensures that SPUs are initialized/ready before proceeding.
This fixes a spurious assertion failure when the SPU-side shader function info
hasn't been returned to the PPU before shader codegen.
Brian Paul [Fri, 10 Oct 2008 18:24:39 +0000 (12:24 -0600)]
cell: fix LERP when dst reg is a src reg
Also, bump up frame size and fix some assertions.
Brian Paul [Fri, 10 Oct 2008 18:04:49 +0000 (12:04 -0600)]
replace 1.0/sqrt() with inversesqrt()
Brian Paul [Fri, 10 Oct 2008 18:04:19 +0000 (12:04 -0600)]
cell: fix fm/fs copy & paste bug from a few commits ago
Brian Paul [Fri, 10 Oct 2008 17:56:03 +0000 (11:56 -0600)]
cell: fix bug in emit_FLR() when src reg == dst reg
Brian Paul [Fri, 10 Oct 2008 17:52:55 +0000 (11:52 -0600)]
cell: fix bug in emit_FRC() when src register == dst register.
With this fix, the glsl/brick demo runs.
Eric Anholt [Fri, 10 Oct 2008 16:43:15 +0000 (09:43 -0700)]
i965: Add missing intel_pixel_draw.c symlink to fix build.
Brian Paul [Fri, 10 Oct 2008 14:44:29 +0000 (08:44 -0600)]
cell: updates in response to draw's struct vertex_info changes
Keith Whitwell [Fri, 10 Oct 2008 14:26:28 +0000 (15:26 +0100)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
src/mesa/glapi/descrip.mms
src/mesa/shader/grammar/descrip.mms
Keith Whitwell [Fri, 10 Oct 2008 14:19:05 +0000 (15:19 +0100)]
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
src/gallium/auxiliary/gallivm/instructionssoa.cpp
src/gallium/auxiliary/gallivm/soabuiltins.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h
src/mesa/main/texenvprogram.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/prog_statevars.c
src/mesa/state_tracker/st_draw.c
src/mesa/vbo/vbo_exec_draw.c
Brian Paul [Fri, 10 Oct 2008 01:54:46 +0000 (19:54 -0600)]
cell: fix incorrect bitmask in spe_load_uint()
Brian Paul [Fri, 10 Oct 2008 01:50:57 +0000 (19:50 -0600)]
mesa: toggle colormask values with r/g/b keys in tri-mask-tri.c
Plus misc clean-up.
Brian Paul [Fri, 10 Oct 2008 01:48:53 +0000 (19:48 -0600)]
cell: implement basic TXP instruction in fragment shaders
Lots of restrictions for now (one 2D texture, no mipmaps, etc.) for now
but basic texture demos work.
TEX, TXD, TXP do the same thing for the time being.
Brian Paul [Fri, 10 Oct 2008 01:45:03 +0000 (19:45 -0600)]
mesa: simple multiple textures test
Brian Paul [Thu, 9 Oct 2008 16:56:25 +0000 (10:56 -0600)]
cell: better immediate value allocation, better comments
Brian Paul [Thu, 9 Oct 2008 14:52:31 +0000 (08:52 -0600)]
cell: massage the emit functions to get better instruction scheduling
Brian Paul [Thu, 9 Oct 2008 14:24:03 +0000 (08:24 -0600)]
cell: more accurate comments
Alan Hourihane [Fri, 10 Oct 2008 00:31:34 +0000 (01:31 +0100)]
gallium: silence warning
Brian Paul [Thu, 9 Oct 2008 22:39:59 +0000 (16:39 -0600)]
mesa: rasterizer state depends on ST_NEW_VERTEX_PROGRAM
Check for per-vertex point size must be done when vertex program changes.
Stephane Marchesin [Thu, 9 Oct 2008 21:32:01 +0000 (23:32 +0200)]
Gallivm: cleanup soa storage.
Eric Anholt [Thu, 9 Oct 2008 18:45:58 +0000 (11:45 -0700)]
i965: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
Eric Anholt [Thu, 9 Oct 2008 17:23:47 +0000 (10:23 -0700)]
i965: Actually hook up the accelerated DrawPixels support.
Eric Anholt [Thu, 9 Oct 2008 06:34:38 +0000 (23:34 -0700)]
i915: Accelerate depth textures with border color.
The fallback was introduced to fix bug #16697, but made the test it was
fixing run excessively long.
Brian Paul [Thu, 9 Oct 2008 02:44:32 +0000 (20:44 -0600)]
cell: implement function calls from shader code. fslight demo runs now.
Used for SIN, COS, EXP2, LOG2, POW instructions. TEX next.
Fixed some bugs in MIN, MAX, DP3, DP4, DPH instructions.
In rtasm code:
Special-case spe_lqd(), spe_stqd() functions so they take byte offsets but
low-order 4 bits are shifted out. This makes things consistant with SPU
assembly language conventions.
Added spe_get_registers_used() function.
Brian Paul [Thu, 9 Oct 2008 02:34:35 +0000 (20:34 -0600)]
cell: implement more built-in shader functions, link spu code with -lm
Brian Paul [Thu, 9 Oct 2008 02:33:24 +0000 (20:33 -0600)]
cell: increase SPU_MAX_FRAGMENT_PROGRAM_INSTS
Brian Paul [Wed, 8 Oct 2008 22:35:40 +0000 (16:35 -0600)]
gallium: asst. clean-ups
Don't use register qualifier. Doxygen-ize comments. Remove 'extern'.
Brian Paul [Wed, 8 Oct 2008 22:33:04 +0000 (16:33 -0600)]
gallium: better instruction printing for SPE code
Brian Paul [Wed, 8 Oct 2008 20:02:24 +0000 (14:02 -0600)]
mesa: in _mesa_combine_programs() take new STATE_CURRENT_ATTRIB color into account
Commit
1680ef869625dc1fe9cf481b180382a34e0738e7 changed the texenv program
to get color from a state register instead of a constant-valued vertex
attribute. This broke program concatenation (so glDraw/CopyPixels broke).
Now check if the second program get's color from a constant register and
handle that case appropriately.
Brian Paul [Wed, 8 Oct 2008 15:33:27 +0000 (09:33 -0600)]
mesa: vertex emit debug code (disabled)
Brian Paul [Wed, 8 Oct 2008 15:28:10 +0000 (09:28 -0600)]
mesa: fix vertex format/attribute bug
If the tnl output attributes matches the swsetup input attributes we still
need to check if the desired vertex color type (float vs. chan) has changed
so that we use the right emit functions.
Fixes a conformance failure found with logicop test at pathlevel 3.
Eric Anholt [Wed, 8 Oct 2008 01:47:31 +0000 (18:47 -0700)]
mesa: Pass the context to query object delete cb to avoid null dereference.
Eric Anholt [Tue, 7 Oct 2008 00:34:51 +0000 (17:34 -0700)]
i965: Add ARB_occlusion_query support.
Eric Anholt [Fri, 3 Oct 2008 23:20:00 +0000 (16:20 -0700)]
intel: Push flushing for cliprects changes down into the cliprects changes.
This lets us short-circuit when we're leaving the same cliprects in place,
which becomes quite common with metaops clears, and may be useful for some of
our FBO paths.
Xiang, Haihao [Wed, 8 Oct 2008 01:30:12 +0000 (09:30 +0800)]
i965: Fix a potential assertion failure.
Brian Paul [Tue, 7 Oct 2008 22:52:47 +0000 (16:52 -0600)]
mesa: pass 'mask', not NULL to renderbuffer->Put functions
Fixes bug 17800.
Brian Paul [Tue, 7 Oct 2008 22:24:43 +0000 (16:24 -0600)]
mesa: use the shaderutil.c helper functions
Brian Paul [Tue, 7 Oct 2008 22:14:27 +0000 (16:14 -0600)]
cell: add support for fragment shader constant buffers
Brian Paul [Tue, 7 Oct 2008 22:11:20 +0000 (16:11 -0600)]
cell: fix incorrect extended swizzle term code in get_src_reg()
Brian Paul [Tue, 7 Oct 2008 21:13:48 +0000 (15:13 -0600)]
cell: fix formatting
Brian Paul [Tue, 7 Oct 2008 20:58:05 +0000 (14:58 -0600)]
cell: remove old code
Stephane Marchesin [Tue, 7 Oct 2008 21:43:21 +0000 (23:43 +0200)]
Gallivm: reorder the functions alphabetically so I can work on it.
Stephane Marchesin [Tue, 7 Oct 2008 21:42:48 +0000 (23:42 +0200)]
Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
Stephane Marchesin [Tue, 7 Oct 2008 21:42:36 +0000 (23:42 +0200)]
Progs: hook the glsl identity example into the makefile.
Brian Paul [Tue, 7 Oct 2008 20:50:06 +0000 (14:50 -0600)]
cell: memset() key to zero
Brian Paul [Tue, 7 Oct 2008 20:34:08 +0000 (14:34 -0600)]
cell: use new keymap to save/re-use fragment ops code
Brian Paul [Tue, 7 Oct 2008 20:33:16 +0000 (14:33 -0600)]
gallium: added general-purpose key->data map/lookup container
Stephane Marchesin [Tue, 7 Oct 2008 19:28:38 +0000 (21:28 +0200)]
Mesa: fix the case where there are no vertex attributes.
This is a backport of
8e8208d6db8b764568539784a6473d545dec2265 to gallium-0.1
Stephane Marchesin [Tue, 7 Oct 2008 19:21:20 +0000 (21:21 +0200)]
Progs: add a trivial glsl test, useful for gallium driver bringup/debug.
Stephane Marchesin [Tue, 7 Oct 2008 19:13:49 +0000 (21:13 +0200)]
Gallivm: don't say hello, it's rude.
Stephane Marchesin [Tue, 7 Oct 2008 19:11:14 +0000 (21:11 +0200)]
Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
Stephane Marchesin [Tue, 7 Oct 2008 19:11:01 +0000 (21:11 +0200)]
Gallivm: fix the constant layout, this gets a bunch of progs/ working. Notably, gears doesn't.
Keith Whitwell [Tue, 7 Oct 2008 18:12:26 +0000 (19:12 +0100)]
trivial: add more vp tests
Brian Paul [Tue, 7 Oct 2008 17:22:47 +0000 (11:22 -0600)]
mesa: replace GLuint with GLbitfield to be clearer about usage
Also, fix up some comments to be doxygen style.
Keith Whitwell [Tue, 7 Oct 2008 15:44:24 +0000 (16:44 +0100)]
draw: don't assume output buffer pointer is aligned
Keith Whitwell [Tue, 7 Oct 2008 15:33:17 +0000 (16:33 +0100)]
mesa: update state after binding vertex list in dlist path
Keith Whitwell [Tue, 7 Oct 2008 12:09:05 +0000 (13:09 +0100)]
trivial: exercise vertprog sligtly
Keith Whitwell [Tue, 7 Oct 2008 11:31:31 +0000 (12:31 +0100)]
mesa: protect against segfault in get_fp_input_mask()
Keith Whitwell [Mon, 6 Oct 2008 11:22:55 +0000 (12:22 +0100)]
draw: add switch for drivers to force vertex data passthrough
Brian Paul [Tue, 7 Oct 2008 14:30:29 +0000 (08:30 -0600)]
mesa: remove old assertion
José Fonseca [Tue, 7 Oct 2008 05:25:09 +0000 (14:25 +0900)]
gallium: Introduce PIPE_ARCH_SSE define for SSE support.
Besides meaning x86 and x86-64 architecture, it also depends on SSE2
support enabled on gcc.
This fixes the linux-debug build.
Brian [Tue, 7 Oct 2008 00:31:56 +0000 (18:31 -0600)]
gallium: replace assertion with conditional/recovery code
The assertion failed when we ran out of exec memory.
Found with conform texcombine test.
Brian [Mon, 6 Oct 2008 23:10:45 +0000 (17:10 -0600)]
mesa: fix convolve/convolution mix-ups
Brian [Mon, 6 Oct 2008 23:10:22 +0000 (17:10 -0600)]
mesa: fix convolve/convolution mix-ups
Brian Paul [Mon, 6 Oct 2008 18:29:29 +0000 (12:29 -0600)]
mesa: set FRAG_BIT_FOGC bit in InputsUsed if FogOption!=GL_NONE
Stephane Marchesin [Mon, 6 Oct 2008 17:48:57 +0000 (19:48 +0200)]
Mesa: fix the case where there are no vertex attributes.