Tým Wine vydal VKD3D 2.0 — hlavní vydání knihovny, která implementuje provoz aplikací s Direct3D 12 přes VulkanVKD3D se používá v běžném upstreamovém prostředí Wine pro podporu aplikací D3D12; nemělo by se zaměňovat s VKD3D-Proton, samostatná herní větev od Valve, používaná v Proton/Steam Play.
Projekt je distribuován pod licencí GNU Lesser General Public License 2.1 nebo novější. Uvolněte zdrojový kód Kód je publikován na WineHQ a je k dispozici také prostřednictvím repozitářů Wine.
VKD3D 2.0 se stal přechodem z větve 1.19 Přímo k nové hlavní verzi. Hlavní důraz je kladen na vývoj shaderového subsystému a nízkoúrovňovou kompatibilitu s Direct3D 12.
Klíčové změny:
Vylepšené zpracování HLSL shaderů. Podpora jazyka HLSL byla rozšířena: bylo implementováno více operací, které nyní správně zpracovává kompilátor a překladač VKD3D. To je důležité pro spouštění aplikací, které používají nativní shadery HLSL, nikoli pouze předkompilovaný bajtkód.
Vylepšená podpora pro starší bytecode Direct3D. Vylepšená práce se staršími typy zdrojových kódů bytecode Direct3D pro zajištění kompatibility se staršími formáty shaderů a nástroji, které se stále nacházejí v aplikacích a enginech.
Vylepšená práce s DXIL. VKD3D 2.0 nadále zdokonaluje zpracování DXIL, moderní mezilehlé reprezentace shaderů DirectX. Jedná se o klíčový formát pro D3D12, takže tyto změny přímo ovlivňují správné spouštění novějších aplikací.
Přidána vylepšení efektů. Tato verze obsahuje změny týkající se efektů – mechanismů pro popis a aplikaci grafických efektů v Direct3D stacku. Jedná se spíše o infrastrukturní komponentu, ale je důležitá pro kompatibilitu se stávajícím grafickým kódem.
Byla přidána experimentální podpora pro MSL. VKD3D 2.0 získal experimentální podporu pro generování MSL — Jazyk Metal Shading Language. Zaměřuje se na přenositelnost shaderů napříč platformami, kde se Vulkan obvykle používá prostřednictvím dalších vrstev kompatibility.
Rozšířená rozhraní a možnosti ladění. Vývojáři přidali nová rozhraní a vylepšili ladicí nástroje VKD3D, což by mělo zjednodušit vývoj, diagnostiku chyb a další rozvoj podpory Direct3D 12 ve Wine.
Za zvlášť stojí za to zdůraznit: pro většinu uživatelů Steamu Linux hlavní složka D3D12 zůstává VKD3D-Proton, nikoli běžné VKD3D. VKD3D však zůstává důležitou součástí samotného Wine a slouží jako základní implementace Direct3D 12 nad Vulkanem v projektu upstream.
Zdroj: linux.org.ru
