summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv10/nv10_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nv10/nv10_state.c')
-rw-r--r--src/gallium/drivers/nv10/nv10_state.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv10/nv10_state.c b/src/gallium/drivers/nv10/nv10_state.c
index 12722709f6..182f6857f5 100644
--- a/src/gallium/drivers/nv10/nv10_state.c
+++ b/src/gallium/drivers/nv10/nv10_state.c
@@ -282,6 +282,8 @@ nv10_rasterizer_state_create(struct pipe_context *pipe,
*/
rs = malloc(sizeof(struct nv10_rasterizer_state));
+ rs->templ = cso;
+
rs->shade_model = cso->flatshade ? 0x1d00 : 0x1d01;
rs->line_width = (unsigned char)(cso->line_width * 8.0) & 0xff;
@@ -347,6 +349,8 @@ nv10_rasterizer_state_bind(struct pipe_context *pipe, void *rast)
nv10->rast = (struct nv10_rasterizer_state*)rast;
+ draw_set_rasterizer_state(nv10->draw, (nv10->rast ? nv10->rast->templ : NULL));
+
nv10->dirty |= NV10_NEW_RAST;
}