summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorRodolfo Bogado <rodolfoosvaldobogado@gmail.com>2018-11-27 00:45:21 +0100
committerRodolfo Bogado <rodolfoosvaldobogado@gmail.com>2018-11-27 00:45:21 +0100
commit8e971f5062023e6710bcfe66d9ca740498ff4b97 (patch)
tree3918c554f9c17739df2caf7587f07b31b200b657 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentMerge pull request #1794 from Tinob/master (diff)
downloadyuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar.gz
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar.bz2
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar.lz
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar.xz
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.tar.zst
yuzu-8e971f5062023e6710bcfe66d9ca740498ff4b97.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 98fb5a9aa..edb285a66 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -628,6 +628,7 @@ void RasterizerOpenGL::DrawArrays() {
SyncCullMode();
SyncPrimitiveRestart();
SyncScissorTest(state);
+ SyncClipEnabled();
// Alpha Testing is synced on shaders.
SyncTransformFeedback();
SyncPointState();
@@ -1010,7 +1011,15 @@ void RasterizerOpenGL::SyncViewport(OpenGLState& current_state) {
}
void RasterizerOpenGL::SyncClipEnabled() {
- UNREACHABLE();
+ const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs;
+ state.clip_distance[0] = regs.clip_distance_enabled.c0 != 0;
+ state.clip_distance[1] = regs.clip_distance_enabled.c1 != 0;
+ state.clip_distance[2] = regs.clip_distance_enabled.c2 != 0;
+ state.clip_distance[3] = regs.clip_distance_enabled.c3 != 0;
+ state.clip_distance[4] = regs.clip_distance_enabled.c4 != 0;
+ state.clip_distance[5] = regs.clip_distance_enabled.c5 != 0;
+ state.clip_distance[6] = regs.clip_distance_enabled.c6 != 0;
+ state.clip_distance[7] = regs.clip_distance_enabled.c7 != 0;
}
void RasterizerOpenGL::SyncClipCoef() {