summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index 559844f9b4..eae1a5698d 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -222,7 +222,7 @@ static void
PIPE_BUFFER_USAGE_CPU_READ);
memcpy(r300->shader_constants[shader].constants,
map, buffer->buffer->size);
- pipe->winsys->buffer_unmap(pipe->winsys, map);
+ pipe->winsys->buffer_unmap(pipe->winsys, buffer->buffer);
r300->shader_constants[shader].user_count =
buffer->buffer->size / (sizeof(float) * 4);
@@ -542,6 +542,8 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
rs->line_stipple_value = state->line_stipple_pattern;
}
+ rs->rs = *state;
+
return (void*)rs;
}
@@ -549,8 +551,11 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
static void r300_bind_rs_state(struct pipe_context* pipe, void* state)
{
struct r300_context* r300 = r300_context(pipe);
+ struct r300_rs_state* rs = (struct r300_rs_state*)state;
+
+ draw_set_rasterizer_state(r300->draw, &rs->rs);
- r300->rs_state = (struct r300_rs_state*)state;
+ r300->rs_state = rs;
r300->dirty_state |= R300_NEW_RASTERIZER;
}