From: Michel Dänzer Date: Mon, 16 Mar 2009 11:51:50 +0000 (+0100) Subject: Fixup previous commit. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aa85973f95b8ccce1964c9bbbfb1e411c4b31cbd;p=mesa.git Fixup previous commit. radeonScheduleSwap() already takes the lock in the SwapBuffers case, only the CopySubBuffer case was missing it. --- diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index 5ee8627bba7..1a5d0467d4c 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -420,7 +420,6 @@ 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 ; ) { @@ -510,8 +509,6 @@ 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); @@ -605,6 +602,8 @@ void radeonCopySubBuffer(__DRIdrawablePrivate * dPriv, rect.x2 = rect.x1 + w; rect.y2 = rect.y1 + h; _mesa_notifySwapBuffers(ctx); /* flush pending rendering comands */ + LOCK_HARDWARE( (radeonContextPtr) + dPriv->driContextPriv->driverPrivate ); radeonCopyBuffer(dPriv, &rect); } } else {