yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

Vulkan: Only recreate swapchain if the frame is bigger than the swap image.

This commit is contained in:
Fernando Sahmkow 2023-12-31 21:00:23 +01:00
parent d07397931a
commit 737e6e531c
2 changed files with 3 additions and 2 deletions

View File

@ -683,7 +683,8 @@ public:
} else { } else {
this->m_memory.WriteBlockUnsafe(this->m_addr, this->data(), this->size_bytes()); this->m_memory.WriteBlockUnsafe(this->m_addr, this->data(), this->size_bytes());
} }
} else if constexpr ((FLAGS & GuestMemoryFlags::Safe) || (FLAGS & GuestMemoryFlags::Cached)) { } else if constexpr ((FLAGS & GuestMemoryFlags::Safe) ||
(FLAGS & GuestMemoryFlags::Cached)) {
this->m_memory.InvalidateRegion(this->m_addr, this->size_bytes()); this->m_memory.InvalidateRegion(this->m_addr, this->size_bytes());
} }
} }

View File

@ -329,7 +329,7 @@ void PresentManager::CopyToSwapchainImpl(Frame* frame) {
// to account for that. // to account for that.
const bool is_suboptimal = swapchain.NeedsRecreation(); const bool is_suboptimal = swapchain.NeedsRecreation();
const bool size_changed = const bool size_changed =
swapchain.GetWidth() != frame->width || swapchain.GetHeight() != frame->height; swapchain.GetWidth() < frame->width || swapchain.GetHeight() < frame->height;
if (is_suboptimal || size_changed) { if (is_suboptimal || size_changed) {
RecreateSwapchain(frame); RecreateSwapchain(frame);
} }