Úrovně hardwarových funkcí
Popisuje funkce úrovní hardwarových funkcí 11_0 až 12_1.
- systémů číslování
- podpora na úrovni funkcí
- podpora hardwaru pro formáty DXGI
- související témata
Microsoft Direct3D 11 představil koncept úrovní funkcí, aby zvládl rozmanitost grafických karet v nových a existujících počítačích. Každá grafická karta implementuje určitou úroveň funkcí Microsoft DirectX (DX) v závislosti na nainstalovaných grafických procesorech (GPU). Úroveň funkcí je dobře definovaná sada funkcí GPU. Například úroveň funkce 11_0 implementuje funkce implementované v Direct3D 11.
Když teď vytvoříte zařízení, můžete se pokusit vytvořit zařízení na úrovni funkce, kterou chcete požádat. Pokud vytváření zařízení funguje, existuje tato úroveň funkce, pokud ne, hardware tuto úroveň funkcí nepodporuje. Můžete se pokusit znovu vytvořit zařízení na nižší úrovni funkce, nebo se můžete rozhodnout aplikaci ukončit.
Základní vlastnosti úrovní funkcí jsou:
- Všechny ovladače Direct3D 12 budou mít úroveň funkcí 11_0 nebo lepší.
- GPU, které umožňuje vytvoření zařízení, splňuje nebo překračuje funkčnost dané úrovně funkcí.
- Úroveň funkce vždy zahrnuje funkce předchozích nebo nižších úrovní funkcí.
- Úroveň funkce neznamená výkon, pouze funkce. Výkon závisí na implementaci hardwaru.
- Úroveň funkce se vybere při volání D3D12CreateDevice.
- Podrobnější informace o podporovaných funkcích (zejména těch, které jsou označené Volitelné v tabulce níže, což znamená, že hardware může funkci podporovat, ale nemusí) volat CheckFeatureSupport.
Informace o omezeních, která vytvářejí zařízení jiného typu než hardware na určitých úrovních funkcí, najdete v tématu Omezení vytváření WARP a referenčních zařízení. Další informace o zavedení úrovní funkcí najdete v dokumentaci Direct3D 11 k úrovních funkcí Direct3D.
Číslování systémů
Úrovně hardwarových funkcí se stejné jako verze rozhraní API. Například existuje rozhraní API D3D11.3, ale neexistuje žádná úroveň hardwarové funkce 11_3. Úrovně funkcí jsou definovány v D3D_FEATURE_LEVEL výčtu.
Existují tři různé systémy číslování:
- Verze Direct3D používají období; Například Direct3D 12.0.
- Modely shaderu používají období; Například shader model 5.1.
- Úrovně funkcí používají podtržítko; Například úroveň funkce 12_0.
Podpora na úrovni funkcí
Pro každou úroveň funkcí Direct3D jsou k dispozici následující funkce.
Nadpisy v horním řádku jsou úrovně funkcí Direct3D. Nadpisy v levém sloupci jsou funkce.
Feature \ Feature Level | 12_1⁰ | 12_0⁰ | 11_1¹ | 11_0 |
---|---|---|---|---|
Model shaderu | 6.0 | 6.0 | 6,0/5,1² | 6,0/5,1² |
vrstvy vazby prostředků | Vrstva 2³ | Vrstva 2³ | Vrstva 1³ | Vrstva 1³ |
dlaždicových prostředků | Vrstva 2³ | Vrstva 2³ | Volitelný | Volitelný |
konzervativní rasterizace | Vrstva 1³ | Volitelný | Volitelný | Ne |
seřazená zobrazení rasterizátoru | Ano | Volitelný | Volitelný | Ne |
minimální/maximální filtry | Ano | Ano | Volitelný | Ne |
Výchozí vyrovnávací paměť mapování | Volitelný | Volitelný | Volitelný | Volitelný |
referenční hodnota vzorníku | Volitelný | Volitelný | Volitelný | Ne |
Typ neseřazené zobrazení přístupu se načte | 18 formátů, více volitelných | 18 formátů, více volitelných | 3 formáty, další volitelné | 3 formáty, další volitelné |
shaderu geometrie | Ano | Ano | Ano | Ano |
Stream Out | Ano | Ano | Ano | Ano |
DirectCompute / shaderu výpočetních prostředků | Ano | Ano | Ano | Ano |
trupu a doménových shaderů | Ano | Ano | Ano | Ano |
pole prostředků textury | Ano | Ano | Ano | Ano |
pole prostředků mapy datové krychle | Ano | Ano | Ano | Ano |
BC1 až BC7 Compression | Ano | Ano | Ano | Ano |
alfa-pokrytí | Ano | Ano | Ano | Ano |
logic operations (výstupní fúze) | Ano | Ano | Ano | Volitelný |
Rasterizace nezávislá na cíli | Ano | Ano | Ano | Ne |
více cílů vykreslení (MRT) s vynuceným | Ano | Ano | Ano | Volitelný |
maximální počet vynucených vzorků pro vykreslovací jen UAV | 16 | 16 | 16 | 8 |
Maximální rozměr textury | 16384 | 16384 | 16384 | 16384 |
Maximální dimenze mapy datové krychle | 16384 | 16384 | 16384 | 16384 |
Maximální rozsah svazku | 2048 | 2048 | 2048 | 2048 |
Maximální opakování textury | 16384 | 16384 | 16384 | 16384 |
Max Anisotropy | 16 | 16 | 16 | 16 |
Maximální primitivní počet | 2^32 –1 | 2^32 –1 | 2^32 –1 | 2^32 –1 |
Maximální index vrcholů | 2^32 –1 | 2^32 –1 | 2^32 –1 | 2^32 –1 |
Maximální vstupní sloty | 32 | 32 | 32 | 32 |
Cíle souběžných vykreslování | 8 | 8 | 8 | 8 |
Dotazy na okluzi | Ano | Ano | Ano | Ano |
Samostatný alfa blend | Ano | Ano | Ano | Ano |
Zrcadlit jednou | Ano | Ano | Ano | Ano |
Překrývající se prvky vrcholu | Ano | Ano | Ano | Ano |
Nezávislé masky zápisu | Ano | Ano | Ano | Ano |
Instance | Ano | Ano | Ano | Ano |
- ⁰ Vyžaduje modul runtime Direct3D 11.3 nebo Direct3D 12.
- ¹ Vyžaduje modul runtime Direct3D 11.1.
- ² Model shaderu 5,0 může volitelně podporovat dvoupřesné shadery, rozšířené dvoupřesné shadery, SAD4 instrukce shaderu a částečné přesnosti shaderů. Pokud chcete určit dostupné možnosti shaderu 5.0, zavolejte ID3D12Device::CheckFeatureSupport. Některá kompatibilita závisí na hardwaru, na kterém běží: Model Shader 5.1 se podporuje jenom na hardwaru, který podporuje rozhraní API DirectX 12 bez ohledu na použitou úroveň funkcí. Hardware DirectX 11 podporuje pouze model shaderu 5.0. Rozhraní API DirectX 12 klesne jenom na úroveň funkce 11_0.
- ³ Vyšší úrovně jsou volitelné.
- Úrovně funkcí 12_0 a 12_1 vyžadují modul runtime Direct3D 11.3 nebo Direct3D 12.
- Úroveň funkce 11_1 vyžaduje modul runtime Direct3D 11.1.
- Úroveň funkce 11_0 vyžaduje modul runtime Direct3D 11.0.
Podpora hardwaru pro formáty DXGI
Pokud chcete zobrazit tabulky formátů DXGI a hardwarových funkcí, přečtěte si:
- podpora formátu DXGI pro hardwarovou úrovně 12.1 s rozhraním Direct3D
- podpora formátu DXGI pro hardwarovou úrovně funkcí Direct3D 12.0
- podpora formátu DXGI pro hardwarovou úrovně 11.1 direct3D
- podpora formátu DXGI pro hardwarovou úroveň 11.0
- podpora hardwaru pro formáty Direct3D 10Level9
- podpora hardwaru pro formáty Direct3D 10.1
- podpora hardwaru pro formáty Direct3D 10
Související témata