renderer_vulkan: Fix multisample ClearTextureWithRenderpass

Ensure that the multisample framebuffer is used rather than the usual one when using a render pass to clear the textures.

That way, a MSAA-render AND resolve is used to clear the textures at the same time.
This commit is contained in:
Wunkolo 2026-04-28 23:31:40 -07:00
parent 3593a15046
commit f233eb522c

View file

@ -425,8 +425,11 @@ void TextureRuntime::ClearTextureWithRenderpass(Surface& surface,
.src_image = surface.Image(),
};
scheduler.Record([params, is_color, clear, render_pass,
framebuffer = surface.Framebuffer()](vk::CommandBuffer cmdbuf) {
// Ensure we get the MSAA framebuffer if we are are doing an MSAA texture
const vk::Framebuffer framebuffer =
surface.Framebuffer((surface.GetSampleCount() > 1) ? Type::MultiSampled : Type::Current);
scheduler.Record([params, is_color, clear, render_pass, framebuffer](vk::CommandBuffer cmdbuf) {
const vk::AccessFlags access_flag =
is_color ? vk::AccessFlagBits::eColorAttachmentRead |
vk::AccessFlagBits::eColorAttachmentWrite