ID3D12ShaderReflection::GetRequiresFlags method (d3d12shader.h)
Gets a group of flags that indicates the requirements of a shader.
Syntax
UINT64 GetRequiresFlags();
Return value
Type: UINT64
A value that contains a combination of one or more shader requirements #define flags; each flag specifies a requirement of the shader. A default value of 0 means there are no requirements.
Shader requirement #define flag | Description |
---|---|
D3D_SHADER_REQUIRES_DOUBLES | Shader requires that the graphics driver and hardware support double data type. |
D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL | Shader requires an early depth stencil. |
D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE | Shader requires unordered access views (UAVs) at every pipeline stage. |
D3D_SHADER_REQUIRES_64_UAVS | Shader requires 64 UAVs. |
D3D_SHADER_REQUIRES_MINIMUM_PRECISION | Shader requires the graphics driver and hardware to support minimum precision. For more info, see Using HLSL minimum precision. |
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS | Shader requires that the graphics driver and hardware support extended doubles instructions. For more info, see the ExtendedDoublesShaderInstructions member of D3D12_FEATURE_DATA_D3D12_OPTIONS. |
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS | Shader requires that the graphics driver and hardware support the msad4 intrinsic function in shaders. For more info, see the SAD4ShaderInstructions member of D3D12_FEATURE_DATA_D3D12_OPTIONS. |
D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING | Shader requires that the graphics driver and hardware support Direct3D 9 shadow support. |
D3D_SHADER_REQUIRES_TILED_RESOURCES | Shader requires that the graphics driver and hardware support tiled resources. |
D3D_SHADER_REQUIRES_STENCIL_REF | Shader requires a reference value for depth stencil tests. For more info, see the PSSpecifiedStencilRefSupported member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure, and ID3D12GraphicsCommandList::OMSetStencilRef. |
D3D_SHADER_REQUIRES_INNER_COVERAGE | Shader requires that the graphics driver and hardware support inner coverage.For more info, see the enumeration constants D3D_NAME_INNER_COVERAGE and D3D11_NAME_INNER_COVERAGE in D3D_NAME. |
D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS | Shader requires that the graphics driver and hardware support the loading of additional formats for typed unordered-access views (UAVs). See the TypedUAVLoadAdditionalFormats member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure. |
D3D_SHADER_REQUIRES_ROVS | Shader requires that the graphics driver and hardware support rasterizer ordered views (ROVs). See Rasterizer Ordered Views. |
D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER | Shader requires that the graphics driver and hardware support viewport and render target array index values from any shader-feeding rasterizer.For more info, see the member VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure. |
Remarks
Here is how the D3D12Shader.h header defines the shader requirements flags:
#define D3D_SHADER_REQUIRES_DOUBLES 0x00000001
#define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002
#define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004
#define D3D_SHADER_REQUIRES_64_UAVS 0x00000008
#define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010
#define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020
#define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040
#define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080
#define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100
#define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200
#define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400
#define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800
#define D3D_SHADER_REQUIRES_ROVS 0x00001000
#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000
Requirements
Target Platform | Windows |
Header | d3d12shader.h |