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)
committerBrian Paul <brianp@vmware.com>
Fri, 4 Jan 2013 22:30:46 +0000 (15:30 -0700)
The Z32 pixel is 4 bytes so multiply x by 4, not 2.

Note: This is a candidate for the stable branches.

src/gallium/auxiliary/util/u_tile.c

index b3676de915c150158068ca5cc37c9f8f0ba5d967..6c618a674459a0b681a8d837012edb719958c2cd 100644 (file)
@@ -801,7 +801,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,
       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 */