summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-03-16 11:33:14 +0100
committerMichel Dänzer <daenzer@vmware.com>2009-03-16 11:33:14 +0100
commit9c591c52c7a9a75fc1f5822ed2f5e7e82ab396a5 (patch)
treef9c47190efd12c81648077f7852c610d65f44ab3 /src/mesa/drivers/dri
parent0fc6c2644cf69fd1851c9387c83b0e43f820bdf2 (diff)
radeon: Take the hardware lock for swaps and flips.
Otherwise they fail with AIGLX at least.
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 99270c947f..5ee8627bba 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -420,6 +420,7 @@ void radeonCopyBuffer( __DRIdrawablePrivate *dPriv,
fprintf( stderr, "\n%s( %p )\n\n", __FUNCTION__, (void *) rmesa->glCtx );
}
+ LOCK_HARDWARE( rmesa );
nbox = dPriv->numClipRects; /* must be in locked region */
for ( i = 0 ; i < nbox ; ) {
@@ -509,6 +510,8 @@ static GLboolean radeonPageFlip( __DRIdrawablePrivate *dPriv )
psp = dPriv->driScreenPriv;
+ LOCK_HARDWARE( radeon );
+
if ( RADEON_DEBUG & DEBUG_IOCTL ) {
fprintf(stderr, "%s: pfCurrentPage: %d %d\n", __FUNCTION__,
radeon->sarea->pfCurrentPage, radeon->sarea->pfState);