aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i915/intel_batchbuffer.c
diff options
context:
space:
mode:
authorAlan Hourihane <[email protected]>2006-08-26 21:21:34 +0000
committerAlan Hourihane <[email protected]>2006-08-26 21:21:34 +0000
commit092d14be92259d4210e3a2b5d4b5e18886bb4d4a (patch)
treeecccfa51291244754281d1d98277458a5c3f3c0f /src/mesa/drivers/dri/i915/intel_batchbuffer.c
parent2fd72a7844067989714236694df22d44936899af (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.c6
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 );
}
}
}