Add missing validation for timestamp writes in render and compute passes #6578
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.
Connections
-
Description
It turns out, no validation for timestamp writes' indices or even query type was present. Holy crap! Fix that plz. Apply all validation that the WebGPU spec. specifies in:
GPUCommandEncoder.beginRenderPass, step 10 on the device timelineGPUCommandEncoder.beginComputePass, step 4 on the device timelineTesting
webgpu:api,validation,encoding,beginComputePass:timestampWrites,*GPURenderPassDescriptor.timestampWritesa la compute passes gpuweb/cts#4056webgpu:api,validation,encoding,beginComputePass:timestampWrites,invalid_query_set:querySetState="invalid"is specifically resolved by fix(core): validatedst_bufferisn't destroyed when resolving query sets #6579.webgpu:api,validation,encoding,beginComputePass:timestampWrites,query_index: beginningOfPassWriteIndex="_undef_";endOfPassWriteIndex="_undef_"to Validate that at least one index must be specified in pass timestamp writes #6583.webgpu:api,validation,encoding,beginRenderPass:occlusion_query_set,device_mismatch:*webgpu:api,validation,encoding,beginRenderPass:timestamp_query_set,device_mismatch:*Checklist
cargo fmt.taplo format.cargo clippy. If applicable, add:--target wasm32-unknown-unknown--target wasm32-unknown-emscriptencargo xtask testto run tests.CHANGELOG.md. See simple instructions inside file.