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 = 0,
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 = 0,
D3D12_FEATURE_D3D12_OPTIONS11 = 0
} D3D12_FEATURE
Constants
| Constant | Description |
|---|---|
| D3D12_FEATURE_D3D12_OPTIONS | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Indicates a query for root signature version support. The corresponding data structure for this value is D3D12_FEATURE_DATA_ROOT_SIGNATURE. |
| D3D12_FEATURE_ARCHITECTURE1 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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
Header: d3d12_xs.h or d3d12_x.hLibrary: d3d12_xs.lib or d3d12_x.lib
Supported Platforms: XBOX Series consoles and XBOX One family
