A Wine projekt közzétette a Vkd3d 1.14-et a Direct3D 12 implementációjával.

A Wine projekt bemutatta a vkd3d 1.14 csomag kiadását, amely a Direct3D 12 implementációjával működik a Vulkan grafikus API hívásainak átírásán keresztül. A csomag tartalmazza a libvkd3d könyvtárakat a Direct3D 12 implementációjával, a libvkd3d-shader-t a 4. és 5. modell shaderjeinek fordítójával, valamint a libvkd3d-utils-t, amely funkciókat kínál a Direct3D 12 alkalmazások portolásának egyszerűsítésére, és egy sor bemutató példát, köztük a glxgears Direct3D 12-re való portolását. A projekt kódja LGPLv2.1 licenc alatt terjeszthető.

A libvkd3d könyvtár a Direct3D 12 legtöbb funkcióját támogatja, beleértve a grafikai és számítási eszközöket, sorokat és parancslistákat, leírókat és tömbindikátorokat, gyökér szignatúrákat, rendezetlen hozzáférést, mintákat, parancsszignatúrákat, gyökér konstansokat, közvetett renderelést, valamint a Clear*() és Copy*() metódusokat. A libvkd3d-shader a shader modellek bytekódjának köztes képviseletbe való fordítását valósítja meg, amely támogatja a vertex, pixel, tesszellációs, számítási és egyszerű geometriai shader-eket, valamint a gyökér szignatúra sorozatát. A shader utasítások között megvalósították az aritmetikai, atomikus és bitmanipulációs műveleteket, összehasonlító operátorokat és az adatfolyam irányítását, mint például a sample, gather és load utasításokat, valamint a rendezetlen hozzáférés (UAV, Unordered Access View) műveleteit.

Az új verzióban:

  • Kezdeti támogatást kapott az MSL (Metal Shading Language) shader nyelv, amelyet az Apple használ a Metal grafikus API-ban.
  • Dissasembler támogatás került bevezetésre a bináris effektekhez.
  • A libvkd3 könyvtárban az ID3D12GraphicsCommandList1 interfészen megvalósult az OMSetDepthBounds() metódus a Z-buffer mélységi értékek engedélyezett tartományának dinamikus módosításához.
  • Új VKD3D_CAPS_OVERRIDE környezeti változó került bevezetésre az alkalmazások számára elérhető funkciók, például a maximálisan támogatott funkcionális szintek és erőforráskötések információinak felülírására.
  • A HLSL shader nyelv implementációjába kezdeti támogatás került a tesszellációs shader-ekhez. Megvalósították az beépített funkciókat, mint a dst(), f32tof16(), mad(), modf() és sincos(). Az 1, 2 és 3 modellek shaderjeihez hozzáadták a 'discard' művelet támogatását. Továbbá, a fragment shader-ekhez SV_SampleIndex, míg a számítási shader-ekhez SV_GroupIndex belépési szemináriumok támogatása került bevezetésre.
  • Számos új utasítás került megvalósításra a GLSL shader nyelvhez.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster