Additional test cases for encoder states #4401
Open
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.
Additional tests related to encoder states.
encoder_open_state
tests, add the case of attempting to record commands onto a finished pass while the encoder is still open. Previously, the test only covered the case where both the pass and the encoder are finished.call_after_successful_finish
test, add the case where the call made after the successful finish is another call tofinish
. This is motivated by a bug in Firefox.The following tests are failing:
encoder_open_state
tests for both render and compute passes. I noted this issue in Error reporting for unbalanced compute/render passes does not match implementations gpuweb#5207 (comment). The issue description is a more convoluted case that is covered by an existing test, but this case is pretty much the same issue so I noted it in a comment. I also added a TODO on the other, existing test.encoder_open_state:render_pass_commands
tests for the debug commands. Unlike the rest of the render pass commands, these cases were previously encoding the command onto the parent encoder rather than the render pass. This seemed unintentional, so I changed it, but maybe there's a special case here I'm not aware of.I am not sure how to turn on "compatibility mode validation". I did try the tests in compatibility mode, if that's all this is.
Requirements for PR author:
.unimplemented()
./** documented */
and new helper files are found inhelper_index.txt
.Requirements for reviewer sign-off:
When landing this PR, be sure to make any necessary issue status updates.