diff options
author | Alan Hourihane <[email protected]> | 2006-08-26 21:21:34 +0000 |
---|---|---|
committer | Alan Hourihane <[email protected]> | 2006-08-26 21:21:34 +0000 |
commit | 092d14be92259d4210e3a2b5d4b5e18886bb4d4a (patch) | |
tree | ecccfa51291244754281d1d98277458a5c3f3c0f /src/mesa/drivers/dri/i915/intel_batchbuffer.c | |
parent | 2fd72a7844067989714236694df22d44936899af (diff) |
Fix bug 8010 - locking issues.
Diffstat (limited to 'src/mesa/drivers/dri/i915/intel_batchbuffer.c')
-rw-r--r-- | src/mesa/drivers/dri/i915/intel_batchbuffer.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i915/intel_batchbuffer.c b/src/mesa/drivers/dri/i915/intel_batchbuffer.c index 1dfaa2d59dc..dd754c67d44 100644 --- a/src/mesa/drivers/dri/i915/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i915/intel_batchbuffer.c @@ -341,24 +341,22 @@ static void intelWaitForFrameCompletion( intelContextPtr intel ) ; } else { - UNLOCK_HARDWARE( intel ); intelWaitIrq( intel, intel->alloc.irq_emitted ); - LOCK_HARDWARE( intel ); } intel->irqsEmitted = 10; } if (intel->irqsEmitted) { + LOCK_HARDWARE( intel ); intelEmitIrqLocked( intel ); intel->irqsEmitted--; + UNLOCK_HARDWARE( intel ); } } else { while (intelGetLastFrame (intel) < sarea->last_dispatch) { - UNLOCK_HARDWARE( intel ); if (intel->do_usleeps) DO_USLEEP( 1 ); - LOCK_HARDWARE( intel ); } } } |