diff options
author | Brian Paul <brianp@vmware.com> | 2014-02-07 09:32:05 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2014-03-04 13:07:13 -0800 |
commit | 490b810d0ee385695aff7031b83785f01955f53a (patch) | |
tree | d5d8d5f19ba51b22345dd59b346e51cb0ac52542 | |
parent | d37086c6fc2b47703ee89fd2eaf94ad51dccf52e (diff) | |
download | mesa-490b810d0ee385695aff7031b83785f01955f53a.tar.gz |
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-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit f47e5962885d9f7de23a8c9c9ba035017e24ffd6)
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 43475eda23b..9f28e18ac66 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -867,7 +867,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; } |