diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-08-07 11:56:50 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-08-07 11:56:50 +0200 |
commit | cd99d9f0d715f1f74de4fe22f2fd30046f2c7568 (patch) | |
tree | 5101ac3c1f2e283bd152eceb24e69d6fae930150 /src/radeon_kms.c | |
parent | 577ff3ce922e457cc32f80d4365cb1da81552e72 (diff) |
Properly let radeon_cs_flush_indirect() re-emit 2D state if necessary.
Also remove a superfluous assignment.
Diffstat (limited to 'src/radeon_kms.c')
-rw-r--r-- | src/radeon_kms.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c index 148386b1..d93a40b2 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -84,8 +84,8 @@ void radeon_cs_flush_indirect(ScrnInfoPtr pScrn) if (ret) ErrorF("space check failed in flush\n"); - if (info->reemit_current2d) - info->reemit_current2d(pScrn, 0); + if (info->reemit_current2d && info->state_2d.op) + info->reemit_current2d(pScrn, info->state_2d.op); if (info->dri2.enabled) { info->accel_state->XInited3D = FALSE; info->accel_state->engineMode = EXA_ENGINEMODE_UNKNOWN; @@ -169,7 +169,6 @@ static void RADEONBlockHandler_KMS(int i, pointer blockData, if (info->VideoTimerCallback) (*info->VideoTimerCallback)(pScrn, currentTime.milliseconds); - info->accel_state->engineMode = EXA_ENGINEMODE_UNKNOWN; radeon_cs_flush_indirect(pScrn); } |