From de541439d31415a4cd7393e3507e980d2ab1fc19 Mon Sep 17 00:00:00 2001 From: Thomas Hellström Date: Wed, 15 Dec 2004 21:17:51 +0000 Subject: Unichrome DRI: Fixed an apparent race condition during locking and drawable info updating, the result of which was the DRI client leaving traces on the screen rendering where the drawable previously had been. If the driver hangs X for a second or so and then restarts, this is probably the place to look. (Thomas Hellström) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mesa/drivers/dri/unichrome/via_context.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src/mesa/drivers/dri/unichrome/via_context.c') diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c index 562538abbf..62f4a5fc3a 100644 --- a/src/mesa/drivers/dri/unichrome/via_context.c +++ b/src/mesa/drivers/dri/unichrome/via_context.c @@ -986,15 +986,7 @@ void viaGetLock(viaContextPtr vmesa, GLuint flags) #endif drmGetLock(vmesa->driFd, vmesa->hHWContext, flags); - do { - DRM_UNLOCK(psp->fd, &psp->pSAREA->lock, - pdp->driContextPriv->hHWContext); - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - __driUtilUpdateDrawableInfo(dPriv); - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - DRM_LIGHT_LOCK(psp->fd, &psp->pSAREA->lock, - pdp->driContextPriv->hHWContext); - } while (0); + DRI_VALIDATE_DRAWABLE_INFO( sPriv, dPriv ); if (sarea->ctxOwner != me) { vmesa->uploadCliprects = GL_TRUE; -- cgit v1.2.3