Make individual image views per res scale

This commit is contained in:
PabloMK7 2026-01-24 16:03:38 +01:00
parent 6577ebb785
commit 8f034e05f1
2 changed files with 7 additions and 5 deletions

View File

@ -1323,8 +1323,10 @@ vk::ImageView Surface::ImageView(u32 index) const noexcept {
}
vk::ImageView Surface::FramebufferView() noexcept {
if (framebuffer_view) {
return framebuffer_view.get();
const u32 index = res_scale == 1 ? 0u : 1u;
if (framebuffer_view[index]) {
return framebuffer_view[index].get();
}
is_framebuffer = true;
@ -1341,8 +1343,8 @@ vk::ImageView Surface::FramebufferView() noexcept {
.layerCount = 1,
},
};
framebuffer_view = instance->GetDevice().createImageViewUnique(view_info);
return framebuffer_view.get();
framebuffer_view[index] = instance->GetDevice().createImageViewUnique(view_info);
return framebuffer_view[index].get();
}
vk::ImageView Surface::DepthView() noexcept {

View File

@ -204,7 +204,7 @@ public:
vk::UniqueImageView depth_view;
vk::UniqueImageView stencil_view;
vk::UniqueImageView storage_view;
vk::UniqueImageView framebuffer_view;
std::array<vk::UniqueImageView, 2> framebuffer_view{};
bool is_framebuffer{};
bool is_storage{};
};