summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-12-25 19:46:04 -0300
committerGravatar ReinUsesLisp2020-02-28 16:47:59 -0300
commit925521da5fbc1096f56933eba1683b60c6c19b20 (patch)
tree2b83322e281fead062bd51f8563a70231e77802c /src
parentgl_state: Remove point size tracking (diff)
downloadyuzu-925521da5fbc1096f56933eba1683b60c6c19b20.tar.gz
yuzu-925521da5fbc1096f56933eba1683b60c6c19b20.tar.xz
yuzu-925521da5fbc1096f56933eba1683b60c6c19b20.zip
gl_state: Remove front face tracking
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_state.cpp4
-rw-r--r--src/video_core/renderer_opengl/gl_state.h1
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp4
4 files changed, 5 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index a0b0274fb..e9e9f9794 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -1025,7 +1025,7 @@ void RasterizerOpenGL::SyncCullMode() {
1025 state.cull.mode = MaxwellToGL::CullFace(regs.cull.cull_face); 1025 state.cull.mode = MaxwellToGL::CullFace(regs.cull.cull_face);
1026 } 1026 }
1027 1027
1028 state.cull.front_face = MaxwellToGL::FrontFace(regs.cull.front_face); 1028 glFrontFace(MaxwellToGL::FrontFace(regs.cull.front_face));
1029} 1029}
1030 1030
1031void RasterizerOpenGL::SyncPrimitiveRestart() { 1031void RasterizerOpenGL::SyncPrimitiveRestart() {
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp
index 02b3455cc..817676505 100644
--- a/src/video_core/renderer_opengl/gl_state.cpp
+++ b/src/video_core/renderer_opengl/gl_state.cpp
@@ -170,10 +170,6 @@ void OpenGLState::ApplyCulling() {
170 if (UpdateValue(cur_state.cull.mode, cull.mode)) { 170 if (UpdateValue(cur_state.cull.mode, cull.mode)) {
171 glCullFace(cull.mode); 171 glCullFace(cull.mode);
172 } 172 }
173
174 if (UpdateValue(cur_state.cull.front_face, cull.front_face)) {
175 glFrontFace(cull.front_face);
176 }
177} 173}
178 174
179void OpenGLState::ApplyRasterizerDiscard() { 175void OpenGLState::ApplyRasterizerDiscard() {
diff --git a/src/video_core/renderer_opengl/gl_state.h b/src/video_core/renderer_opengl/gl_state.h
index acd24c042..1b5fde23a 100644
--- a/src/video_core/renderer_opengl/gl_state.h
+++ b/src/video_core/renderer_opengl/gl_state.h
@@ -34,7 +34,6 @@ public:
34 struct { 34 struct {
35 bool enabled = false; // GL_CULL_FACE 35 bool enabled = false; // GL_CULL_FACE
36 GLenum mode = GL_BACK; // GL_CULL_FACE_MODE 36 GLenum mode = GL_BACK; // GL_CULL_FACE_MODE
37 GLenum front_face = GL_CCW; // GL_FRONT_FACE
38 } cull; 37 } cull;
39 38
40 struct { 39 struct {
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index f71e23f9e..311053695 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -571,6 +571,10 @@ void RendererOpenGL::DrawScreenTriangles(const ScreenInfo& screen_info, float x,
571 state.textures[0] = screen_info.display_texture; 571 state.textures[0] = screen_info.display_texture;
572 state.framebuffer_srgb.enabled = screen_info.display_srgb; 572 state.framebuffer_srgb.enabled = screen_info.display_srgb;
573 state.Apply(); 573 state.Apply();
574
575 // TODO: Signal state tracker about these changes
576 glFrontFace(GL_CW);
577
574 glNamedBufferSubData(vertex_buffer.handle, 0, sizeof(vertices), std::data(vertices)); 578 glNamedBufferSubData(vertex_buffer.handle, 0, sizeof(vertices), std::data(vertices));
575 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 579 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
576 // Restore default state 580 // Restore default state