-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Wayland] Add support for wp_presentation #17882
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
base: master
Are you sure you want to change the base?
Conversation
@ColinKinloch Could you also look at the code if you have time? |
Currently RetroArch crashes in Vulkan mode when changing max swapchain images in settings:
|
@sonninnos can you help? |
There is also error in the log:
|
I don't know anything about that. Other than that 3 is the default, and some time ago the minimum clamping from the reported minimum was removed because some platform was reporting higher than what it could actually do. So clearly the log says minimum is 4, so test with that value instead of 3. Obviously there ought to be a failsafe of some kind to revert to the clamping if it fails that hard with the chosen value. |
It seems that this crash only happens when RetroArch is compiled with the |
Ready for initial review. Please DON'T MERGE until review is completed. @Themaister @ColinKinloch |
@Sunderland93 I'll try to ask Themaister to see if he has any interest in reviewing this |
What does this provide over VK_KHR_present_wait? |
Unfortunately, I am not very familiar with Vulkan and this extension in particular. It is possible that using presentation-time for a Vulkan context is redundant. |
Where are we now with this PR? |
I just tested it, vulkan segfaults due to |
Needs proper code review and testing |
@ColinKinloch can you test again with the latest commit's? |
While I have no way of testing, I just wanted to say thanks for having focus on Wayland. Had reports in the Flatpak-space that RetroArch Wayland has been buggy, so I appreciate your focus. Hopefully once the new release is out, we can get some others to test Wayland out. Flatpak-related wayland issue: flathub/org.libretro.RetroArch#325 |
0c1cbb0
to
526d9df
Compare
correctly handle clock_id bind to wp_presentation_v1 atm more precise synchronization Ensure that presented() is reached wp_presentation: correctly set clock_type wp_presentation: deduplicate code use only nanoseconds wp_presentation: use clock_nanosleep instead of usleep don't replace wl_callback with presentation feedback Remove presentation feedback more gracefully Fix gap between request feedback and presented
526d9df
to
b5f2df5
Compare
Tested with several cores on GL and Vulkan drivers. No issues at all. Output of WAYLAND_DEBUG=1 in OpenGL/EGL mode:
And in Vulkan mode:
Still needs some code review |
It would also be nice to force the |
@ColinKinloch @Themaister ping |
Guidelines
Description
Added support for wp_presentation protocol. Currently only v1, which means there is no handling of VRR cases yet. Also I'm not sure about Vulkan context, it works, but I'm not sure that it's right implementation.
Related Issues
Related to #17310
Related Pull Requests
[Any other PRs from related repositories that might be needed for this pull request to work]
Reviewers
@Themaister could you please do a review?