Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets information about the features that are supported by the current graphics driver.
Syntax
HRESULT CheckFeatureSupport(
D3D12_FEATURE Feature,
[in, out] void *pFeatureSupportData,
UINT FeatureSupportDataSize
);
Parameters
Feature
Type: D3D12_FEATURE
A constant from the D3D12_FEATURE enumeration describing the feature(s) that you want to query for support.
[in, out] pFeatureSupportData
Type: void*
A pointer to a data structure that corresponds to the value of the Feature parameter. To determine the corresponding data structure for each constant, see D3D12_FEATURE.
FeatureSupportDataSize
Type: UINT
The size of the structure pointed to by the pFeatureSupportData parameter.
Return value
Type: HRESULT
Returns S_OK if successful. Returns E_INVALIDARG if an unsupported data type is passed to the pFeatureSupportData parameter or if a size mismatch is detected for the FeatureSupportDataSize parameter.
Remarks
As a usage example, to check for ray tracing support, specify the D3D12_FEATURE_DATA_D3D12_OPTIONS5 structure in the pFeatureSupportData parameter. When the function completes successfully, access the RaytracingTier field (which specifies the supported ray tracing tier) of the now-populated D3D12_FEATURE_DATA_D3D12_OPTIONS5 structure.
For more info, see Capability Querying.
Hardware support for DXGI Formats
To view tables of DXGI formats and hardware features, refer to:- DXGI Format Support for Direct3D Feature Level 12.1 Hardware
- DXGI Format Support for Direct3D Feature Level 12.0 Hardware
- DXGI Format Support for Direct3D Feature Level 11.1 Hardware
- DXGI Format Support for Direct3D Feature Level 11.0 Hardware
- Hardware Support for Direct3D 10Level9 Formats
- Format Support for Direct3D Feature Level 10.1 Hardware
- Format Support for Direct3D Feature Level 10.0 Hardware
Examples
The D3D1211on12 sample uses ID3D12Device::CheckFeatureSupport as follows:
inline UINT8 D3D12GetFormatPlaneCount(
_In_ ID3D12Device* pDevice,
DXGI_FORMAT Format
)
{
D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};
if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
{
return 0;
}
return formatInfo.PlaneCount;
}
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Library | D3D12.lib |
DLL | D3D12.dll |