-
Notifications
You must be signed in to change notification settings - Fork 17
Description
DXIL output contains various flags that tell the runtime about what optional features the shader might be using - for example, wave operations, doubles, 64-bit integers.
All shader flags specified in DXC output along with conditions that set each of them is catalogued here.
Support for appropriately setting the same set of flags in the clang-based HLSL Shader compiler needs to be implemented by enhancing the existing ShaderFlagsAnalysis pass in DXILShaderFlags.cpp. The existing Module pass needs to be extended to walk all constituent functions to collect shader flags for the candidate function. Results of the analysis pass is a map of shader functions to corresponding shader flags mask.
- [DirectX] Extend existing Module pass to collect shader flags per-function llvm-project#111867
- [DirectX] Propagate shader flags mask for entry functions llvm-project#112949
- [DirectX] Collect shader flags based on module properties, target shader stage or validator version llvm-project#112044
- [DirectX] Implement Shader Flag Analysis to collect properties of DML shaders llvm-project#113505
- [DirectX] Collect Shader Flags Mask based on Instructions Used and Shader Kind llvm-project#116125
- [DirectX] Collect Shader Flags Mask based on Resource properties in the Shader llvm-project#116143
- [DirectX] Collect Shader Flags Mask based on Input/Output Entry Signature llvm-project#116200
- [DirectX] Implement Shader Flags Analysis for WriteableMSAATextures llvm-project#116203
- [DirectX] Implement Shader Flag Analysis for RequiresGroup llvm-project#116276
- [DirectX] Update DXContainerGlobals to get the shader flags from metadata rather than analysis llvm-project#120152
NOTE: Analysis to set the following Shader Flags is not done as it appears that they are not being set in DXC sources based on module content. Listing them for the record and potential reclassification as needed.
DisableMathRefactoringComputeShadersPlusRawAndStructuredBuffers(Only set for SM 4.0)ROVsSamplerFeedback
Milestones
Compile particle_life.hlsl (#20)
- [DirectX] Shader Flag Analysis to indicate use of Raw and Structured Buffers llvm-project#112273
- [DirectX] Implement Shader Flags Analysis for TypedUAVLoadAdditionalFormats llvm-project#114557
Set based on properties ofDXIL::Opcode::BufferLoad, if present, in the candidate function - see here - [DirectX] Run shader flags analysis before DXILOpLowering llvm-project#120119
Compile a broad selection of compute shaders (#11)
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status