diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-12-30 00:53:53 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-02-28 17:56:42 -0300 |
| commit | 13afd0e5b0a5e84f2a979515185ece5b54d3fed4 (patch) | |
| tree | 5ba4ca0ea6ff81a9e82adb40978752c7aeaa18fd /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
| parent | d8f5c450516c3956b422f0487293ea02620a3518 (diff) | |
gl_state_tracker: Implement dirty flags for sRGB
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index a650113ca..47ad834aa 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -1301,8 +1301,14 @@ void RasterizerOpenGL::SyncAlphaTest() { } void RasterizerOpenGL::SyncFramebufferSRGB() { - const auto& regs = system.GPU().Maxwell3D().regs; - oglEnable(GL_FRAMEBUFFER_SRGB, regs.framebuffer_srgb); + auto& gpu = system.GPU().Maxwell3D(); + auto& flags = gpu.dirty.flags; + if (!flags[Dirty::FramebufferSRGB]) { + return; + } + flags[Dirty::FramebufferSRGB] = false; + + oglEnable(GL_FRAMEBUFFER_SRGB, gpu.regs.framebuffer_srgb); } } // namespace OpenGL |
