共用方式為


能力查詢

您的應用程式可以探索資源系結的支持層級(以及許多其他功能的支持層級),並呼叫 ID3D12Device::CheckFeatureSupport

如何查詢資源系結層

第一個範例著重於資源系結。 每個資源系結層都是功能中較低層的超集,因此在指定層上運作的程式代碼在任何較高層上都保持不變。

資源系結層是 D3D12_RESOURCE_BINDING_TIER 列舉中的常數。

若要查詢資源系結層,請使用這類程序代碼。 此程式代碼範例示範查詢任何各種功能支援的一般模式。

D3D12_RESOURCE_BINDING_TIER get_resource_binding_tier(::ID3D12Device* pIDevice)
{
    D3D12_FEATURE_DATA_D3D12_OPTIONS featureSupport{};
    winrt::check_hresult(
        pIDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &featureSupport, sizeof(featureSupport))
    );

    switch (featureSupport.ResourceBindingTier)
    {
    case D3D12_RESOURCE_BINDING_TIER_1:
        // Tier 1 is supported.
        break;

    case D3D12_RESOURCE_BINDING_TIER_2:
        // Tiers 1 and 2 are supported.
        break;

    case D3D12_RESOURCE_BINDING_TIER_3:
        // Tiers 1, 2, and 3 are supported.
        break;
    }

    return featureSupport.ResourceBindingTier;
}

請注意,您傳遞的任何列舉常數(在此案例中為 ,D3D12_FEATURE_D3D12_OPTIONS)都有對應的數據結構,可接收該功能或特性集的相關信息(在此案例中為D3D12_FEATURE_DATA_D3D12_OPTIONS)。 始終將指標傳遞至與您所傳遞的列舉常數相符的結構。

如何查詢任何功能層級

除了資源系結層,還有其他許多功能,其支援層級可讓您使用上述程式代碼範例所示的相同模式進行查詢。 您只要將與 D3D12_FEATURE 列舉不同的常數傳遞至 ID3D12Device::CheckFeatureSupport(告知 API 要求支持資訊的功能),並將指標傳遞至相符結構的實例(在其中接收要求的資訊)。

DXGI 格式的硬體支援

若要檢視 DXGI 格式和硬體功能的數據表,請參閱這些主題。