This issue tracks the efforts on the tests against the WebGPU feature subgroup-size-control based on the WebGPU SPEC PR (gpuweb/gpuweb#5578).
API Validations:
- Enabling
subgroup-size-control on the creation of device should also enable subgroups.
Shader Validations:
- Enabling
subgroup_size_control must also enable subgroups.
- The WGSL attribute
@subgroup_size must be used when subgroup_size_control is enabled.
@subgroup_size can only be used in the compute stage
- The value of
@subgroup_size must be a constant expression or an override expression that resolves to an i32 or an u32.
- The value of
@subgroup_size must be a power of 2.
- The x-dimension of the entry point's
workgroup_size must be a multiple of the @subgroup_size value.
Shader Execution Tests:
- The value of the built-in variable
subgroup_size must equal the value of the @subgroup_size attribute.
- At least one value in the range of
[GPUAdapterInfo.subgroupMinSize, GPUAdapterInfo.subgroupMaxSize] can be used as @subgroup_size attribute in a simple compute pipeline.
This issue tracks the efforts on the tests against the WebGPU feature
subgroup-size-controlbased on the WebGPU SPEC PR (gpuweb/gpuweb#5578).API Validations:
subgroup-size-controlon the creation of device should also enablesubgroups.Shader Validations:
subgroup_size_controlmust also enablesubgroups.@subgroup_sizemust be used whensubgroup_size_controlis enabled.@subgroup_sizecan only be used in the compute stage@subgroup_sizemust be a constant expression or an override expression that resolves to ani32or anu32.@subgroup_sizemust be a power of 2.workgroup_sizemust be a multiple of the@subgroup_sizevalue.Shader Execution Tests:
subgroup_sizemust equal the value of the@subgroup_sizeattribute.[GPUAdapterInfo.subgroupMinSize, GPUAdapterInfo.subgroupMaxSize]can be used as@subgroup_sizeattribute in a simple compute pipeline.