-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tearing in embedded mode #13
Comments
Lots of tearing when the games are set to vsync = off. I think even if we dont' tie the internal cadence of the game's rendering to vblank when they have vsync = off, the output should not tear, so we're missing something to hold onto the game's buffer for as long as it's on screen maybe. |
Yes. wlroots will send a This should only cause issues with direct scan-out though. Composition should work fine without Will investigate. |
Well, since threads are involved, scratch that. |
OK - usually direct scanout is the preferred path in embedded so that would be consistent with what you initially said. Sounds like we'll want to lock the buffer until we have a replacement already scanned out or composited in all cases, then. Does locking the buffer feed back into the WSI interfaces of the application at the other end? Eg. if we lock a buffer and all the other ones are busy, will the app's SwapBuffers() or AcquireNextImage() block until we unlock it? |
Correct, clients can't start re-using the buffer before |
Right now I can observe tearing for a few seconds after toggling off the overlay (in embedded mode with a SteamOS-style overlay, eg. |
On DC at least, sometimes there's crazy tearing. We know we need to import a fence, so not too unexpected, but you'd think implicit sync would take care of it.
The text was updated successfully, but these errors were encountered: