-
Notifications
You must be signed in to change notification settings - Fork 787
Description
Description
It seems that various SPIR-V subgroup operations have limitation that "Result Type must be a scalar or vector of floating-point type, integer type, or Boolean type." whereas HLSL does not place any restrictions on the types involved.
SPIR-V spec: https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpGroupNonUniformBroadcastFirst
HLSL spec: https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/wavereadfirstlane
I see 9 instances of such subgroup ops which have the same limitation on the SPIR-V side in the spec above.
Steps to Reproduce
https://shader-playground.timjones.io/8dd14e21d5f401da942bb51a240638b1
Actual Behavior
Generated SPIR-V code from the link above fails to be compiled (see: https://shader-playground.timjones.io/8d1b712030acacbbb1f1cf4282b9a1dc)
ERROR: 'subgroupBroadcastFirst' : no matching overloaded function found
ERROR: cannot convert from ' const float' to ' temp highp 3X3 matrix of float'
Environment
- DXC version: 1.7 - 1.7.0.3939 (5e080a7)
- Host Operating System: Windows 10 Pro
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status