Module: Mesa Branch: master Commit: f47e5962885d9f7de23a8c9c9ba035017e24ffd6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f47e5962885d9f7de23a8c9c9ba035017e24ffd6
Author: Brian Paul <bri...@vmware.com> Date: Fri Feb 7 09:32:05 2014 -0700 st/mesa: avoid sw fallback for getting/decompressing textures 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-sta...@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.ol...@amd.com> --- 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; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit