瀏覽代碼

OpenGL: flip front faces if Z scale is inverted

Liam 4 年之前
父節點
當前提交
cb913e5c02
共有 1 個文件被更改,包括 3 次插入2 次删除
  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;