projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
24a3b0d
)
llvmpipe: fix-up polygon culling/winding
author
Brian Paul
<brianp@vmware.com>
Fri, 4 Dec 2009 20:53:28 +0000
(13:53 -0700)
committer
Brian Paul
<brianp@vmware.com>
Fri, 4 Dec 2009 20:53:28 +0000
(13:53 -0700)
src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
index 4561c6b84560a40b12bc4d595d42121d476c3603..282ed2e9ea3e17cb69190b70f7845a6b9ecb4d75 100644
(file)
--- a/
src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
+++ b/
src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
@@
-29,6
+29,7
@@
#include "util/u_memory.h"
#include "lp_context.h"
#include "lp_state.h"
#include "util/u_memory.h"
#include "lp_context.h"
#include "lp_state.h"
+#include "lp_setup.h"
#include "draw/draw_context.h"
#include "draw/draw_context.h"
@@
-50,6
+51,16
@@
void llvmpipe_bind_rasterizer_state(struct pipe_context *pipe,
llvmpipe->rasterizer = (struct pipe_rasterizer_state *)setup;
llvmpipe->rasterizer = (struct pipe_rasterizer_state *)setup;
+ /* 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;
}
llvmpipe->dirty |= LP_NEW_RASTERIZER;
}