A Wine csapat kiadta VKD3D 2.0 — a könyvtár jelentős frissítése, amely lehetővé teszi az alkalmazások működését Direct3D 12 használatával Vulkan. A VKD3D a normál upstream Wine-ban használatos a D3D12-alkalmazások támogatására; nem szabad összekeverni VKD3D-Proton, a Valve külön játékváltozata, amelyet a Proton/Steam Play használ.
A projekt a GNU Lesser General Public License 2.1 vagy újabb verziója alatt terjed.. A kiadás forráskódja a WineHQ szerverén érhető el, a kód a Wine-tárolókon keresztül is hozzáférhető.
A VKD3D 2.0 átmenet volt a 1.19 egy új fő verzióra. A fő hangsúly a shader-alrendszer fejlesztésére és a Direct3D 12-vel való alacsony szintű kompatibilitásra helyeződött.
Kulcsfontosságú változások:
Javult a HLSL-shaderek kezelése. Bővült a HLSL nyelv támogatása: több művelet valósult meg, amelyeket most a fordító és a VKD3D fordító helyesen dolgoz fel. Ez fontos a saját HLSL-shadereket használó alkalmazások futtatásához, nemcsak az előre lefordított bytecode-ot.
A legacy Direct3D bytecode támogatása javítva lett. Javult a régi típusú Direct3D bytecode kezelése a régi shaderformátumokkal és eszközökkel való kompatibilitás érdekében, amelyeket még mindig használnak az alkalmazásokban és motorokban.
A DXIL kezelése is javult. A VKD3D 2.0-ban folytatódott a DXIL, a DirectX shaderek modern köztes reprezentációjának feldolgozása. A D3D12 esetében ez az egyik kulcsfontosságú formátum, ezért ezek a változások közvetlen hatással vannak a frissebb alkalmazások futtatásának helyességére.
Fejlesztések kerültek be a hatásokhoz. A kiadásban változások találhatóak a hatásokat leíró és alkalmazó mechanizmusokkal kapcsolatban a Direct3D stackben. Ez inkább infrastrukturális rész, de fontos a meglévő grafikai kódokkal való kompatibilitás szempontjából.
Kísérleti támogatás érkezett az MSL számára. A VKD3D 2.0 kísérleti támogatást kapott a generálására MSL — Metal Shading Language. Ez a megközelítés összefügg a shaderek hordozhatóságával olyan platformokra, ahol a Vulkan általában további kompatibilitási rétegeken keresztül használható.
Bővültek az interfészek és a hibakeresési lehetőségek. A fejlesztők új interfészeket vezettek be és fejlesztették a VKD3D hibakeresési eszközeit, ami egyszerűsíti a fejlesztést, a hibák diagnosztizálását és a Direct3D 12 támogatásának további fejlesztését a Wine-ban.
Külön érdemes kiemelni: a Linuxon lévő Steam felhasználók számára a D3D12 fő komponense továbbra is VKD3D-Proton, nem pedig a megszokott VKD3D. Ennek ellenére a VKD3D továbbra is fontos része a Wine-nak, és alapvető megvalósítása a Direct3D 12-nek a Vulkan felett a feltörekvő projektben.
Forrás: linux.org.ru
