A Wine projekt kiadta a Vkd3d 1.4-t Direct3D 12 implementációval

A Wine projekt közzétette a vkd3d 1.4-ös csomag kiadását a Direct3D 12 implementációjával, amely a Vulkan grafikus API-hoz küldött hívásokon keresztül működik. A csomag tartalmazza a libvkd3d könyvtárakat Direct3D 12 megvalósításával, a libvkd3d-shader-t a 4-es és 5-ös shader modellek fordítójával és a libvkd3d-utilokat a Direct3D 12 alkalmazások portolását egyszerűsítő funkciókkal, valamint egy sor bemutató példát, beleértve a portot. glxgears-ből Direct3D-re 12. A projektkód LGPLv2.1 licenc alatt kerül terjesztésre.

A libvkd3d könyvtár támogatja a legtöbb Direct3D 12 szolgáltatást, beleértve a grafikus és számítási lehetőségeket, a sorokat és parancslistákat, leíró- és kupacleírókat, gyökéraláírásokat, renden kívüli hozzáférést, mintavevőket, parancsaláírásokat, gyökérkonstansokat, közvetett renderelést, Clear metódusokat *( ) és Másolás*().

A libvkd3d-shaderben a 4-es és 5-ös shader-modell bájtkódjának fordítása egy köztes SPIR-V reprezentációra valósul meg. Támogatja a vertex, pixel, tessellation, számítási és egyszerű geometriai shadereket, gyökér aláírások szerializálását és deszerializálását. A Shader utasításai között szerepelnek aritmetikai, atomi és bitműveletek, összehasonlító és adatfolyam-vezérlő operátorok, mintavételezési, gyűjtési és betöltési utasítások, rendezetlen hozzáférési műveletek (UAV, Unordered Access View).

Az új verzióban:

  • A DirectX 9.0 óta rendelkezésre álló HLSL (High-Level Shader Language) shader fordító számos fejlesztésen esett át.
  • A Descriptor Heap új megvalósítását javasolták a Vulkan VK_EXT_descriptor_indexing kiterjesztéssel.
  • Új kerítés-megvalósítás hozzáadva a Vulkan K_KHR_timeline_semaphore kiterjesztése alapján.

Forrás: opennet.ru

Hozzászólás