rendering: reuse retained plan and resource work - #78
Open
tritao wants to merge 2 commits into
Open
Conversation
This was referenced Aug 23, 2026
tritao
force-pushed
the
integration/retained-performance-wip
branch
2 times, most recently
from
August 23, 2026 03:00
1129b0b to
e81e91b
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 03:09
e81e91b to
5ee4ffb
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
2 times, most recently
from
August 23, 2026 09:33
7f43d01 to
b7dbfe1
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 10:09
b7dbfe1 to
aee884a
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 11:13
aee884a to
3a1b2e3
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 12:26
3a1b2e3 to
758c053
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
2 times, most recently
from
August 23, 2026 13:14
0f7d0f3 to
789039d
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 17:46
789039d to
b6da1af
Compare
tritao
force-pushed
the
integration/retained-performance-wip
branch
from
August 23, 2026 21:21
b6da1af to
e136b0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds on #72.
Purpose
An incremental update can patch retained command content successfully while
leaving render-plan ordering and GPU geometry resources unchanged. Treating
every content revision as if it invalidated all derived work still forces plan
construction and backend resource validation on otherwise cheap transform or
material edits.
This PR consumes #72's explicit invalidation domains. It preserves a render
plan when planning semantics did not change and skips GPU resource validation
when resource identity and revisions remain valid.
What changed
material updates.
revision.
derived work was skipped.
Safety and ownership
This layer does not classify mutations. It relies on the invalidation result
produced by
SoRetainedUpdaterin #72. Transparent ordering, geometry,visibility, opacity, pick topology, and structural changes remain
conservative and invalidate the derived work they can affect.
Performance
For 50,000 shared-recipe occurrences on the tested Intel/Mesa system,
transform and material update frames improved from roughly 41–46 ms to
16–18 ms. Eligible samples report zero plan-construction time and less than
0.001 ms of GPU-resource validation.
These measurements describe one controlled machine. Revision counters and
skipped-phase assertions are the deterministic contract.
Validation
Stack note
This PR supersedes #77. GitHub marked #77 merged during an earlier ownership
restack because its rewritten head became an ancestor of a temporary base; it
was not merged into the repository's default branch.