Re: Tearing with 8600GTS, 256.35, xine-lib-1.2 when avoiding XLockDisplay()
One thought on this: Decode->display interlock is performed within the VDPAU driver. That is, if you decode to a given surface and then display it, VDPAU internally guarantees that display of that surface won't start until the decode has completed. However, the driver performs no display->decode interlock; the application must wait until the presentation queue has completed displaying the image (i.e. its status is IDLE) before requesting that a new decode operation begin on that surface. If the application doesn't do this, the decoder might write to a surface while it's still being displayed, which could look like tearing. Given the presentation queue errors mentioned in the other thread, this could well be the cause of the problems.