-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Is your feature request related to a problem? Please describe.
Many DX12 features add new features that are only recognized by DXC. We could gate these features behind enabling DXC globally, but that would be a PITA and not allow using passthrough shaders. We should find some way to expose to the user that these are only usable with passthrough shaders or if DXC is being used.
We should figure out how to address this sooner rather than later.
One option is a new enum variant for dx12 compiler: instead of fxc, dynamically linked dxc, or static dxc, it’s fxc but with dxc precompiled shaders. Since this is an instance flag, we could use it to choose which features to expose.
Describe the solution you'd like
Unsure.
Describe alternatives you've considered
Keep it the way it is or gate these features behind DXC being used on the instance.
Additional context
Comes up in many features. E.g.
- Mesh shaders ([hal/dx12] Mesh Shaders #8110)
- Multiview/view instancing ([hal/dx12] Multiview #8376)
- Probably barycentrics (Implement shader barycentrics #8320)
Discussed briefly in this matrix thread