diff options
author | bunnei <bunneidev@gmail.com> | 2019-12-25 04:54:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-25 04:54:10 +0100 |
commit | 4af569ee47c2e537fa07f800219d5a57f1a7edd1 (patch) | |
tree | 33f3323d92a41b45621155f9ae4c170d7c765a91 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #3241 from ReinUsesLisp/gl-shader-cache (diff) | |
parent | gl_rasterizer: Implement RASTERIZE_ENABLE (diff) | |
download | yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar.gz yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar.bz2 yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar.lz yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar.xz yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.tar.zst yuzu-4af569ee47c2e537fa07f800219d5a57f1a7edd1.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index f20967d85..dbb08dd80 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -514,6 +514,7 @@ void RasterizerOpenGL::Clear() { ConfigureClearFramebuffer(clear_state, use_color, use_depth, use_stencil); SyncViewport(clear_state); + SyncRasterizeEnable(clear_state); if (regs.clear_flags.scissor) { SyncScissorTest(clear_state); } @@ -541,6 +542,7 @@ void RasterizerOpenGL::Clear() { void RasterizerOpenGL::DrawPrelude() { auto& gpu = system.GPU().Maxwell3D(); + SyncRasterizeEnable(state); SyncColorMask(); SyncFragmentColorClampState(); SyncMultiSampleState(); @@ -1133,6 +1135,11 @@ void RasterizerOpenGL::SyncStencilTestState() { } } +void RasterizerOpenGL::SyncRasterizeEnable(OpenGLState& current_state) { + const auto& regs = system.GPU().Maxwell3D().regs; + current_state.rasterizer_discard = regs.rasterize_enable == 0; +} + void RasterizerOpenGL::SyncColorMask() { auto& maxwell3d = system.GPU().Maxwell3D(); if (!maxwell3d.dirty.color_mask) { |