diff options
author | Ian Romanick <[email protected]> | 2008-03-18 15:59:06 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2008-03-18 16:00:49 -0700 |
commit | fa69a6e1bb7a1fe96848456255e5370f1904706d (patch) | |
tree | 724037f24c78ed06651a8d19754d040f994ecd79 /src/gallium | |
parent | 35a1ec53a7728311de22124c14b93dbbdee2ce90 (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.c | 5 |
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; } |