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>
This commit is contained in:
Mike Blumenkrantz 2022-05-13 15:29:24 -04:00 committed by Marge Bot
parent debb016d96
commit d67a3ecc9a
1 changed files with 4 additions and 1 deletions

View File

@ -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;
}