Nova verzija vkd3d 1.3 je već objavljena

Nakon godinu i pol razvoja, iprojekt Wine najavio je pokretanje nova verzija paketa «vkd3d 1.3″ s implementacijom Direct3D 12 koja radi kroz prijevod poziva na Vulkan grafički API.

Ova verzija sadrži razna poboljšanja od kojih su u ovoj novoj verziji najvažnije početna podrška za izradu HLS-aL, kao i Podrška za niz deskriptora modela shadera 5.1, podrška za demontažu Direct3D shadera i još mnogo toga.

Za one koji nisu svjesni paketa, trebali bi to znati uključuje libvkd3d biblioteke s Direct3D 12 implementacijama, 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 funkcije grafova i računanja, popise naredbi i redove, deskriptore i deskriptore hrpe, korijenske potpise, neuređeni pristup, uzorke, potpise naredbi, korijenske konstante, proxy reprezentaciju itd.

Libvkd3d-sjenčanje provodi prijevod bajt koda 4 i 5 modela sjenčanja u SPIR-V srednjem prikazu. Podržani su vrhovi, pikseli, teselacija, računalni i jednostavni geometrijski shaderi, serijalizacija 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 provedeni uglavnom na skupu demo aplikacija.

Glavne nove značajke Vkd3d 1.3

U ovoj novoj verziji vkd3d 1.3 koja je predstavljena, to je istaknuto dodana početna podrška za sastavljanje i pred-renderiranje shadera u HLSL-u (jezik shadera visoke razine), koji je dostupan od DirectX 9.0.

Još jedna od promjena koja se ističe u ovoj novoj verziji je podrška za operacije s pomičnim zarezom dvostruke preciznosti u shaderima, kao i indirection za teselacijske shadere, izvoz predloška iz shadera, "precizni" modifikator sjenčanja i globalne barijere za resurse u memoriji.

Također možemo utvrditi da je mogućnost rastavljanja Direct3D shadera iz koda bajtova u asemblerski prikaz, kao i dodanu podršku za raščlanjivanje starog Direct3D bytecode formata koji se koristi u Direct3D 1, 2 i 3 shader modelima.

libvkd3d je dodao značajke Direct3D 12, kao što su korijenski potpisi, neuređeni brojači pretraživanja, booleovski vrijednosti spajanja izlaza, način adresiranja teksture mirror_once i dodana struktura vkd3d_host_time_domain_info.

Od ostalih promjena koji se ističu u ovoj novoj verziji:

  • vkd3d_shader_preprocess_info proširuje strukturu vkd3d_shader_compile_info i može se koristiti za određivanje parametara predprocesiranja kao što su definicije makroa predprocesora.
  • vkd3d_shader_hlsl_source_info proširuje strukturu vkd3d_shader_compile_info i može se koristiti za određivanje HLSL-a i parametara izgradnje kao što su ciljni profil i ulazna točka.
  • Povežite Direct3D 12 i Vulkan modele
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION može se koristiti za određivanje verzije libvkd3d-shader API-ja na koju aplikacija cilja. Ako nije navedeno, koristit će se VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d-compiler će zadano postaviti izlaz u boji ako može utvrditi da je
    izlaz je teleprinter s mogućnošću boja.
  • Dodana podrška za nizove deskriptora definirane u Shader modelu 5.1.

Konačno ako želite znati više o tome o ovoj novoj verziji, možete pogledati potpuni 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.