diff options
| author | 2019-02-27 03:47:57 -0300 | |
|---|---|---|
| committer | 2019-04-10 18:13:15 -0300 | |
| commit | 6df25e9c7bec36d05f46ee7dd76e33df233e5682 (patch) | |
| tree | c59747fb2eaae50d1b16c54ce56f4b724bba8cf2 | |
| parent | Merge pull request #2345 from ReinUsesLisp/multibind (diff) | |
| download | yuzu-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.cpp | 8 |
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 | ||
| 584 | void RasterizerOpenGL::Clear() { | 584 | void 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); |