Reset the queue state between each command buffer on queue submit #3589
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.
Additionally reset the state of
SAMPLE_ALPHA_TO_COVERAGE
as part of a queue reset.The move of
reset_state
from outside to inside the loop matches the previous behavior here: https://github.com/gfx-rs/gfx/blob/master/src/backend/gl/src/queue.rs#L1142Given the command encoder assumes a default state this seems to be the only safe behavior to avoiding leaking state between buffers.
Checklist
cargo clippy
.RUSTFLAGS=--cfg=web_sys_unstable_apis cargo clippy --target wasm32-unknown-unknown
if applicable.Connections
Link to the issues addressed by this PR, or dependent PRs in other repositories
Description
This is necessary to avoid leaking of alpha-to-coverage between command buffers.
Testing
Confirmed alpha-to-coverage set on one pipeline was no longer leaked to the next in our application.