summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2013-11-19 07:54:17 -0800
committerBrian Paul <[email protected]>2013-11-19 09:03:41 -0700
commit92c3d5acf766eee4a27250c2f9883204991b1647 (patch)
treeb190b7d245df823560b0dd17efe4b589791c1933
parent5ab59e5332215f149b532436c4d55834399d71e6 (diff)
svga: improve check for 3D compressed textures
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. Reviewed-by: Jose Fonseca <[email protected]>
-rw-r--r--src/gallium/drivers/svga/svga_screen.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c
index ebcad2cf141..c16be16a59f 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;
}