Projekt Wine je objavio vkd3d 1.3 s implementacijom Direct3D 12

Nakon jedne i pol godine razvoja, projekt Wine objavio je izdanje paketa vkd3d 1.3 s implementacijom Direct3D 12, koja radi putem prevođenja poziva u grafički API Vulkan. U paketu se nalaze biblioteke libvkd3d s implementacijom Direct3D 12, libvkd3d-shader s prevoditeljem verzija 4 i 5 sjenčera, te libvkd3d-utils s funkcijama za pojednostavljenje portiranja aplikacija Direct3D 12, kao i set demonstracijskih primjera, uključujući port glxgears na Direct3D 12. Izvorni kod projekta distribuiran je pod LGPLv2.1 licencom.

Biblioteka libvkd3d podržava većinu mogućnosti Direct3D 12, uključujući alate za grafiku i računanje, redove i nizove komandi, deskriptore i deskriptore hrpe, korijenske potpise, neuređeni pristup, uzorkivače, potpise komandi, korijenske konstante, neizravno renderiranje, metode Clear*() i Copy*().

U libvkd3d-shader implementirano je prevođenje bajtkoda modela 4 i 5 šejdera u intermedijerno predstavljanje SPIR-V. Podržavaju se vršni, pikselni, tesselacijski, izračunski i jednostavni geometrijski šejderi, serijalizacija i deserializacija korijenskog potpisa. Od šejderskih instrukcija implementirane su aritmetičke, atomske i bitovne operacije, operateri usporedbe i upravljanja tokom prijenosa podataka, instrukcije sample, gather i load, operacije neuređenog pristupa (UAV, Unordered Access View).

Među najznačajnijim novostima u Vkd3d 1.3 ističu se:

  • Dodana je osnovna podrška za kompajliranje i preprocesiranje sjenčera na jeziku HLSL (High-Level Shader Language), koja je dostupna od DirectX 9.0.
  • Dodana je podrška za nizove deskriptora definirane u modelu sjenčera 5.1.
  • Osigurana je podrška za operacije s brojevima s pomičnom zarezom dvostruke preciznosti u sjenčerima, neizravno adresiranje za tesselacijske sjenčere, izvoz šablona iz sjenčera, modifikator sjenčera „precise“ i globalne barijere za resurse u memoriji.
  • Implementirana je mogućnost disasembleranja sjenčera Direct3D iz bajtkoda u asembler predstavljen.
  • Dodana je podrška za analizu starog formata bajtkoda Direct3D, korištenog u modelima sjenčera Direct3D 1, 2 i 3.
  • U libvkd3d dodane su mogućnosti Direct3D 12, poput korijenskih potpisa, brojača pregleda s neuređenim pristupom, logičkih operatora spajanja za izlaz, načina adresiranja tekstura mirror_once. Dodana je struktura vkd3d_host_time_domain_info.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster