util: fix addressing bug in pipe_put_tile_z() for PIPE_FORMAT_Z32_FLOAT
authorBrian Paul <brianp@vmware.com>
Thu, 3 Jan 2013 15:04:50 +0000 (08:04 -0700)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Wed, 13 Feb 2013 17:46:39 +0000 (18:46 +0100)
The Z32 pixel is 4 bytes so multiply x by 4, not 2.

Note: This is a candidate for the stable branches.
(cherry picked from commit 69c2528b8374156adc45c427faaa59cee88a6541)

src/gallium/auxiliary/util/u_tile.c

index 48e73c4..a1d55ad 100644 (file)
@@ -810,7 +810,7 @@ pipe_put_tile_z(struct pipe_context *pipe,
       break;
    case PIPE_FORMAT_Z32_FLOAT:
       {
-         float *pDest = (float *) (map + y * pt->stride + x*2);
+         float *pDest = (float *) (map + y * pt->stride + x*4);
          for (i = 0; i < h; i++) {
             for (j = 0; j < w; j++) {
                /* convert 32-bit integer Z to float Z */