mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
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 Hellstrm)
This commit is contained in:
parent
a47c4c37ce
commit
de541439d3
1 changed files with 1 additions and 9 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue