r600g: don't call debug_get_bool_option for tiling more than once
authorKeith Whitwell <keithw@vmware.com>
Wed, 3 Nov 2010 10:31:55 +0000 (10:31 +0000)
committerKeith Whitwell <keithw@vmware.com>
Wed, 3 Nov 2010 10:55:22 +0000 (10:55 +0000)
src/gallium/drivers/r600/r600_texture.c

index c92f634004709ce0164c81bfc28c6931a336dddb..a63990fbffe9054340593b4256e4a68bc5e0afb5 100644 (file)
@@ -306,8 +306,14 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen,
                                                const struct pipe_resource *templ)
 {
        unsigned array_mode = 0;
+        static int force_tiling = -1;
 
-       if (debug_get_bool_option("R600_FORCE_TILING", FALSE)) {
+        /* Would like some magic "get_bool_option_once" routine.
+        */
+       if (force_tiling == -1)
+                force_tiling = debug_get_bool_option("R600_FORCE_TILING", FALSE);
+
+       if (force_tiling) {
                if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER) &&
                    !(templ->bind & PIPE_BIND_SCANOUT)) {
                        array_mode = V_038000_ARRAY_2D_TILED_THIN1;