Skip to content

fix: reset render pass merge flags each frame in FrameGraph.compile()#8516

Merged
mvaligursky merged 1 commit intomainfrom
mv-fix-framegraph-merge-flags
Mar 10, 2026
Merged

fix: reset render pass merge flags each frame in FrameGraph.compile()#8516
mvaligursky merged 1 commit intomainfrom
mv-fix-framegraph-merge-flags

Conversation

@mvaligursky
Copy link
Contributor

@mvaligursky mvaligursky commented Mar 10, 2026

FrameGraph.compile() sets _skipStart and _skipEnd flags on RenderPass instances when merging consecutive passes that share a render target, but never resets them. Since RenderPass objects are reused across frames, stale flags from a previous frame's merge persist even when the pass composition changes (e.g. a pass is disabled between frames), causing startRenderPass to be called while a previous pass is still open.

Changes:

  • Reset _skipStart and _skipEnd to false for each render pass at the top of the existing render-target-map loop in compile(), before the merge loop re-evaluates which passes should be merged.

Fixes #8514

@mvaligursky mvaligursky self-assigned this Mar 10, 2026
@mvaligursky mvaligursky added the area: graphics Graphics related issue label Mar 10, 2026
@mvaligursky mvaligursky requested a review from a team March 10, 2026 09:38
@mvaligursky mvaligursky merged commit 5b76bd5 into main Mar 10, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-fix-framegraph-merge-flags branch March 10, 2026 09:39
mvaligursky added a commit that referenced this pull request Mar 10, 2026
…#8516)

Fixed #8514

Made-with: Cursor

Co-authored-by: Martin Valigursky <mvaligursky@snapchat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FrameGraph.compile() never resets _skipStart/_skipEnd merge flags

1 participant