mesa: merge stencil values into depth values for MESA_FORMAT_S8_Z24
authorXiang, Haihao <haihao.xiang@intel.com>
Thu, 4 Sep 2008 03:32:52 +0000 (11:32 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 4 Sep 2008 03:45:25 +0000 (11:45 +0800)
Cherry-picked from master

src/mesa/main/texstore.c

index e821d9f367fba6cc70f19fa9d777a751ca7ef186..0fd6a2daae2f4937efd9a738b029186138e40b0a 100644 (file)
@@ -2522,7 +2522,7 @@ _mesa_texstore_s8_z24(TEXSTORE_PARAMS)
          for (row = 0; row < srcHeight; row++) {
             GLubyte stencil[MAX_WIDTH];
             GLint i;
-            /* the 24 depth bits will be in the high position: */
+            /* the 24 depth bits will be in the low position: */
             _mesa_unpack_depth_span(ctx, srcWidth,
                                     GL_UNSIGNED_INT, /* dst type */
                                     dstRow, /* dst addr */
@@ -2536,7 +2536,7 @@ _mesa_texstore_s8_z24(TEXSTORE_PARAMS)
                                       ctx->_ImageTransferState);
             /* merge stencil values into depth values */
             for (i = 0; i < srcWidth; i++)
-               dstRow[i] = stencil[i] << 24;
+               dstRow[i] |= stencil[i] << 24;
 
             src += srcRowStride;
             dstRow += dstRowStride / sizeof(GLuint);