WebGPU CTS fails on `webgpu:api,operation,adapter,requestDevice:limit,worse_than_default:limit="maxBindingsPerBindGroup"`
Categories
(Core :: Graphics: WebGPU, defect, P2)
Tracking
()
People
(Reporter: ErichDonGubler, Assigned: ErichDonGubler)
References
Details
Steps to reproduce
-
With a Firefox build based off of changes from bug 1843250, run:
./mach wpt /_mozilla/webgpu/chunked/1/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limit,worse_than_default:limit="maxBindingsPerBindGroup"Observe that multiple test cases fail with an error of the form:
EXCEPTION: requestDevice: Request for limit 'maxBindingsPerBindGroup' must be <= supported 640, was 999.
Alternatively, one can run against the latest CTS test case at https://gpuweb.github.io/cts/standalone/?q=webgpu:api,operation,adapter,requestDevice:limit,worse_than_default:limit="maxBindingsPerBindGroup".
| Assignee | ||
Comment 1•2 years ago
•
|
||
My hot take: WGPU doesn't correctly implement the maxBindingsPerBindGroup limit, which in turn breaks our exposure of GPUAdapterInfo.limits. Its Vulkan back end breaks worse-than-default testing for WebGPU's maxBindingsPerBindGroup limit because it unconditionally returns 640, which does not fulfill the recently changed expected minimum of 1000. Currently, the WebGPU spec. specifies:
maxBindingsPerBindGroupmust be must be ≥ (max bindings per shader stage × max shader stages per pipeline), where:
- max bindings per shader stage is (
maxSampledTexturesPerShaderStage+maxSamplersPerShaderStage+maxStorageBuffersPerShaderStage+maxStorageTexturesPerShaderStage+maxUniformBuffersPerShaderStage).- max shader stages per pipeline is
2, because a[GPURenderPipeline](https://gpuweb.github.io/gpuweb/#gpurenderpipeline)supports both a vertex and fragment shader.
I've filed wgpu#3940 to follow-up with the discussion :nical and I have had around how the standard may need to be updated, but he states that we should not be changing to match the spec. without this discussion first. This discussion need not block the resolution of this ticket.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 2•2 years ago
•
|
||
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 3•2 years ago
|
||
To do: Now that patches for bug 1846558 have landed, I should re-test and see if we can actually get failures here again.
| Assignee | ||
Comment 4•2 years ago
|
||
This appears to be resolved now.
Description
•