summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-02-27 03:47:57 -0300
committerGravatar ReinUsesLisp2019-04-10 18:13:15 -0300
commit6df25e9c7bec36d05f46ee7dd76e33df233e5682 (patch)
treec59747fb2eaae50d1b16c54ce56f4b724bba8cf2
parentMerge pull request #2345 from ReinUsesLisp/multibind (diff)
downloadyuzu-6df25e9c7bec36d05f46ee7dd76e33df233e5682.tar.gz
yuzu-6df25e9c7bec36d05f46ee7dd76e33df233e5682.tar.xz
yuzu-6df25e9c7bec36d05f46ee7dd76e33df233e5682.zip
gl_rasterizer: Apply just the needed state on Clear
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index d250d5cbb..8cc21aa49 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -582,9 +582,6 @@ std::pair<bool, bool> RasterizerOpenGL::ConfigureFramebuffers(
582} 582}
583 583
584void RasterizerOpenGL::Clear() { 584void RasterizerOpenGL::Clear() {
585 const auto prev_state{state};
586 SCOPE_EXIT({ prev_state.Apply(); });
587
588 const auto& regs = system.GPU().Maxwell3D().regs; 585 const auto& regs = system.GPU().Maxwell3D().regs;
589 bool use_color{}; 586 bool use_color{};
590 bool use_depth{}; 587 bool use_depth{};
@@ -656,7 +653,10 @@ void RasterizerOpenGL::Clear() {
656 clear_state.EmulateViewportWithScissor(); 653 clear_state.EmulateViewportWithScissor();
657 } 654 }
658 655
659 clear_state.Apply(); 656 clear_state.ApplyColorMask();
657 clear_state.ApplyDepth();
658 clear_state.ApplyStencilTest();
659 clear_state.ApplyViewport();
660 660
661 if (use_color) { 661 if (use_color) {
662 glClearBufferfv(GL_COLOR, regs.clear_buffers.RT, regs.clear_color); 662 glClearBufferfv(GL_COLOR, regs.clear_buffers.RT, regs.clear_color);