renderer_vulkan: Fix multisample framebuffer creation

MSAA renderpasses require the "current" image as the main resolve target, and the MSAA image as the second attachment.
This commit is contained in:
Wunkolo 2026-04-28 23:32:53 -07:00
parent 5960b60d88
commit 0f8ffa6e66

View file

@ -1465,7 +1465,7 @@ vk::ImageView Surface::ImageView(ViewType view_type, Type type) noexcept {
}
vk::Framebuffer Surface::Framebuffer(Type type) noexcept {
type = Type::Current ? current : type;
type = (type == Type::Current) ? current : type;
auto& handle = handles[type];
if (handle.framebuffer) {
return handle.framebuffer;
@ -1479,7 +1479,7 @@ vk::Framebuffer Surface::Framebuffer(Type type) noexcept {
boost::container::small_vector<vk::ImageView, 2> image_views;
if (sample_count > 1) {
// Main surface + MSAA surface
image_views.emplace_back(ImageView(ViewType::Mip0, type));
image_views.emplace_back(ImageView(ViewType::Mip0, current));
image_views.emplace_back(ImageView(ViewType::Mip0, Type::MultiSampled));
} else {
image_views.emplace_back(ImageView(ViewType::Mip0, type));