diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2023-12-08 12:26:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-08 12:26:13 -0500 |
| commit | 52e6b8a2d3f64ad27bc6e82d7f157c7fef8a0aba (patch) | |
| tree | 5cdefc0295a05d37f63e30456bbed69e1656089f /src/video_core/renderer_vulkan/renderer_vulkan.cpp | |
| parent | 13131e602fd26614a88efa8bb16b2dc611866ebc (diff) | |
| parent | 6b7dc587cfa8745b6c8c454ec7eda03f71fea691 (diff) | |
Merge pull request #12274 from liamwhite/srgb-nonsense
renderer_vulkan: do not recreate swapchain for srgb
Diffstat (limited to 'src/video_core/renderer_vulkan/renderer_vulkan.cpp')
| -rw-r--r-- | src/video_core/renderer_vulkan/renderer_vulkan.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index c4c30d807..100b70918 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp @@ -94,7 +94,7 @@ RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_, device(CreateDevice(instance, dld, *surface)), memory_allocator(device), state_tracker(), scheduler(device, state_tracker), swapchain(*surface, device, scheduler, render_window.GetFramebufferLayout().width, - render_window.GetFramebufferLayout().height, false), + render_window.GetFramebufferLayout().height), present_manager(instance, render_window, device, memory_allocator, scheduler, swapchain, surface), blit_screen(cpu_memory, render_window, device, memory_allocator, swapchain, present_manager, @@ -131,11 +131,10 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { const VAddr framebuffer_addr = framebuffer->address + framebuffer->offset; 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); + blit_screen.DrawToSwapchain(frame, *framebuffer, use_accelerated); scheduler.Flush(*frame->render_ready); present_manager.Present(frame); @@ -205,7 +204,7 @@ void Vulkan::RendererVulkan::RenderScreenshot(const Tegra::FramebufferConfig& fr .flags = 0, .image = *staging_image, .viewType = VK_IMAGE_VIEW_TYPE_2D, - .format = screen_info.is_srgb ? VK_FORMAT_B8G8R8A8_SRGB : VK_FORMAT_B8G8R8A8_UNORM, + .format = VK_FORMAT_B8G8R8A8_UNORM, .components{ .r = VK_COMPONENT_SWIZZLE_IDENTITY, .g = VK_COMPONENT_SWIZZLE_IDENTITY, |
