Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SPIR-V] Subgroup ops type limitation not honored by DXC #7093

Open
takayhan-AMD opened this issue Jan 28, 2025 · 0 comments
Open

[SPIR-V] Subgroup ops type limitation not honored by DXC #7093

takayhan-AMD opened this issue Jan 28, 2025 · 0 comments
Labels
bug Bug, regression, crash needs-triage Awaiting triage spirv Work related to SPIR-V

Comments

@takayhan-AMD
Copy link

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
@takayhan-AMD takayhan-AMD added bug Bug, regression, crash needs-triage Awaiting triage spirv Work related to SPIR-V labels Jan 28, 2025
@damyanp damyanp moved this to For Google in HLSL Triage Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug, regression, crash needs-triage Awaiting triage spirv Work related to SPIR-V
Projects
Status: For Google
Development

No branches or pull requests

1 participant