vkd3d 1.11 přichází s počáteční podporou kompilace bajtkódu Direct3D, DXIL, vylepšení a dalších

vkd3d

vkd3d, je Wine's Direct3D 12 to Vulkan překladová vrstva

Projekt Wine oznámil před několika dny vydání nové verze balíčku vkd3d 1.11, verze, ve které byla zavedena vylepšení v používání rozšíření vulkan, stejně jako vylepšení podpory, nové funkce a další.

Pro ty, kteří o Vkd3d nevědí, měli byste vědět, že se jedná o balíček, který nabízí implementaci Direct3D 12 pomocí volání grafického API Vulkan a zahrnuje několik klíčových knihoven. Knihovna libvkd3d obsahuje implementace Direct3D 12, které pokrývají širokou škálu funkcí, jako jsou výpočetní a grafické, příkazové fronty a seznamy, identifikátory a další.

K dispozici je také knihovna libvkd3d-shader který poskytuje překladač pro shader modely 4 a 5 na přechodnou reprezentaci SPIR-V. Tato knihovna podporuje vertex, pixel, teselaci, výpočty a jednoduché geometrické shadery, stejně jako serializaci a deserializaci kořenového podpisu.

Co je nového ve vkd3d 1.11?

Vkd3d 1.11 zavádí a počáteční podpora pro kompilaci staršího bajtového kódu Direct3D ve střední reprezentaci SPIR-V shaderů, stejně jako spočáteční podpora s kompilátorem HLSL psestavit profily efektů.

Dalším vylepšením, které je představeno v této nové verzi, je experimentální podpora pro kompilaci DXIL (Intermediální jazyk DirectX) v reprezentaci SPIR-V, poskytující nové možnosti pro vývoj aplikací Direct3D. Tato funkce vyžaduje kompilaci vkd3d s volbou 'preprocessor'-DVKD3D_SHADER_UNSUPPORTED_DXIL“ a je považován za experimentální.

Také bylo optimalizováno použití skupin a sad deskriptorů když jsou dostupná rozšíření VK_EXT_mutable_descriptor_type a VK_EXT_shader_viewport_index_layer, který je poskytován za účelem zlepšení efektivity práce s fondem deskriptorů a urychlení vykreslování polí teselace a vertex shader.

c bylo implementovánoPodpora standardních barev ohraničení, jako je černá a bílá a metoda byla implementována GetResourceAllocationInfo1() rozhraní ID3D12Device4, stejně jako podpora pro rozhraní ID3D12Device7 a ID3D12Resource2.

Je podporováno několik dotazů na nové funkce, včetně D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

Byly implementovány nové možnosti sestavení: VKD3D_SHADER_COMPILE_OPTION_FEATURE lze použít pro
specifikovat funkce dostupné v cílovém prostředí, zatímco VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 označuje kompatibilitu s
64bitové celočíselné typy v cílovém prostředí SPIR a  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 označuje kompatibilitu s
64bitové typy s pohyblivou řádovou čárkou v cílovém prostředí SPIR-V.

Z další změny, které vynikají této nové verze:

  • Aktualizace deskriptorů nyní probíhají asynchronně v interním pracovním vláknu, což zlepšuje výkon v aplikacích, které aktualizují mnoho deskriptorů na snímek.
  • Pro cílový typ SPIR-V byly přidány nové funkce, včetně podpory globálně konzistentních přístupových pohledů mimo pořadí, bariér přístupu k zobrazení mimo pořadí skupin vláken a dalších.
  • Je podporováno rozhraní ID3D12Device7.
  • Minimální požadovaná verze Vulkan-Headers pro toto vydání je verze
    1.3.228.
  • Je podporováno rozhraní ID3D12Resource2.
  • Je podporováno několik dotazů na nové funkce:
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • Vlastní funkce acos(), asin(), atan() a atan2() jsou již podporovány.
  • Explicitní mapování registrů pomocí klíčového slova 'register()'
  • Převod z celočíselných typů na pohyblivou řádovou čárku v profilech shader modelu 1-3.

Pro ty, kteří se o tom chtějí dozvědět více, měli byste vědět, že kód projektu je distribuován pod LGPL 2.1 a můžete si přečíst podrobnosti o této nové verzi Na následujícím odkazu.

Jak nainstalovat vkd3d 1.11?

pro zájem o možnost nainstalovat vkd3d Musí vědět, že musí zkompilovat zdrojový kód, takže jej musíme nejprve získat, je důležité zmínit, že Vkd3d závisí na SPIRV-Headers a Vulkan-Headers (>= 1.3.228).

Kompilace je poměrně jednoduchá a k tomu musíme otevřít terminál, do kterého zadáme následující příkaz:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Pokračujeme zadáním složky, do které byl stažen:

cd vkd3d

A pokračujeme ke kompilaci provedením následujících příkazů:

./configure
make
make install

Si chcete vědět více o kompilaci vkd3d si můžete zkontrolovat podrobnosti v tento odkaz


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.