turnip: add layered 3D path clear for CmdClearAttachments
authorJonathan Marek <jonathan@marek.ca>
Thu, 11 Jun 2020 13:34:28 +0000 (09:34 -0400)
committerMarge Bot <eric+marge@anholt.net>
Fri, 12 Jun 2020 15:09:07 +0000 (15:09 +0000)
commit72d7df40a5e5b50330c4d4168aa681bae2b61b22
tree5bb9f6c9fc9f57924165b7694b69299effc0d296
parent093c4137224a59536af9e8062f5c98c2dc136ba1
turnip: add layered 3D path clear for CmdClearAttachments

This fixes cases where the 3D path is used with layered rendering.

Fixes dEQP-VK.renderpass.suballocation.multisample_resolve.layers* failures

Note the blob's 3D fallback path behaves differently, and uses the
framebuffer information to clear each layer individually (changing the MRT
state each time). But that's not possible in all cases, and the blob fails
to clear properly in dEQP-VK.geometry.layered.*.secondary_cmd_buffer cases.
So this clear path is not based on the blob's behavior.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426>
.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt
.gitlab-ci/deqp-freedreno-a630-fails.txt
src/freedreno/vulkan/tu_clear_blit.c
src/freedreno/vulkan/tu_pipeline.c