Skip to content

Presentationv2 revert the revert, and fix the slop#15459

Open
gulafaran wants to merge 2 commits into
hyprwm:mainfrom
gulafaran:presentationv2
Open

Presentationv2 revert the revert, and fix the slop#15459
gulafaran wants to merge 2 commits into
hyprwm:mainfrom
gulafaran:presentationv2

Conversation

@gulafaran

Copy link
Copy Markdown
Contributor

the reason it stopped working is last change that PR
did was moving from raw ptrs to UP's with WP's but tried to .lock() the
WP, we cant lock a WP that points to a UP.

also ensure all draws that isnt visible or simply failed creating
texture or invalid sizes discard in elementrenderer. and all others
present.

@tannerellen

the reason it stopped working is last change that PR
did was moving from raw ptrs to UP's with WP's but tried to .lock() the
WP, we cant lock a WP that points to a UP.

also ensure all draws that isnt visible or simply failed creating
texture or invalid sizes discard in elementrenderer. and all others
present.
@vaxerski

Copy link
Copy Markdown
Member

@codex review please

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5c12eab46c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +624 to +625
if (state.updated.all)
PROTO::presentation->discardFeedbacks(m_current.presentationFeedbacks);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Resolve feedbacks skipped by FIFO no-op commits

When a surface uses wp_fifo and commits only a wait_barrier/presentation-feedback update, state.fifoScheduled is true while state.updated.all is false, so the early return above runs before this new feedback handling. CSurfaceStateQueue::tryProcess then pops the state immediately after commitState returns (src/protocols/types/SurfaceStateQueue.cpp:83-84), destroying state.presentationFeedbacks without moving them to m_current or sending discarded; clients waiting on that feedback can hang. Please resolve the state's feedbacks before returning from the FIFO no-op path.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thats not quite true, yes its a "concern" but what we are quirking around with the above early return is this

[2093707.168]  -> wp_fifo_v1#43.set_barrier()
[2093707.173]  -> wp_fifo_v1#43.wait_barrier()
[2093707.177]  -> wl_surface#3.commit()
[2093707.182]  -> wp_fifo_v1#43.wait_barrier()
[2093707.185]  -> wl_surface#3.commit()

that second commit has no feedbacks. and refactoring fifo is out of scope in this PR imo

@tannerellen

Copy link
Copy Markdown

Dead space now works properly with this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants