Livelli di funzionalità hardware

Descrive la funzionalità dei livelli di funzionalità 11_0 a 12_1.

Per gestire la diversità delle schede video nelle macchine nuove e esistenti, Microsoft Direct3D 11 ha introdotto il concetto di livelli di funzionalità. Ogni scheda video implementa un determinato livello di funzionalità Microsoft DirectX (DX) a seconda delle unità di elaborazione grafica (GPU) installate. Un livello di funzionalità è un set ben definito di funzionalità GPU. Ad esempio, il livello di funzionalità 11_0 implementa la funzionalità implementata in Direct3D 11.

Quando si crea un dispositivo, è possibile provare a creare un dispositivo per il livello di funzionalità che si vuole richiedere. Se la creazione del dispositivo funziona, tale livello di funzionalità esiste, in caso contrario, l'hardware non supporta tale livello di funzionalità. È possibile provare a ricreare un dispositivo a livello di funzionalità inferiore oppure scegliere di uscire dall'applicazione.

Le proprietà di base dei livelli di funzionalità sono:

  • Tutti i driver Direct3D 12 saranno a livello di funzionalità 11_0 o superiore.
  • Una GPU che consente la creazione di un dispositivo soddisfa o supera la funzionalità di tale livello di funzionalità.
  • Un livello di funzionalità include sempre la funzionalità dei livelli di funzionalità precedenti o inferiori.
  • Un livello di funzionalità non implica prestazioni, solo funzionalità. Le prestazioni dipendono dall'implementazione hardware.
  • Un livello di funzionalità viene scelto quando si chiama D3D12CreateDevice.
  • Per informazioni più dettagliate sulle funzionalità supportate (soprattutto quelle contrassegnate facoltative nella tabella seguente, il che significa che l'hardware potrebbe supportare la funzionalità ma non è necessario) chiamare CheckFeatureSupport.

Per informazioni sulle limitazioni sulla creazione di dispositivi di tipo non hardware in determinati livelli di funzionalità, vedere Limitazioni creazione di dispositivi WARP e riferimenti. Per altre informazioni sull'introduzione dei livelli di funzionalità, vedere la documentazione di Direct3D 11 sui livelli di funzionalità Direct3D.

Sistemi di numerazione

I livelli di funzionalità hardware non sono uguali alle versioni api. Ad esempio, esiste un'API D3D11.3, ma non esiste alcun livello di funzionalità hardware 11_3. I livelli di funzionalità vengono definiti nell'enumerazione D3D_FEATURE_LEVEL .

Esistono tre sistemi di numerazione distinti:

  • Le versioni Direct3D usano un periodo; Ad esempio, Direct3D 12.0.
  • I modelli shader usano un periodo; ad esempio, modello shader 5.1.
  • I livelli di funzionalità usano un carattere di sottolineatura; ad esempio, livello di funzionalità 12_0.

Supporto a livello di funzionalità

Le funzionalità seguenti sono disponibili per ogni livello di funzionalità Direct3D.

Le intestazioni nella riga superiore sono livelli di funzionalità Direct3D. Le intestazioni nella colonna a sinistra sono caratteristiche.

Funzionalità \ Livello di funzionalità 12_1 __ 12_0 __ 11_1¹ 11_0
Modello di shader 6,0 6.0 6.0/5.1² 6.0/5.1²
Livello di associazione di risorse Tier2³ Tier2³ Tier1³ Tier1³
Risorse riquadri Tier2³ Tier2³ Facoltativo Facoltativo
Rasterizzazione conservativa Tier1³ Facoltativo Facoltativo No
Visualizzazioni ordinate di Rasterizer Facoltativo Facoltativo No
Filtri min/max Facoltativo No
Mapping del buffer predefinito Facoltativo Facoltativo Facoltativo Facoltativo
Valore di riferimento Stencil specificato per shader Facoltativo Facoltativo Facoltativo No
Caricamento della visualizzazione di accesso non ordinato 18 formati, più facoltativo 18 formati, più facoltativo 3 formati, più facoltativo 3 formati, più facoltativo
Geometry shader
Stream Out
DirectCompute/Compute Shader
Hull e Domain Shader
Matrici di risorse trama
Matrici di risorse cubemap
Compressione BC1 a BC7
Alfa-to-coverage
Operazioni per la logica (fusione di output) Facoltativo
Rasterizzazione indipendente dalla destinazione No
Destinazione di rendering multipla (MRT) con ForcedSampleCount 1 Facoltativo
Numero massimo di esempi forzati per il rendering solo UAV 16 16 16 8
Dimensione massima trama 16384 16384 16384 16384
Dimensione max cubemap 16384 16384 16384 16384
Numero massimo di volume 2048 2048 2048 2048
Ripetizione massima trama 16384 16384 16384 16384
Max Anisotropy 16 16 16 16
Numero massimo primitivo 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Indice max vertex 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Max Input Slot 32 32 32 32
Destinazioni di rendering simultanee 8 8 8 8
Query di occlusione
Blend alfa separato
Mirror Una volta
Elementi del vertice sovrapposti
Maschere di scrittura indipendenti
Instancing

 

  • KPI richiede il runtime Direct3D 11.3 o Direct3D 12.
  • ¹ Richiede il runtime Direct3D 11.1.
  • ² Modello shader 5.0 può facoltativamente supportare shader a precisione doppia, shader con precisione doppia estesa, istruzioni dello shader SAD4 e shader di precisione parziale. Per determinare le opzioni del modello shader 5.0 disponibili, chiamare ID3D12Device::CheckFeatureSupport. La compatibilità dipende dall'hardware in esecuzione: shader model 5.1 è supportato solo sull'hardware che supporta l'API DirectX 12, indipendentemente dal livello di funzionalità usato. L'hardware DirectX 11 supporta solo fino al modello shader 5.0. L'API DirectX 12 scende solo a livello di funzionalità 11_0.
  • I livelli ³ superiori sono facoltativi.
  • I livelli di funzionalità 12_0 e 12_1 richiedono il runtime Direct3D 11.3 o Direct3D 12.
  • Il livello di funzionalità 11_1 richiede il runtime Direct3D 11.1.
  • Il livello di funzionalità 11_0 richiede il runtime Direct3D 11.0.

Supporto hardware per i formati DXGI

Per visualizzare tabelle di formati DXGI e funzionalità hardware, vedere:

Query sulle funzionalità

Informazioni su Direct3D 12