-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
core: wait for dmabuf readiness #9806
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
Conversation
draft cause I know @gulafaran wanted to use DMA_BUF_IOCTL_EXPORT_SYNC_FILE instead of just fd readabilty
but afaik just checking readabilty of the dmabuf fd does the same thing no?
|
My only question there would be if exporting the fence from the dmabuf allows us to get better support for Nvidia and e.g. eliminate electron/old chromium flickering, but it doesn't sound like it'd allow us to. |
gulafaran found this basically implicit sync through poll() sucks in some drivers so yeah I'll implement the export ioctl method |
7632cc9
to
3092a4b
Compare
3092a4b
to
767d93b
Compare
ready for review edit (after the ds syncrhonize commit): |
ikalco can you also maybe look into DS + Tearing as we are doing this? There's an open discussion around some weirdness with that. DS + Tearing should be allowed and work together. (there's this one !tearing in the if before DS checks, that should be yeeted) |
bet, see #10020, def some weird stuff with tearing though, old and new code colliding i think |
gone through some of the normal testing, minecraft/cs2/wine/gtk havent found any issues so far. |
also been running it for a while, everything looking good |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saucy
Describe your PR, what does it fix/add?
this pr makes it so that dmabuf buffers, without drmsyncobj acquire points, can only be read when they are ready
this is done by waiting on the dmabuf's implicit sync read fence before using it
the goal here is to ensure we only read buffers that are ready to be read
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Is it ready for merging, or does it need work?
yes