diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2022-05-13 15:29:24 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-06-01 02:50:32 +0000 |
commit | d67a3ecc9a2e2baea58d0d1e57f7a5aad704d066 (patch) | |
tree | 323603ed23c1abbb1ca2021cd4ad0ec41ffd1c80 /src/mesa/state_tracker/st_cb_texture.c | |
parent | debb016d96f23defd80e6e23e5b2fb7e5b1d9ea4 (diff) |
st/texture: allow compute blits for (some) non-finalized textures
this yields sizable perf improvements in some cases
KHR-GL46.copy_image.functional timing (zink+anv-icl):
before
MESA_LOADER_DRIVER_OVERRIDE=zink ./glcts -n 74.77s user 76.44s system 33% cpu 7:32.38 total
after
MESA_LOADER_DRIVER_OVERRIDE=zink ./glcts -n 69.95s user 68.84s system 33% cpu 6:51.54 total
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16545>
Diffstat (limited to 'src/mesa/state_tracker/st_cb_texture.c')
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index f36800feb55..485a056acfc 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -2435,8 +2435,11 @@ st_GetTexSubImage(struct gl_context * ctx, goto non_blit_transfer; } + if (stImage->pt != stObj->pt) + goto non_blit_transfer; + /* Handle non-finalized textures. */ - if (!stImage->pt || stImage->pt != stObj->pt || !src) { + if (!stImage->pt || !src) { goto cpu_transfer; } |