diff options
author | Liam <byteslice@airmail.cc> | 2023-10-17 16:00:25 +0200 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-10-17 16:00:25 +0200 |
commit | d9dde7e6f3a90f58d642808900ddd558da21f762 (patch) | |
tree | ee63e7760efb66b738ef4981751d6fd9bbbbe9a8 /src/video_core/renderer_vulkan/renderer_vulkan.cpp | |
parent | Merge pull request #11788 from Squall-Leonhart/IFREMOVED (diff) | |
download | yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar.gz yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar.bz2 yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar.lz yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar.xz yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.tar.zst yuzu-d9dde7e6f3a90f58d642808900ddd558da21f762.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/renderer_vulkan.cpp')
-rw-r--r-- | src/video_core/renderer_vulkan/renderer_vulkan.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index c4c30d807..7e7a80740 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp @@ -132,12 +132,16 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { const bool use_accelerated = rasterizer.AccelerateDisplay(*framebuffer, framebuffer_addr, framebuffer->stride); const bool is_srgb = use_accelerated && screen_info.is_srgb; - RenderScreenshot(*framebuffer, use_accelerated); - Frame* frame = present_manager.GetRenderFrame(); - blit_screen.DrawToSwapchain(frame, *framebuffer, use_accelerated, is_srgb); - scheduler.Flush(*frame->render_ready); - present_manager.Present(frame); + { + std::scoped_lock lock{rasterizer.LockCaches()}; + RenderScreenshot(*framebuffer, use_accelerated); + + Frame* frame = present_manager.GetRenderFrame(); + blit_screen.DrawToSwapchain(frame, *framebuffer, use_accelerated, is_srgb); + scheduler.Flush(*frame->render_ready); + present_manager.Present(frame); + } gpu.RendererFrameEndNotify(); rasterizer.TickFrame(); |