diff options
author | Brian Paul <[email protected]> | 2013-11-19 07:54:17 -0800 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-11-19 09:03:41 -0700 |
commit | 92c3d5acf766eee4a27250c2f9883204991b1647 (patch) | |
tree | b190b7d245df823560b0dd17efe4b589791c1933 /src/gallium/drivers/svga/svga_screen.c | |
parent | 5ab59e5332215f149b532436c4d55834399d71e6 (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]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_screen.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_screen.c | 12 |
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; } |