intel-gem: Fix y-tile swizzling for our G965 with swizzle_mode=1.

Apparently in Y mode we get bit 6 ^ bit 9.  The reflect demo in 'd' mode now
displays correctly.
This commit is contained in:
Eric Anholt
2008-07-02 10:21:44 -07:00
parent 19f585a3cf
commit 4b3ed4d2d1

View File

@@ -183,6 +183,16 @@ static GLubyte *y_tile_swizzle(struct intel_renderbuffer *irb, struct intel_cont
tile_off = ((x_tile_off & ~0xf) << 5) + (y_tile_off << 4) +
(x_tile_off & 0xf);
switch (intel->tiling_swizzle_mode) {
case 0:
break;
case 1:
tile_off ^= (tile_off >> 3) & 64;
break;
case 2:
break;
}
tile_base = (x_tile_number << 12) + y_tile_number * tile_stride;
return buf + tile_base + tile_off;