From de541439d31415a4cd7393e3507e980d2ab1fc19 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Hellstr=C3=B6m?= Date: Wed, 15 Dec 2004 21:17:51 +0000 Subject: [PATCH] =?utf8?q?Unichrome=20DRI:=20Fixed=20an=20apparent=20race?= =?utf8?q?=20condition=20during=20locking=20and=20drawable=20info=20updati?= =?utf8?q?ng,=20the=20result=20of=20which=20was=20the=20DRI=20client=20lea?= =?utf8?q?ving=20traces=20on=20the=20screen=20rendering=20where=20the=20dr?= =?utf8?q?awable=20previously=20had=20been.=20If=20the=20driver=20hangs=20?= =?utf8?q?X=20for=20a=20second=20or=20so=20and=20then=20restarts,=20this?= =?utf8?q?=20is=20probably=20the=20place=20to=20look.=20(Thomas=20Hellstr?= =?utf8?q?=F6m)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mesa/drivers/dri/unichrome/via_context.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c index 562538a..62f4a5f 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; -- 2.7.4