r600g: add texture tiling enable under a debug option.
authorDave Airlie <airlied@redhat.com>
Thu, 21 Oct 2010 03:40:45 +0000 (13:40 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 21 Oct 2010 03:40:45 +0000 (13:40 +1000)
At the moment you need kernel patches to have texture tiling work
with the kernel CS checker, so once they are upstream and the drm version
is bumped we can make this enable flip the other way most likely.

src/gallium/drivers/r600/r600_texture.c

index d7ac74c0f19835edb0fd98a82c16f918e4166776..4ebd5b754b31434f60efee50233c55dd1d83154f 100644 (file)
@@ -307,6 +307,13 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen,
 {
        unsigned array_mode = 0;
 
+       if (debug_get_bool_option("R600_FORCE_TILING", FALSE)) {
+               if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER) &&
+                   !(templ->bind & PIPE_BIND_SCANOUT)) {
+                       array_mode = V_038000_ARRAY_2D_TILED_THIN1;
+               }
+       }
+
        return (struct pipe_resource *)r600_texture_create_object(screen, templ, array_mode,
                                                                  0, 0, NULL);