summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_state_common.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-12-03 12:20:40 -0500
committerJerome Glisse <jglisse@redhat.com>2010-12-03 12:45:19 -0500
commit0b841b0349d7aca218eac4e9d9b7b1406ad71944 (patch)
treefcee7e5de468b6942a76f27c1f8ea4aeaf04b075 /src/gallium/drivers/r600/r600_state_common.c
parentdbf996f30856c000e18e3700f741d4e92561b4ec (diff)
r600g: update polygon offset only when rasterizer or zbuffer change
Aim is to build as little state as possible in draw functions. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_state_common.c')
-rw-r--r--src/gallium/drivers/r600/r600_state_common.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
index 55bc5d0d22..856f79158c 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -58,6 +58,12 @@ void r600_bind_rs_state(struct pipe_context *ctx, void *state)
rctx->states[rs->rstate.id] = &rs->rstate;
r600_context_pipe_state_set(&rctx->ctx, &rs->rstate);
+
+ if (rctx->family >= CHIP_CEDAR) {
+ evergreen_polygon_offset_update(rctx);
+ } else {
+ r600_polygon_offset_update(rctx);
+ }
}
void r600_delete_rs_state(struct pipe_context *ctx, void *state)