summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_state.cpp
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2017-08-17 09:46:59 +0200
committerwwylele <wwylele@gmail.com>2017-08-21 07:03:07 +0200
commit1eca380886b5028e027f1380c04f221ac94ed47d (patch)
tree2e6b15be4c3fa915f59c80f04395cad09859394c /src/video_core/renderer_opengl/gl_state.cpp
parentMerge pull request #2872 from wwylele/sw-geo-factor (diff)
downloadyuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar.gz
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar.bz2
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar.lz
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar.xz
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.tar.zst
yuzu-1eca380886b5028e027f1380c04f221ac94ed47d.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_state.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_state.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp
index bc9d34b84..06a905766 100644
--- a/src/video_core/renderer_opengl/gl_state.cpp
+++ b/src/video_core/renderer_opengl/gl_state.cpp
@@ -68,6 +68,8 @@ OpenGLState::OpenGLState() {
draw.vertex_buffer = 0;
draw.uniform_buffer = 0;
draw.shader_program = 0;
+
+ clip_distance = {};
}
void OpenGLState::Apply() const {
@@ -261,6 +263,17 @@ void OpenGLState::Apply() const {
glUseProgram(draw.shader_program);
}
+ // Clip distance
+ for (size_t i = 0; i < clip_distance.size(); ++i) {
+ if (clip_distance[i] != cur_state.clip_distance[i]) {
+ if (clip_distance[i]) {
+ glEnable(GL_CLIP_DISTANCE0 + i);
+ } else {
+ glDisable(GL_CLIP_DISTANCE0 + i);
+ }
+ }
+ }
+
cur_state = *this;
}