u_transfer_helper: flush temporary transfer first for MSAA
authorVasily Khoruzhick <anarsoul@gmail.com>
Wed, 8 Jun 2022 05:18:12 +0000 (22:18 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 8 Jun 2022 19:48:02 +0000 (19:48 +0000)
commit2b001b57a08c9527e514aa829616de5ad7354162
treeb5a73f46fa2a96b1fba71d613043b4573d5ff497
parente6c1426166a1ad32a841340c9a3b1232ed3b626d
u_transfer_helper: flush temporary transfer first for MSAA

vtbl->transfer_map may return staging buffer and not real one and it
exposes a problem in MSAA resolve path, since u_transfer_helper does
blit from a resource that is still mapped and it's not flushed yet.

Add explicit flush_region() for a temporary transfer before doing flush
for MSAA resolve.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16923>
src/gallium/auxiliary/util/u_transfer_helper.c