mesa/progs
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
..
beos Remove CVS keywords. 2008-09-21 11:00:44 -07:00
demos mesa: more test options in progs/demos/textures.c 2008-10-20 17:43:05 -06:00
directfb Ignore more generated files in progs/ 2008-05-20 19:04:57 -04:00
egl link EGL demos with -lGL 2008-09-26 11:20:20 +01:00
fbdev Merge branch 'gallium-0.1' into gallium-0.2 2008-09-11 16:05:15 +01:00
fp Merge commit 'origin/gallium-0.1' into gallium-0.2 2008-09-21 12:22:21 -07:00
ggi Remove CVS keywords. 2008-09-21 11:00:44 -07:00
glsl mesa: don't continually redraw 2008-10-28 18:18:31 -06:00
images new test image - Delicate Arch, Utah 2006-05-10 22:44:26 +00:00
miniglx Remove CVS keywords. 2008-09-21 11:00:44 -07:00
osdemos minor changes 2008-06-05 15:37:17 -06:00
redbook Merge commit 'origin/gallium-0.1' into gallium-0.2 2008-09-11 18:32:05 +01:00
samples Merge commit 'origin/gallium-0.1' into gallium-0.2 2008-09-11 18:32:05 +01:00
slang Merge branch 'gallium-0.1' into gallium-0.2 2008-09-11 16:05:15 +01:00
tests Merge commit 'origin/gallium-0.1' into gallium-0.2 2008-09-21 12:22:21 -07:00
tools/trace fix gltrace (bug 16691) 2008-07-14 08:50:36 -06:00
trivial CELL: stencil bug fixes 2008-10-30 15:24:52 -06:00
util Remove CVS keywords. 2008-09-21 11:00:44 -07:00
vp move glut.h include 2008-10-28 19:01:38 -06:00
vpglsl mesa: Update ignores a bit 2008-09-19 12:43:47 +02:00
windml Remove CVS keywords. 2008-09-21 11:00:44 -07:00
xdemos Merge commit 'origin/master' into gallium-0.2 2008-10-27 15:37:22 +00:00
Makefile Never fail `make clean' 2008-05-07 11:35:23 -07:00