zink: use VK_EXT_multisampled_render_to_single_sampled for EXT_multisample_render_to_...
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tue, 24 Jan 2023 17:43:21 +0000 (12:43 -0500)
committerMarge Bot <emma+marge@anholt.net>
Wed, 1 Feb 2023 10:08:57 +0000 (10:08 +0000)
commit03c2bdda60c089028e319372ed89d069be501efa
tree1cd95635fe7d4b8e3f9e9d99731a8ff3f1f7b165
parent78884602577c36fafea5dbbf12285bc5df3cca4c
zink: use VK_EXT_multisampled_render_to_single_sampled for EXT_multisample_render_to_texture

this extension was added for the purpose of emulating the GL ext,
and using it is reasonably straightforward

the only (somewhat) invasive part is modifying the renderpass/dynamic hashes
to have samplecounts in the key, but this is also not too much work

now only fbfetch requires real renderpasses, and everything else is dynamic

fixes #7559

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20883>
src/gallium/drivers/zink/zink_context.c
src/gallium/drivers/zink/zink_render_pass.c
src/gallium/drivers/zink/zink_resource.c
src/gallium/drivers/zink/zink_surface.c
src/gallium/drivers/zink/zink_types.h