r600: Invert front face winding when rendering to FBO
authorAlex Deucher <alexdeucher@gmail.com>
Wed, 16 Dec 2009 21:18:22 +0000 (16:18 -0500)
committerAlex Deucher <alexdeucher@gmail.com>
Wed, 16 Dec 2009 21:18:22 +0000 (16:18 -0500)
fixes fdo bug 25679

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
src/mesa/drivers/dri/r600/r700_state.c

index 244a016e07eea12bbb5ac0342140c44f44bdb033..e763d2803c7d4073a348df3b06f8b5efc9beaf16 100644 (file)
@@ -655,6 +655,10 @@ static void r700UpdateCulling(GLcontext * ctx)
             CLEARbit(r700->PA_SU_SC_MODE_CNTL.u32All, FACE_bit); /* default: ccw */
             break;
     }
+
+    /* Winding is inverted when rendering to FBO */
+    if (ctx->DrawBuffer && ctx->DrawBuffer->Name)
+           r700->PA_SU_SC_MODE_CNTL.u32All ^= FACE_bit;
 }
 
 static void r700UpdateLineStipple(GLcontext * ctx)