summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-01-27 11:46:26 +1000
committerDave Airlie <airlied@redhat.com>2010-01-27 12:48:47 +1000
commit395e08a839bca94b8c0cd7fca4b48bb06bc02952 (patch)
tree0476e189d5743240cafcd2f4041027cbc73b5b7e /src/mesa/drivers/dri/radeon
parente6df209490a265f35be255468d7b9123404ef14c (diff)
radeon/r200/r300: don't clean non-emitted state.
So if we don't actually emit an atom to the hw because we don't need it in the current state (e.g. lighting related atoms when lighting is off) then don't mark it as clean, because when lighting gets switched on we won't emit it at all. This fixes funky gears colors. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/drivers/dri/radeon')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index e0b853bc97..79f3ff7da6 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -1036,10 +1036,11 @@ static INLINE void radeon_emit_atom(radeonContextPtr radeon, struct radeon_state
OUT_BATCH_TABLE(atom->cmd, dwords);
END_BATCH();
}
+ atom->dirty = GL_FALSE;
+
} else {
radeon_print(RADEON_STATE, RADEON_VERBOSE, " skip state %s\n", atom->name);
}
- atom->dirty = GL_FALSE;
}