D3D12_FEATURE enumeration (d3d12.h)
Defines constants that specify a Direct3D 12 feature or feature set to query about. When you want to query for the level to which an adapter supports a feature, pass one of these values to ID3D12Device::CheckFeatureSupport.
Syntax
typedef enum D3D12_FEATURE {
D3D12_FEATURE_D3D12_OPTIONS = 0,
D3D12_FEATURE_ARCHITECTURE = 1,
D3D12_FEATURE_FEATURE_LEVELS = 2,
D3D12_FEATURE_FORMAT_SUPPORT = 3,
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
D3D12_FEATURE_FORMAT_INFO = 5,
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
D3D12_FEATURE_SHADER_MODEL = 7,
D3D12_FEATURE_D3D12_OPTIONS1 = 8,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
D3D12_FEATURE_ROOT_SIGNATURE = 12,
D3D12_FEATURE_ARCHITECTURE1 = 16,
D3D12_FEATURE_D3D12_OPTIONS2 = 18,
D3D12_FEATURE_SHADER_CACHE = 19,
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
D3D12_FEATURE_D3D12_OPTIONS3 = 21,
D3D12_FEATURE_EXISTING_HEAPS = 22,
D3D12_FEATURE_D3D12_OPTIONS4 = 23,
D3D12_FEATURE_SERIALIZATION = 24,
D3D12_FEATURE_CROSS_NODE = 25,
D3D12_FEATURE_D3D12_OPTIONS5 = 27,
D3D12_FEATURE_DISPLAYABLE,
D3D12_FEATURE_D3D12_OPTIONS6 = 30,
D3D12_FEATURE_QUERY_META_COMMAND = 31,
D3D12_FEATURE_D3D12_OPTIONS7 = 32,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
D3D12_FEATURE_D3D12_OPTIONS8 = 36,
D3D12_FEATURE_D3D12_OPTIONS9 = 37,
D3D12_FEATURE_D3D12_OPTIONS10,
D3D12_FEATURE_D3D12_OPTIONS11,
D3D12_FEATURE_D3D12_OPTIONS12,
D3D12_FEATURE_D3D12_OPTIONS13,
D3D12_FEATURE_D3D12_OPTIONS14,
D3D12_FEATURE_D3D12_OPTIONS15,
D3D12_FEATURE_D3D12_OPTIONS16,
D3D12_FEATURE_D3D12_OPTIONS17,
D3D12_FEATURE_D3D12_OPTIONS18,
D3D12_FEATURE_D3D12_OPTIONS19,
D3D12_FEATURE_D3D12_OPTIONS20,
D3D12_FEATURE_PREDICATION,
D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO,
D3D12_FEATURE_HARDWARE_COPY,
D3D12_FEATURE_D3D12_OPTIONS21
} ;
Constants
D3D12_FEATURE_D3D12_OPTIONS Value: 0 Indicates a query for the level of support for basic Direct3D 12 feature options. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS. |
D3D12_FEATURE_ARCHITECTURE Value: 1 Indicates a query for the adapter's architectural details, so that your application can better optimize for certain adapter properties. The corresponding data structure for this value is D3D12_FEATURE_DATA_ARCHITECTURE. Note This value has been superseded by the D3D_FEATURE_DATA_ARCHITECTURE1 value. If your application targets Windows 10, version 1703 (Creators' Update) or higher, then use the D3D_FEATURE_DATA_ARCHITECTURE1 value instead. |
D3D12_FEATURE_FEATURE_LEVELS Value: 2 Indicates a query for info about the feature levels supported. The corresponding data structure for this value is D3D12_FEATURE_DATA_FEATURE_LEVELS. |
D3D12_FEATURE_FORMAT_SUPPORT Value: 3 Indicates a query for the resources supported by the current graphics driver for a given format. The corresponding data structure for this value is D3D12_FEATURE_DATA_FORMAT_SUPPORT. |
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS Value: 4 Indicates a query for the image quality levels for a given format and sample count. The corresponding data structure for this value is D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS. |
D3D12_FEATURE_FORMAT_INFO Value: 5 Indicates a query for the DXGI data format. The corresponding data structure for this value is D3D12_FEATURE_DATA_FORMAT_INFO. |
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT Value: 6 Indicates a query for the GPU's virtual address space limitations. The corresponding data structure for this value is D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT. |
D3D12_FEATURE_SHADER_MODEL Value: 7 Indicates a query for the supported shader model. The corresponding data structure for this value is D3D12_FEATURE_DATA_SHADER_MODEL. |
D3D12_FEATURE_D3D12_OPTIONS1 Value: 8 Indicates a query for the level of support for HLSL 6.0 wave operations. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS1. |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT Value: 10 Indicates a query for the level of support for protected resource sessions. The corresponding data structure for this value is D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT. |
D3D12_FEATURE_ROOT_SIGNATURE Value: 12 Indicates a query for root signature version support. The corresponding data structure for this value is D3D12_FEATURE_DATA_ROOT_SIGNATURE. |
D3D12_FEATURE_ARCHITECTURE1 Value: 16 Indicates a query for each adapter's architectural details, so that your application can better optimize for certain adapter properties. The corresponding data structure for this value is D3D12_FEATURE_DATA_ARCHITECTURE1. Note This value supersedes the D3D_FEATURE_DATA_ARCHITECTURE value. If your application targets Windows 10, version 1703 (Creators' Update) or higher, then use D3D_FEATURE_DATA_ARCHITECTURE1. |
D3D12_FEATURE_D3D12_OPTIONS2 Value: 18 Indicates a query for the level of support for depth-bounds tests and programmable sample positions. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS2. |
D3D12_FEATURE_SHADER_CACHE Value: 19 Indicates a query for the level of support for shader caching. The corresponding data structure for this value is D3D12_FEATURE_DATA_SHADER_CACHE. |
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY Value: 20 Indicates a query for the adapter's support for prioritization of different command queue types. The corresponding data structure for this value is D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY. |
D3D12_FEATURE_D3D12_OPTIONS3 Value: 21 Indicates a query for the level of support for timestamp queries, format-casting, immediate write, view instancing, and barycentrics. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS3. |
D3D12_FEATURE_EXISTING_HEAPS Value: 22 Indicates a query for whether or not the adapter supports creating heaps from existing system memory. The corresponding data structure for this value is D3D12_FEATURE_DATA_EXISTING_HEAPS. |
D3D12_FEATURE_D3D12_OPTIONS4 Value: 23 Indicates a query for the level of support for 64KB-aligned MSAA textures, cross-API sharing, and native 16-bit shader operations. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS4. |
D3D12_FEATURE_SERIALIZATION Value: 24 Indicates a query for the level of support for heap serialization. The corresponding data structure for this value is D3D12_FEATURE_DATA_SERIALIZATION. |
D3D12_FEATURE_CROSS_NODE Value: 25 Indicates a query for the level of support for the sharing of resources between different adapters—for example, multiple GPUs. The corresponding data structure for this value is D3D12_FEATURE_DATA_CROSS_NODE. |
D3D12_FEATURE_D3D12_OPTIONS5 Value: 27 Starting with Windows 10, version 1809 (10.0; Build 17763), indicates a query for the level of support for render passes, ray tracing, and shader-resource view tier 3 tiled resources. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS5. |
D3D12_FEATURE_DISPLAYABLE Starting with Windows 11 (Build 10.0.22000.194). The corresponding data structure for this value is D3D12_FEATURE_DATA_DISPLAYABLE. |
D3D12_FEATURE_D3D12_OPTIONS6 Value: 30 Starting with Windows 10, version 1903 (10.0; Build 18362), indicates a query for the level of support for variable-rate shading (VRS), and indicates whether or not background processing is supported. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS6. For more info, see Variable-rate shading (VRS), and the Direct3D 12 background processing spec. |
D3D12_FEATURE_QUERY_META_COMMAND Value: 31 Indicates a query for the level of support for metacommands. The corresponding data structure for this value is D3D12_FEATURE_DATA_QUERY_META_COMMAND. |
D3D12_FEATURE_D3D12_OPTIONS7 Value: 32 Starting with Windows 10, version 2004 (10.0; Build 19041), indicates a query for the level of support for mesh and amplification shaders, and for sampler feedback. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS7. For more info, see the Mesh shader and Sampler feedback specs. |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT Value: 33 Starting with Windows 10, version 2004 (10.0; Build 19041), indicates a query to retrieve the count of protected resource session types. The corresponding data structure for this value is D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT. |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES Value: 34 Starting with Windows 10, version 2004 (10.0; Build 19041), indicates a query to retrieve the list of protected resource session types. The corresponding data structure for this value is D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES. |
D3D12_FEATURE_D3D12_OPTIONS8 Value: 36 Starting with Windows 11 (Build 10.0.22000.194), indicates whether or not unaligned block-compressed textures are supported. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS8. |
D3D12_FEATURE_D3D12_OPTIONS9 Value: 37 Starting with Windows 11 (Build 10.0.22000.194), indicates whether or not support exists for mesh shaders, values of SV_RenderTargetArrayIndex that are 8 or greater, typed resource 64-bit integer atomics, derivative and derivative-dependent texture sample operations, and the level of support for WaveMMA (wave_matrix) operations. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS9. |
D3D12_FEATURE_D3D12_OPTIONS10 Starting with Windows 11 (Build 10.0.22000.194), indicates whether or not the SUM combiner can be used, and whether or not SV_ShadingRate can be set from a mesh shader. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS10. |
D3D12_FEATURE_D3D12_OPTIONS11 Starting with Windows 11 (Build 10.0.22000.194), indicates whether or not 64-bit integer atomics on resources in descriptor heaps are supported. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS11. |
Remarks
Use a constant from this enumeration in a call to ID3D12Device::CheckFeatureSupport to query a driver about support for various Direct3D 12 features. Each value in this enumeration has a corresponding data structure that you must pass (by pointer reference) in the pFeatureSupportData parameter of ID3D12Device::CheckFeatureSupport.
Requirements
Requirement | Value |
---|---|
Header | d3d12.h |