-
Notifications
You must be signed in to change notification settings - Fork 170
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
drm: Add vrr property helpers #1578
Conversation
ef8f243
to
e3a80a4
Compare
e3a80a4
to
7095db1
Compare
d8b3de8
to
dc461f7
Compare
Now in use here and seems to work well: pop-os/cosmic-comp#1004 |
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.
wp_presentation version 1 requires 0 to be sent for vrr
If the output does not have a constant refresh rate, explicit video mode switches excluded, then the refresh argument must be zero.
dc461f7
to
25be1bc
Compare
@cmeissl I pushed new (separate) commits to make review easier (though I actually plan to merge most of them). I hope the And I added an example to anvil for sending the right PresentationTime refresh rate, though I would prefer to drop that commit given anvil doesn't implement VRR at all. It is just there to show off how easy this is to do with the |
25be1bc
to
fb5a899
Compare
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.
We should keep cursor only updates in case we have re-drawn the plane or otherwise we would loose the rather costly rendering step we already did. This would also result in constant re-drawing of the plane until we do not skip it.
Looks goods and I agree that we can remove that from anvil as it does not support vrr at all. I hope that the breaking change for the |
2032f0c
to
afd30cd
Compare
@cmeissl Merged your changes, removed |
Yes :) |
Thanks! :) |
Draft while this is missing docs and more testing.
Adds helper methods to make it possible to set VRR per frame, which makes more dynamic VRR policies like "only enable, when we have a fullscreen application" more easily possible. Also simplifies VRR checks.