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

Small atomic-kms simplifications #3668

Merged
merged 3 commits into from
Nov 18, 2024
Merged

Conversation

RAOF
Copy link
Contributor

@RAOF RAOF commented Nov 14, 2024

No description provided.

@RAOF RAOF requested a review from a team as a code owner November 14, 2024 10:01
@AlanGriffiths
Copy link
Collaborator

As I read this, we're changing schedule_page_flip() to synchronously page_flip(). Apart from the misleading name, could that have performance implications for display groups?

@RAOF
Copy link
Contributor Author

RAOF commented Nov 15, 2024

The evolution here was:

  1. Asynchronous page flip, with an optimisation for immediately waiting for it if there's only one output connected (ie: no clone mode/display group) (this is gbm-kms state)
  2. atomic-kms dropped display grouping; each output gets driven by its own compositor. Asynchronous page flip, but we then unconditionally immediately wait for it (this is the prior state)
  3. Just synchronously page flip (you are here)

So this (shouldn't be) a visible behaviour change; we're just synchronously waiting fractionally earlier in the code.

(I have changed the name to make it hopefully less misleading)

@tarek-y-ismail
Copy link
Contributor

Just need #3665 to merge first, then we can fix whatever conflicts come up in this PR

RAOF added 3 commits November 18, 2024 11:50
We now always have a single output per `DisplaySink`, so
we always immediately wait for the page flip to occur,
so there's no point in going through the dance of submitting
a non-blocking page filp and then immediately waiting for the
completion.

Instead, ask KMS to block until the page flip has occurred.
Since we're not waiting for DRM events, we don't need
`ThreadedDRMEventHandler`.
@tarek-y-ismail tarek-y-ismail force-pushed the atomic-kms-simplification branch from abdc6e2 to cbbaf36 Compare November 18, 2024 09:54
@tarek-y-ismail tarek-y-ismail added this pull request to the merge queue Nov 18, 2024
Merged via the queue into main with commit e765c2c Nov 18, 2024
24 of 27 checks passed
@tarek-y-ismail tarek-y-ismail deleted the atomic-kms-simplification branch November 18, 2024 10:17
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.

3 participants