summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2008-03-18 15:59:06 -0700
committerIan Romanick <[email protected]>2008-03-18 16:00:49 -0700
commitfa69a6e1bb7a1fe96848456255e5370f1904706d (patch)
tree724037f24c78ed06651a8d19754d040f994ecd79 /src/gallium
parent35a1ec53a7728311de22124c14b93dbbdee2ce90 (diff)
cell: Correctly load stencil for PIPE_FORMAT_S8Z24_UNORM
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/cell/spu/spu_per_fragment_op.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/cell/spu/spu_per_fragment_op.c b/src/gallium/drivers/cell/spu/spu_per_fragment_op.c
index 06d68f5604b..b4cffeeb32a 100644
--- a/src/gallium/drivers/cell/spu/spu_per_fragment_op.c
+++ b/src/gallium/drivers/cell/spu/spu_per_fragment_op.c
@@ -87,10 +87,9 @@ read_ds_quad(tile_t *buffer, unsigned x, unsigned y,
case PIPE_FORMAT_S8Z24_UNORM: {
qword *ptr = (qword *) &buffer->ui4[iy][ix];
- qword mask = si_fsmbi(0x7777);
- *depth = si_and(*ptr, mask);
- *stencil = si_rotmai(si_andc(*ptr, mask), -24);
+ *depth = si_and(*ptr, si_fsmbi(0x7777));
+ *stencil = si_andi(si_roti(*ptr, 8), 0x0ff);
break;
}