[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