[Mesa-dev] [PATCH] svga: improve check for 3D compressed textures

Brian Paul brianp at vmware.com
Tue Nov 19 07:58:52 PST 2013


This is basically a a respin of f1dfcf4bce35e6796f873d9a00103b280da81e4c
per Jose's suggestion.

Just set the SVGA3dSurfaceFormatCaps flags for 3D and cube textures
when checking the texture format capabilities.  This will filter out
unsupported combinations like 3D+DXT.
---
 src/gallium/drivers/svga/svga_screen.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c
index ebcad2c..c16be16 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -447,11 +447,6 @@ svga_is_format_supported( struct pipe_screen *screen,
       }
    }
    
-   if (target == PIPE_TEXTURE_3D && util_format_is_compressed(format)) {
-      /* we don't support compressed 3D textures at this time */
-      return FALSE;
-   }
-
    /*
     * Query the host capabilities.
     */
@@ -469,6 +464,13 @@ svga_is_format_supported( struct pipe_screen *screen,
       mask.texture = 1;
    }
 
+   if (target == PIPE_TEXTURE_CUBE) {
+      mask.cubeTexture = 1;
+   }
+   if (target == PIPE_TEXTURE_3D) {
+      mask.volumeTexture = 1;
+   }
+
    return (caps.value & mask.value) == mask.value;
 }
 
-- 
1.7.10.4



More information about the mesa-dev mailing list