diff options
author | Dave Airlie <[email protected]> | 2010-01-27 11:46:26 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-01-27 12:48:47 +1000 |
commit | 395e08a839bca94b8c0cd7fca4b48bb06bc02952 (patch) | |
tree | 0476e189d5743240cafcd2f4041027cbc73b5b7e /src/mesa/drivers/dri/radeon | |
parent | e6df209490a265f35be255468d7b9123404ef14c (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 <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/radeon')
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_common.c | 3 |
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 e0b853bc97d..79f3ff7da65 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; } |