summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Liam2022-04-04 10:04:10 -0400
committerGravatar Liam2022-04-04 10:19:40 -0400
commitcb913e5c02ab1ae004062308ef7ecf97419ad19a (patch)
tree74819d25401d7d6b22c5e8c46b340a6d03dd63ef
parentMerge pull request #8105 from merryhime/atomicload128 (diff)
downloadyuzu-cb913e5c02ab1ae004062308ef7ecf97419ad19a.tar.gz
yuzu-cb913e5c02ab1ae004062308ef7ecf97419ad19a.tar.xz
yuzu-cb913e5c02ab1ae004062308ef7ecf97419ad19a.zip
OpenGL: flip front faces if Z scale is inverted
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index e6f9ece8b..216139173 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -561,8 +561,9 @@ void RasterizerOpenGL::SyncViewport() {
561 flags[Dirty::FrontFace] = false; 561 flags[Dirty::FrontFace] = false;
562 562
563 GLenum mode = MaxwellToGL::FrontFace(regs.front_face); 563 GLenum mode = MaxwellToGL::FrontFace(regs.front_face);
564 if (regs.screen_y_control.triangle_rast_flip != 0 && 564 if ((regs.screen_y_control.triangle_rast_flip != 0 &&
565 regs.viewport_transform[0].scale_y < 0.0f) { 565 regs.viewport_transform[0].scale_y < 0.0f) ||
566 regs.viewport_transform[0].scale_z < 0.0f) {
566 switch (mode) { 567 switch (mode) {
567 case GL_CW: 568 case GL_CW:
568 mode = GL_CCW; 569 mode = GL_CCW;