scons: Set the default windows platform to be windows userspace.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_rasterizer.c
index 9e38606b146f910b268b169b9f54cd56d06b49ad..282ed2e9ea3e17cb69190b70f7845a6b9ecb4d75 100644 (file)
@@ -29,6 +29,7 @@
 #include "util/u_memory.h"
 #include "lp_context.h"
 #include "lp_state.h"
+#include "lp_setup.h"
 #include "draw/draw_context.h"
 
 
@@ -50,7 +51,17 @@ void llvmpipe_bind_rasterizer_state(struct pipe_context *pipe,
 
    llvmpipe->rasterizer = (struct pipe_rasterizer_state *)setup;
 
-   llvmpipe->dirty |= SP_NEW_RASTERIZER;
+   /* Note: we can immediately set the triangle state here and
+    * not worry about binning because we handle culling during
+    * triangle setup, not when rasterizing the bins.
+    */
+   if (llvmpipe->rasterizer) {
+      lp_setup_set_triangle_state( llvmpipe->setup,
+                   llvmpipe->rasterizer->cull_mode,
+                   llvmpipe->rasterizer->front_winding == PIPE_WINDING_CCW );
+   }
+
+   llvmpipe->dirty |= LP_NEW_RASTERIZER;
 }
 
 void llvmpipe_delete_rasterizer_state(struct pipe_context *pipe,