Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Uw toepassing kan het ondersteuningsniveau voor resourcebinding (evenals het ondersteuningsniveau voor veel andere functies) detecteren, met een aanroep naar ID3D12Device::CheckFeatureSupport.
Hoe query's uit te voeren voor het resources-bindingsniveau
Dit eerste voorbeeld concentreert zich op resource binding. Elke resourcebindingslaag is een superset van lagere lagen in functionaliteit, dus code die op een bepaalde laag werkt, werkt ongewijzigd op een hogere laag.
De resource bindingniveaus zijn constanten in de enumeratie D3D12_RESOURCE_BINDING_TIER.
Als u een query wilt uitvoeren voor de resourcebindingslaag, gebruikt u code zoals deze. In dit codevoorbeeld ziet u het algemene patroon voor het uitvoeren van query's op een van de verschillende soorten functieondersteuning.
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;
}
Houd er rekening mee dat elke geïnventariseerd constante die u doorgeeft (D3D12_FEATURE_D3D12_OPTIONS, in dit geval) een bijbehorende gegevensstructuur heeft die informatie ontvangt over die functie of set functies (in dit gevalD3D12_FEATURE_DATA_D3D12_OPTIONS). Geef altijd een aanwijzer door aan de structuur die overeenkomt met de opgesomde constante die u doorgeeft.
Query's uitvoeren op elk functieniveau
Naast de resourcebindingslaag zijn er veel andere functies waarvan u op ondersteuningsniveau kunt zoeken met hetzelfde patroon dat in het bovenstaande codevoorbeeld wordt weergegeven. U geeft alleen een andere constante door dan de D3D12_FEATURE opsomming aan ID3D12Device::CheckFeatureSupport (om de API te vertellen over welke functie ondersteuningsinformatie moet worden aangevraagd) en geeft u een aanwijzer door naar een exemplaar van de overeenkomende structuur (waarin de aangevraagde gegevens moeten worden ontvangen).
- Geef D3D12_FEATURE_ARCHITECTURE en D3D12_FEATURE_DATA_ARCHITECTUREdoor.
- Geef D3D12_FEATURE_ARCHITECTURE1 en D3D12_FEATURE_DATA_ARCHITECTURE1.
- Geef D3D12_FEATURE_COMMAND_QUEUE_PRIORITY en D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITYdoor.
- Geef D3D12_FEATURE_CROSS_NODE en D3D12_FEATURE_DATA_CROSS_NODEdoor.
- Geef D3D12_FEATURE_D3D12_OPTIONS en D3D12_FEATURE_DATA_D3D12_OPTIONSdoor.
- Geef D3D12_FEATURE_D3D12_OPTIONS1 en D3D12_FEATURE_DATA_D3D12_OPTIONS1door.
- Geef D3D12_FEATURE_D3D12_OPTIONS2 en D3D12_FEATURE_DATA_D3D12_OPTIONS2door.
- Geef D3D12_FEATURE_D3D12_OPTIONS3 en D3D12_FEATURE_DATA_D3D12_OPTIONS3door.
- Geef D3D12_FEATURE_D3D12_OPTIONS4 en D3D12_FEATURE_DATA_D3D12_OPTIONS4door.
- Geef D3D12_FEATURE_D3D12_OPTIONS5 en D3D12_FEATURE_DATA_D3D12_OPTIONS5door.
- Geef D3D12_FEATURE_EXISTING_HEAPS en D3D12_FEATURE_DATA_EXISTING_HEAPS.
- Geef D3D12_FEATURE_FEATURE_LEVELS en D3D12_FEATURE_DATA_FEATURE_LEVELSdoor.
- Geef D3D12_FEATURE_FORMAT_INFO en D3D12_FEATURE_DATA_FORMAT_INFOdoor.
- Geef D3D12_FEATURE_FORMAT_SUPPORT en D3D12_FEATURE_DATA_FORMAT_SUPPORTdoor.
- Geef D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT en D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORTdoor.
- Geef D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS en D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELSdoor.
- Geef D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT en D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORTdoor.
- Geef D3D12_FEATURE_ROOT_SIGNATURE en D3D12_FEATURE_DATA_ROOT_SIGNATUREdoor.
- Geef D3D12_FEATURE_SERIALIZATION en D3D12_FEATURE_DATA_SERIALIZATIONdoor.
- Verzend D3D12_FEATURE_SHADER_CACHE en D3D12_FEATURE_DATA_SHADER_CACHE.
- Geef D3D12_FEATURE_SHADER_MODEL en D3D12_FEATURE_DATA_SHADER_MODELdoor.
Hardwareondersteuning voor DXGI-indelingen
Raadpleeg deze onderwerpen om tabellen met DXGI-indelingen en hardwarefuncties weer te geven.
- DXGI Format-ondersteuning voor Direct3D-feature level 12.1-hardware
- DXGI Format Support voor Direct3D Feature Level 12.0 Hardware
- Ondersteuning voor DXGI-indeling voor Direct3D Functieniveau 11.1 Hardware
- DXGI-indelingondersteuning voor Direct3D-functieniveau 11.0-hardware
- Hardwareondersteuning voor Direct3D 10Level9-indelingen
- Hardwareondersteuning voor Direct3D 10.1-indelingen
- Hardwareondersteuning voor Direct3D 10-indelingen