diff options
author | Thomas Hellström <thomas@tungstengraphics.com> | 2004-12-15 21:17:51 +0000 |
---|---|---|
committer | Thomas Hellström <thomas@tungstengraphics.com> | 2004-12-15 21:17:51 +0000 |
commit | de541439d31415a4cd7393e3507e980d2ab1fc19 (patch) | |
tree | a127e8ada9fb7814b9ad5903fa178919b30e0920 /src/mesa/drivers | |
parent | a47c4c37ce7ca45974b10f2bbb49bc88fad64a54 (diff) | |
download | external_mesa3d-de541439d31415a4cd7393e3507e980d2ab1fc19.zip external_mesa3d-de541439d31415a4cd7393e3507e980d2ab1fc19.tar.gz external_mesa3d-de541439d31415a4cd7393e3507e980d2ab1fc19.tar.bz2 |
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)
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/unichrome/via_context.c | 10 |
1 files changed, 1 insertions, 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; |