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