Explorar o código

OpenGL: flip front faces if Z scale is inverted

Liam %!s(int64=4) %!d(string=hai) anos
pai
achega
cb913e5c02
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      src/video_core/renderer_opengl/gl_rasterizer.cpp

+ 3 - 2
src/video_core/renderer_opengl/gl_rasterizer.cpp

@@ -561,8 +561,9 @@ void RasterizerOpenGL::SyncViewport() {
         flags[Dirty::FrontFace] = false;
 
         GLenum mode = MaxwellToGL::FrontFace(regs.front_face);
-        if (regs.screen_y_control.triangle_rast_flip != 0 &&
-            regs.viewport_transform[0].scale_y < 0.0f) {
+        if ((regs.screen_y_control.triangle_rast_flip != 0 &&
+             regs.viewport_transform[0].scale_y < 0.0f) ||
+            regs.viewport_transform[0].scale_z < 0.0f) {
             switch (mode) {
             case GL_CW:
                 mode = GL_CCW;