From d67a3ecc9a2e2baea58d0d1e57f7a5aad704d066 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 13 May 2022 15:29:24 -0400 Subject: [PATCH] st/texture: allow compute blits for (some) non-finalized textures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Part-of: --- src/mesa/state_tracker/st_cb_texture.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; }