cell: Correctly load stencil for PIPE_FORMAT_S8Z24_UNORM
authorIan Romanick <idr@us.ibm.com>
Tue, 18 Mar 2008 22:59:06 +0000 (15:59 -0700)
committerIan Romanick <idr@us.ibm.com>
Tue, 18 Mar 2008 23:00:49 +0000 (16:00 -0700)
src/gallium/drivers/cell/spu/spu_per_fragment_op.c

index 06d68f5604bba998fb34ed26aaea59060f82af48..b4cffeeb32a69c341701742b5af95ed291b134cb 100644 (file)
@@ -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;
    }