From: Alan Hourihane Date: Sat, 26 Aug 2006 21:21:34 +0000 (+0000) Subject: Fix bug 8010 - locking issues. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=092d14be92259d4210e3a2b5d4b5e18886bb4d4a;p=mesa.git Fix bug 8010 - locking issues. --- 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 ); } } }