broadcom/vc5: Always set up 1D textures as raster order.
authorEric Anholt <eric@anholt.net>
Tue, 24 Oct 2017 16:53:32 +0000 (09:53 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 30 Oct 2017 20:31:15 +0000 (13:31 -0700)
1D is the exception to "all V3D textures are tiled", since tiling 1D
textures would just waste memory and cache space.  This ended up being a
problem once we started actually marking 1D textures as 1D instead of 2D.

src/gallium/drivers/vc5/vc5_resource.c

index 42d58791f6c47760d4106f2d4453bb70d479efbd..45f94af034604c861a0094567906cc88bc98b352 100644 (file)
@@ -526,6 +526,11 @@ vc5_resource_create_with_modifiers(struct pipe_screen *pscreen,
         if (tmpl->bind & (PIPE_BIND_LINEAR | PIPE_BIND_CURSOR))
                 should_tile = false;
 
+        /* 1D and 1D_ARRAY textures are always raster-order. */
+        if (tmpl->target == PIPE_TEXTURE_1D ||
+            tmpl->target == PIPE_TEXTURE_1D_ARRAY)
+                should_tile = false;
+
         /* Scanout BOs for simulator need to be linear for interaction with
          * i965.
          */