[Mesa-dev] [PATCH] svga: improve check for 3D compressed textures
Jose Fonseca
jfonseca at vmware.com
Tue Nov 19 08:00:49 PST 2013
----- Original Message -----
> 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
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
More information about the mesa-dev
mailing list