Skip to content
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: Explicit synchorisation support #3717

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

DRM: Explicit synchorisation support #3717

wants to merge 6 commits into from

Conversation

RAOF
Copy link
Contributor

@RAOF RAOF commented Jan 10, 2025

This implements the linux_drm_syncobj_v1 explicit synchronisation protocol.

Currently only the simplest support - we accept acquire fences and wait for them to become ready before we process the associated wl_surface.commit, and we signal the release fence once we have finished with the buffer.

There are optimisation opportunities at both ends here - we could push the acquire fence deeper into the pipeline, and trigger the release fence sooner.

@RAOF RAOF requested a review from a team as a code owner January 10, 2025 07:16
@RAOF
Copy link
Contributor Author

RAOF commented Jan 10, 2025

At least two things should be resolved before landing this:

  1. This currently lacks the miral-wlcs-integration needed to run it against the WLCS tests (this needs a bit of cleanup, particularly when we don't have DRM available), and
  2. vkgears gets lower numbers with explicit sync than without; this needs investigation (but might just be because we do a bit more work in the Wayland event loop)

RAOF added 6 commits February 7, 2025 11:16
We want to be able to load real hardware rendering platforms on top
in tests, so have the stub `DisplayPlatform` implement the simplest
of the concrete interfaces
When we're making a `StubBuffer` with non-empty `size`, make sure we also
set the stride to a reasonable value.
None of our code *really* cares that we don't want to get events
before calling `monitor.enable()`, and UDev in Ubuntu 25.04 has
changed behaviour so that events *are* received before enabling
the monitor, so just drop the test.
@RAOF RAOF changed the base branch from main to MIRENG-952/improve-firefox-frame-event-quirk February 7, 2025 00:57
Base automatically changed from MIRENG-952/improve-firefox-frame-event-quirk to main February 7, 2025 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants