[Mesa-dev] [PATCH] st/mesa: avoid sw fallback for getting/decompressing textures

Roland Scheidegger sroland at vmware.com
Fri Feb 7 11:56:16 PST 2014


Am 07.02.2014 17:39, schrieb Brian Paul:
> If st_GetTexImage() is to decompress the texture, avoid the fallback
> path even if prefer_blit_based_texture_transfer = false.  For drivers
> that returned PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER = 0, we
> were always taking the fallback path for texture decompression rather
> than rendering a quad.  The later is a lot faster.
> 
> Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
> ---
>  src/mesa/state_tracker/st_cb_texture.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
> index 824a13e..f0bf374 100644
> --- a/src/mesa/state_tracker/st_cb_texture.c
> +++ b/src/mesa/state_tracker/st_cb_texture.c
> @@ -865,7 +865,9 @@ st_GetTexImage(struct gl_context * ctx,
>     ubyte *map = NULL;
>     boolean done = FALSE;
>  
> -   if (!st->prefer_blit_based_texture_transfer) {
> +   if (!st->prefer_blit_based_texture_transfer &&
> +       !_mesa_is_format_compressed(texImage->TexFormat)) {
> +      /* Try to avoid the fallback if we're doing texture decompression here */
>        goto fallback;
>     }
>  
> 

Reviewed-by: Roland Scheidegger <sroland at vmware.com>


More information about the mesa-dev mailing list