cell: fix bug in texture tiling function (non-square textures work now)
authorBrian <brian.paul@tungstengraphics.com>
Tue, 1 Apr 2008 20:52:04 +0000 (14:52 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 1 Apr 2008 20:52:04 +0000 (14:52 -0600)
src/gallium/drivers/cell/ppu/cell_texture.c

index c59d1f7..07717da 100644 (file)
@@ -186,15 +186,17 @@ tile_copy_data(uint w, uint h, uint tile_size, uint *dst, const uint *src)
    uint it, jt;  /* tile counters */
    uint i, j;    /* intra-tile counters */
 
+   /* loop over dest tiles */
    for (it = 0; it < h_t; it++) {
       for (jt = 0; jt < w_t; jt++) {
-         /* fill in tile (i, j) */
+         /* start of dest tile: */
          uint *tdst = dst + (it * w_t + jt) * tile_size2;
+         /* loop over texels in the tile */
          for (i = 0; i < tile_size; i++) {
             for (j = 0; j < tile_size; j++) {
                const uint srci = it * tile_size + i;
                const uint srcj = jt * tile_size + j;
-               *tdst++ = src[srci * h + srcj];
+               *tdst++ = src[srci * w + srcj];
             }
          }
       }