-
Notifications
You must be signed in to change notification settings - Fork 100
Description
In this following inter-stage interface validation routine in the WebGPU spec. (link, emphasis mine):
validating inter-stage interfaces(device, descriptor)
…
Device timeline steps:
…
If
descriptor.fragmentis provided:
Let maxFragmentShaderInputVariables be
device.limits.maxInterStageShaderVariables.For each of the Inter-Stage Builtins that are an input of
descriptor.fragment:
- Decrement maxFragmentShaderInputVariables by 1.
I interpret this to mean: for each built-in, decrement once per built-in found. However, the webgpu:api,validation,capability_checks,limits,maxInterStageShaderVariables:createRenderPipeline,at_over:* test path in CTS only decrements the maximum once if any of them are set:
cts/src/webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.ts
Lines 19 to 21 in d5a131f
| const maxFragmentInputVariables = | |
| device.limits.maxInterStageShaderVariables - | |
| (frontFacing || sampleIndex || sampleMaskIn ? 1 : 0); |
Which interpretation is right here? EDIT: Confirmed, it should be a deduction per built-in.