Commit graph

22853 commits

Author SHA1 Message Date
Alan Hourihane
81c862205e Merge commit 'origin/master' into gallium-0.2
Conflicts:

	src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2008-11-01 22:57:26 +00:00
Brian Paul
bbffed0857 mesa: silence warnings 2008-11-01 16:05:40 -06:00
Brian Paul
b625a0a475 mesa: do scope replacement for while/for loops too
This fixes a function inlining bug involving vars declared inside loop bodies.
2008-11-01 16:05:40 -06:00
Brian Paul
3d0d803313 mesa: glsl tree print improvements 2008-11-01 16:05:40 -06:00
Brian Paul
1e1ba54a94 mesa: fix assignment / parameter passing of sampler types 2008-11-01 16:05:40 -06:00
Brian Paul
131d42573c mesa: additional debug flags for glsl debug/disassembly 2008-11-01 16:05:40 -06:00
Brian Paul
c7e98469fa mesa: silence warnings 2008-11-01 16:04:58 -06:00
Brian Paul
e9bc632d82 mesa: do scope replacement for while/for loops too
This fixes a function inlining bug involving vars declared inside loop bodies.
2008-11-01 16:03:03 -06:00
Brian Paul
58936b51af mesa: glsl tree print improvements 2008-11-01 16:02:56 -06:00
Brian Paul
90cdb8a4de mesa: fix assignment / parameter passing of sampler types 2008-11-01 16:02:32 -06:00
Brian Paul
b3cfcd326b mesa: additional debug flags for glsl debug/disassembly 2008-11-01 15:58:00 -06:00
Keith Packard
72c914805b Fix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1
Quoting section 11.3.10, paragraph 10.2 of the 965PRM:

10.2. 	If ExecSize is 1, dst.HorzStride must not be 0. Note that this is
	relaxed from rule 10.1.2. Also note that this rule for destination
	horizontal stride is different from that for source as stated in
	rule #7.

GM45 gets very angry when rule 10.2 is violated.

Patch 58dc8b7 (i965: support destination horiz strides in align1 access mode)
added support for additional horizontal strides in the ExecSize 1 case, but
failed to notice that mesa occasionally re-purposes a register as a
temporary destination, even though it was constructed as a repeating source
with HorzStride = 0.

While, ideally, we should probably fix the code using these register
specifications, this patch simply rewrites them to use HorzStride 1 as the
pre-58dc8b7 code did.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-01 14:38:19 -07:00
Brian Paul
fa139f8826 mesa: fix some bugs with precision qualifier parsing 2008-10-31 17:54:18 -06:00
Brian Paul
40217db75a mesa: do scope replacement for variable initializers too 2008-10-31 17:51:25 -06:00
Brian Paul
851dbaa5b5 mesa: fix copy/paste error in GLSL error msg 2008-10-31 17:51:16 -06:00
Brian Paul
06fe728e5b mesa: fix some bugs with precision qualifier parsing 2008-10-31 17:42:26 -06:00
Brian Paul
90711775d7 mesa: do scope replacement for variable initializers too 2008-10-31 17:42:26 -06:00
Brian Paul
89bca902b3 mesa: fix copy/paste error in GLSL error msg 2008-10-31 17:42:25 -06:00
Eric Anholt
69e10084cd intel: pixelzoom doesn't apply to glBitmap, so disable the fallback. 2008-10-31 16:04:50 -07:00
Eric Anholt
018088996a intel: Remove fallback for glDrawPixels(GL_COLOR_INDEX)
GL_COLOR_INDEX mode is just like other normal formats (that is, not
depth/stencil) and is uploaded fine by TexImage.
2008-10-31 16:04:50 -07:00
Eric Anholt
ed478a5fde intel: Add more fallback debugging for glDrawPixels. 2008-10-31 16:04:50 -07:00
Gary Wong
ab3e9c481f i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.
(Only in fragment shaders, so far.  Support for NOISE3 and NOISE4 to come.)
2008-10-31 17:37:26 -04:00
Gary Wong
58dc8b7db5 i965: support destination horiz strides in align1 access mode.
This is required for scatter writes in destination regions to work.
2008-10-31 17:34:32 -04:00
Robert Ellison
14e1505cce CELL: fix use of stencil value mask
The Cell stencil tests were completely ignoring the stencil value mask.
Now the original code paths are still used if the stencil value mask
is all 1s; but code to use the mask for the stencil value and reference
value comparisons is now emitted if the mask is not all 1s.
2008-10-30 21:31:36 -06:00
Xiang, Haihao
963071ffea mesa: fix a typo in the previous commit 2008-10-31 09:24:27 +08:00
Stephane Marchesin
b81a7dc2d8 gallivm: replace the temp parameters of the JIT function with alloca'ed temps. This avoids useless writes of temporary results. 2008-10-30 23:52:59 +01:00
Jonathan White
443e102fdc cell: Protected use of non-initialized untile buffers 2008-10-30 15:53:39 -06:00
Robert Ellison
711f8a1dd9 CELL: stencil bug fixes
Two definitive bugs in stenciling were fixed.

The first, reversed registers in the generated Select Bytes (selb)
instruction, caused the stenciling INCR and DECR operations to
fail dramatically, putting new values in where old values were
supposed to be and vice versa.

The second caused stencil tiles to not be read and written from
main memory by the SPUs.  A per-spu flag, spu.read_depth, was used
to indicate whether the SPU should be reading depth tiles, and was set
only when depth was enabled.  A second flag, spu.read_stencil, was
set when stenciling was enabled, but never referenced.

As stenciling and depth are in the same tiles on the Cell, and there
is no corresponding TAG_WRITE_TILE_STENCIL to complement
TAG_WRITE_TILE_COLOR and TAG_WRITE_TILE_Z, I fixed this by
eliminating the unused "spu.read_stencil", renaming "spu.read_depth"
to "spu.read_depth_stencil", and setting it if either stenciling or
depth is enabled.

I also added an optimization to the fragment ops generation code,
that avoids calculating stencil values and/or stencil writemask
when the stencil operations are all KEEP.
2008-10-30 15:24:52 -06:00
Jonathan White
157ddc1418 cell: Added check for PIPE_FLUSH_RENDER_CACHE to cell_flush to fix black blocks during st_readpixels due to a flush wait not happening in order to allow any previous rendering to complete. 2008-10-30 11:22:38 -06:00
Xiang, Haihao
bccc09e6bf mesa: fix an issue in _mesa_PointParameterfv(). 2008-10-30 10:40:51 +08:00
Brian Paul
766cb95a45 gallium: new sanity assertions in mmAllocMem() 2008-10-29 17:02:56 -06:00
Brian Paul
7d7f0f1706 gallium: fix copy&paste bug 2008-10-29 17:02:30 -06:00
Brian Paul
f952aac1da gallium: grow SPE instruction buffer as needed 2008-10-29 16:56:28 -06:00
Brian Paul
725ba94ce5 gallium: no longer pass max_inst to ppc_init_func() 2008-10-29 16:35:59 -06:00
Brian Paul
a5d920297a gallium: use execmem for PPC code, grow instruction buffer as needed 2008-10-29 16:26:10 -06:00
Brian Paul
239ce2240a glx: added PFNGL*PROC typedefs for GLX 1.3 functions
Since we define GLX_VERSION_1_3 in glx.h, the typedefs in the glxext.h header
were getting skipped.
2008-10-29 15:49:19 -06:00
Brian Paul
8160cb4935 gallium: fix alignment parameter passed to u_mmAllocMem()
Was 32, now 5.  The param is expressed as a power of two exponent.
The net effect is that the alignment was a no-op on X86 but on PPC we
always got the same memory address everytime rtasm_exec_malloc() was called.
2008-10-29 14:55:57 -06:00
Brian Paul
8828d52348 gallium: fix alignment parameter passed to u_mmAllocMem()
Was 32, now 5.  The param is expressed as a power of two exponent.
The net effect is that the alignment was a no-op on X86 but on PPC we
always got the same memory address everytime rtasm_exec_malloc() was called.
2008-10-29 14:52:35 -06:00
Brian Paul
3ad56968f0 gallium: prefix memory manager functions with u_ to differentiate from functions in mesa/main/mm.c 2008-10-29 14:19:12 -06:00
Brian Paul
09570d2e73 gallium: test for PIPE_OS_LINUX instead of __linux__ 2008-10-29 14:08:13 -06:00
Brian Paul
1f7a323a13 cell: add scalar param to emit_function_call() to indicate scalar function calls
Scalar calls only use the X component of the src regs and smear the
result across the dest register's X/Y/Z/W.
2008-10-29 12:14:11 -06:00
Brian Paul
8b3af5c5d6 cell: use simd utilities for pow, exp2, log2 2008-10-29 12:12:30 -06:00
Brian Paul
4e1c33700d gallium: added PPC support for SWZ, XPD, POW
That's the last of the ARB_v_p opcodes, except for ARL.
2008-10-29 11:05:34 -06:00
Brian Paul
75b92764a7 gallium: clean-ups 2008-10-29 11:04:05 -06:00
Brian Paul
7640264064 gallium: added ppc_vnmsubfp() 2008-10-29 11:03:51 -06:00
Nigel Stewart
cd1283f515 glu: fix compilation problem when using Windows gl.h (sf bug 2204589) 2008-10-29 09:23:48 -06:00
Ben Skeggs
92674bc888 nv40: rename some vars in texture layout code 2008-10-29 18:12:48 +11:00
Eric Anholt
26c1c04fd0 intel: Fix glDrawPixels with 4d RasterPos. 2008-10-28 22:52:38 -07:00
Eric Anholt
59b2c2adbb i965: Fix check_aperture calls to cover everything needed for the prim at once.
Previously, since my check_aperture API change, we would check each piece of
state against the batchbuffer individually, but not all the state against the
batchbuffer at once.  In addition to not being terribly useful in assuring
success, it probably also increased CPU load by calling check_aperture many
times per primitive.
2008-10-28 22:52:38 -07:00
Brian Paul
54d684f23d move glut.h include 2008-10-28 19:01:38 -06:00