v3dv: always store/restore attachment state during meta operations
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 14 Dec 2022 09:03:38 +0000 (10:03 +0100)
committerEric Engestrom <eric@engestrom.ch>
Thu, 29 Dec 2022 19:25:29 +0000 (19:25 +0000)
commit02b95befed8daa320a2b22d09823ad3ef9070537
treee694e2d01f050ce5fdedfb41b79515ea95251dc3
parent9c1899e93ff320da50430ba8122b0238eb406ee4
v3dv: always store/restore attachment state during meta operations

attachment state is only relevant during render passes, however,
there is a corner case: if we can't resolve an attachment in a
subpass using the hardware, we emit a manual image resolve in the
driver which can trigger a meta operation via blit. In this case,
we pretend we are not in a render pass (since vulkan disallows
blits/resolves in a render pass) but we really want to keep the
attachment state after the meta operation.

Fixes some of the issues we have with CTS 1.3.4 in:
dEQP-VK.pipeline.monolithic.multisample.misc.*

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20331>
(cherry picked from commit 6117f855ee700e7addc14be64b8370f9b91a2120)
.pick_status.json
src/broadcom/vulkan/v3dv_cmd_buffer.c