summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-12-25 04:54:10 +0100
committerGitHub <noreply@github.com>2019-12-25 04:54:10 +0100
commit4af569ee47c2e537fa07f800219d5a57f1a7edd1 (patch)
tree33f3323d92a41b45621155f9ae4c170d7c765a91 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentMerge pull request #3241 from ReinUsesLisp/gl-shader-cache (diff)
parentgl_rasterizer: Implement RASTERIZE_ENABLE (diff)
downloadyuzu-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.cpp7
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) {