vkd3d 1.2 dolazi s poboljšanjima kompatibilnosti, sjenčanjem i još mnogo toga

Projekt Wine je objavio novu verziju paketa vkd3d 1.2 s implementacija Direct3D 12 koji funkcionira prevođenjem poziva na grafički API Vulkan.

Ova nova verzija vkd3d 1.2 sadrži razna poboljšanja, ali glavni koji se ističu su dostupnost libvkd3d-shadera kao javne knjižnice, oslonac za sjenčanje teselacija, kao i podrška za izlaz protoka.

Paketi uključuje biblioteke libvkd3d s implementacijama Direct3D 12, libvkd3d-shader s prevoditeljem osenčenja modela 4 i 5 i libvkd3d-utils s funkcijama za pojednostavljivanje migracije aplikacija Direct3D 12, kao i niz demonstracija, uključujući port glxgears na Direct3D 12. Kôd projekta distribuira se pod LGPLv2.1.

Knjižnica libvkd3d podržava većinu Direct3D 12 značajki, uključujući grafičke i računske funkcije, redove i popise naredbi, deskriptore hrpe i deskriptore, root potpise, neuređeni pristup, samplere, naredbene potpise, root konstante, neizravno predstavljanje i tako dalje.

Libvkd3d-sjenčanje provodi prijevod bajt koda 4 i 5 uzoraka sjenčanja u srednjem prikazu SPIR-V. Podržani su vrhovi, pikseli, tesselacija, računalni i jednostavni geometrijski sjenčići, serializacija korijenskog potpisa i deserializacija.

Upute za sjenčanje uključuju aritmetičke, atomske i bitovne operacije, operatori za kontrolu i usporedbu protoka podataka, upute za uzorkovanje, prikupljanje i učitavanje, neuređene radnje pristupa (UAV, pogled neuređenog pristupa).

U trenutnoj fazi razvoja nisu implementirani svi pozivi na Direct3D 12 a testovi su se uglavnom provodili na nizu demo aplikacija. Izdanje ne uključuje značajke u razvoju, poput podrške za složene geometrijske sjenčiće i tesselaciju, kao i brojna poboljšanja u vezi s osnovnim metodama i sjenačima Direct3D 12. Te će značajke biti ponuđene u budućem izdanju.

Glavne nove značajke Vkd3d 1.2

Od najvažnijih promjena koje su predstavljene u novoj verziji je Dostupnost biblioteke libvkd3d-shader za upotrebu u projektima trećih strana, od Dodane su razne funkcije Direct3D 12, kao što su:

  • Višestruko uzorkovanje.
  • Rezervirani resursi.
  • Stope prolaska podataka instance.
  • API "Privatni podaci" za sva sučelja.
  • Mapiranje komponenata prikaza resursa sjenera.
  • VK_KHR_draw_indirect_count proširenje.
  • Predikatni / uvjetni prikaz.
  • Dubinsko prikazivanje bez pikselskog sjenčanja.
  • Izrez dubine. To zahtijeva VK_EXT_depth_clip_enable proširenje.
  • Bacite rasterizator.
  • Dvostruko miješanje izvora.
  • Mapiranje plasiranih resursa.
  • Metode ReadFromSubresource () i WriteToSubresource () ID3D12Resource.
  • Istodobni pristup resursima s više redova.
  • Nulti pogledi. Odnosno, pogledi bez osnovnog resursa.
  • Još nekoliko upita o podršci za značajke.

Pored ovoga, Također je istaknuta dodana podrška za pretvaranje, serializiranje i deserializiranje potpisa root (vkd3d_serialize_versioned_root_signature () i vkd3d_create_versioned_root_signature_deserializer (), kao i podrška za strujni izlaz.

Druga promjena koja se ističe je implementacija varijable okoline: VKD3D_CONFIG za postavljanje opcija za promjenu ponašanja libvkd3d i VKD3D_VULKAN_DEVICE za poništavanje uređaja za Vulkan API.

osim toga dodana podrška za upute za sjenčanje bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos i preliminarna podrška za sjenčice modela 5.1.

A također i podrška za OpenGL SPIR-V ciljna okruženja. To omogućuje upotrebu SPIR-V proizvedenog u libvkd3d-shaderu s GL_ARB_gl_spirv. To uključuje podršku za OpenGL atomske brojače i kombinirane uzorkivače.

Konačno ako želite znati više o tome o ovoj novoj verziji možete provjeriti cjelovit popis promjena U sljedećem linku.

Kako instalirati vkd3d na Linux?

Za one koji su zainteresirani za mogućnost instaliranja vkd3d na svoj sustav, trebali bi nabaviti izvorni kod i nastaviti s kompilacijom, iako u praktične svrhe ili za one početnike mogu isprobati ovu knjižnicu bez puno napora. Za to im je potrebno samo instalirati lutris i unutar njegovih konfiguracija.

Što se tiče zainteresiranih za kompilaciju, oni moraju dobiti kod sa:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Konačno, slojevi Vulkan moraju biti omogućeni:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.