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

See also

Checking Hardware Feature Support

ID3D12ShaderReflection