浏览代码

Merge pull request #3470 from bunnei/fix-smash-srgb

renderer_opengl: Fix SRGB presentation frame tracking.
bunnei 6 年之前
父节点
当前提交
c7db1ef565

+ 2 - 2
src/video_core/renderer_opengl/renderer_opengl.cpp

@@ -353,9 +353,9 @@ void RendererOpenGL::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
 
 
         // Recreate the frame if the size of the window has changed
         // Recreate the frame if the size of the window has changed
         if (layout.width != frame->width || layout.height != frame->height ||
         if (layout.width != frame->width || layout.height != frame->height ||
-            is_srgb != frame->is_srgb) {
+            screen_info.display_srgb != frame->is_srgb) {
             LOG_DEBUG(Render_OpenGL, "Reloading render frame");
             LOG_DEBUG(Render_OpenGL, "Reloading render frame");
-            is_srgb = frame->is_srgb = screen_info.display_srgb;
+            frame->is_srgb = screen_info.display_srgb;
             frame_mailbox->ReloadRenderFrame(frame, layout.width, layout.height);
             frame_mailbox->ReloadRenderFrame(frame, layout.width, layout.height);
         }
         }
         state.draw.draw_framebuffer = frame->render.handle;
         state.draw.draw_framebuffer = frame->render.handle;

+ 0 - 3
src/video_core/renderer_opengl/renderer_opengl.h

@@ -111,9 +111,6 @@ private:
     Tegra::FramebufferConfig::TransformFlags framebuffer_transform_flags;
     Tegra::FramebufferConfig::TransformFlags framebuffer_transform_flags;
     Common::Rectangle<int> framebuffer_crop_rect;
     Common::Rectangle<int> framebuffer_crop_rect;
 
 
-    /// Represents if the final render frame is sRGB
-    bool is_srgb{};
-
     /// Frame presentation mailbox
     /// Frame presentation mailbox
     std::unique_ptr<FrameMailbox> frame_mailbox;
     std::unique_ptr<FrameMailbox> frame_mailbox;
 };
 };