Projekt Wine objavio je Vkd3d 1.4 s implementacijom Direct3D 12

Projekt Wine objavio je izdanje paketa vkd3d 1.4 s implementacijom Direct3D 12 koji radi putem emitiranja poziva Vulkan grafičkom API-ju. Paket uključuje libvkd3d biblioteke s implementacijama Direct3D 12, libvkd3d-shader s prevoditeljem shader modela 4 i 5 i libvkd3d-utils s funkcijama za pojednostavljenje prijenosa Direct3D 12 aplikacija, kao i skup demo primjera, uključujući priključak od glxgears na Direct3D 12. Projektni kod se distribuira pod licencom LGPLv2.1.

Biblioteka libvkd3d podržava većinu značajki Direct3D 12, uključujući grafičke i računalne mogućnosti, redove i popise naredbi, ručke i heap ručke, korijenske potpise, pristup izvan reda, uzorke, potpise naredbi, korijenske konstante, neizravno prikazivanje, Clear metode *( ) i Kopiraj*().

U libvkd3d-shaderu, implementiran je prijevod bajt koda shader modela 4 i 5 u posrednu SPIR-V reprezentaciju. Podržava vrhove, piksele, teselaciju, računalne i jednostavne geometrijske shadere, korijensku serijalizaciju i deserijalizaciju potpisa. Upute shadera uključuju aritmetičke, atomske i bitne operacije, operatore za usporedbu i kontrolu toka podataka, upute za uzorkovanje, skupljanje i učitavanje, operacije neuređenog pristupa (UAV, neuređen pristupni prikaz).

U novoj verziji:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0.
  • Предложена новая реализация кучи дескрипторов (Descriptor Heap), использующая Vulkan-расширение VK_EXT_descriptor_indexing.
  • Добавлена новая реализация границ (fence), основанная на Vulkan-расширении K_KHR_timeline_semaphore.

Izvor: opennet.ru

Dodajte komentar