feat: expose ordered render command prefix - #1840
Closed
PORTALSURFER wants to merge 1 commit into
Closed
Conversation
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.
Goal\n\nProvide an additive Vello rendering hook that lets a host place one caller-owned command buffer immediately before Vello internal render work in the same queue submission.\n\n## Scope\n\n- Add Renderer::render_to_texture_with_command_buffer with an optional wgpu CommandBuffer prefix.\n- Keep Renderer::render_to_texture signature-compatible and preserve its existing no-prefix path.\n- Submit prefix then Vello render commands through one Queue::submit call.\n- Add focused deterministic coverage for prefix ordering and the no-prefix fallback.\n- Document ownership and failure behavior.\n\n## Non-goals\n\n- No wgpu-profiler changes.\n- No requirement for TIMESTAMP_QUERY_INSIDE_PASSES.\n- No GPU timing policy, readback, or presentation behavior.\n- No Radiant source changes; this is the dependency prerequisite for a later host integration.\n\n## Definition of done\n\n- Existing callers retain the same API and behavior.\n- A supplied prefix is consumed and submitted exactly once before Vello work.\n- Recording failures never submit the prefix independently.\n- No-prefix callers retain the prior single-buffer submission path.\n- Focused tests and the project checks pass.\n\n## Validation and results\n\n- cargo fmt --all -- --check\n- cargo check -p vello --locked\n- cargo check -p vello --all-features --locked\n- cargo check -p vello --no-default-features --locked\n- cargo check -p vello --features wgpu-profiler --locked\n- cargo test -p vello --all-features --lib --locked\n- cargo test -p vello --doc --locked\n- cargo test -p vello_tests --no-run --locked\n- cargo clippy -p vello --all-targets --all-features --locked\n- git diff --check\n- Existing filled_square_gpu smoke passed.\n\nOnly pre-existing lint warnings were emitted. No GPU runtime integration was added because this hook only establishes queue submission ordering.\n\n## Known limitations\n\nRadiant currently consumes Vello 0.9.0. The follow-up Radiant producer will use this hook after an upstream Vello release containing it.\n\nPlease do not merge until PORTALSURFER explicitly approves the reviewed PR head.