
vkd3d, je sloj prijevoda Wine Direct3D 12 na Vulkan
Projekt Wine najavio je prije nekoliko dana izdanje nove verzije paketa vkd3d 1.11, verzija u kojoj su uvedena poboljšanja u korištenju vulkan ekstenzija, kao i poboljšanja podrške, nove funkcije i više.
Za one koji ne znaju za Vkd3d, trebali biste znati da je ovo paket koji nudi implementaciju Direct3D 12 korištenjem poziva Vulkan grafičkom API-ju i uključuje nekoliko ključnih knjižnica. Biblioteka libvkd3d sadrži implementacije Direct3D 12, pokrivajući širok raspon funkcija kao što su računalstvo i grafika, redovi naredbi i popisi, identifikatori, između ostalog.
Također je dostupna biblioteka libvkd3d-shader koji pruža prevoditelja za shader modele 4 i 5 u posredni SPIR-V prikaz. Ova biblioteka podržava vrhove, piksele, teselaciju, izračunavanje i jednostavne geometrijske shadere, kao i korijensku signaturnu serijalizaciju i deserijalizaciju.
Što je novo u vkd3d 1.11?
Vkd3d 1.11 uvodi a početna podrška za kompajliranje naslijeđenog Direct3D bajtkoda u srednjem prikazu SPIR-V shadera, kao i spočetna podrška s HLSL p kompajleromza sastavljanje profila učinaka.
Još jedno poboljšanje koje je predstavljeno u ovoj novoj verziji je eksperimentalna podrška za sastavljanje DXIL-a (DirectX intermediate language) u prikazu SPIR-V, pružajući nove mogućnosti za razvoj Direct3D aplikacija. Ova značajka zahtijeva kompajliranje vkd3d s opcijom 'pretprocesor'-DVKD3D_SHADER_UNSUPPORTED_DXIL' i smatra se eksperimentalnim.
también optimizirano je korištenje grupa i skupova deskriptora kada su proširenja dostupna VK_EXT_mutable_descriptor_type i VK_EXT_shader_viewport_index_layer, koji je predviđen za poboljšanje učinkovitosti rada sa skupom deskriptora i ubrzavanje prikazivanja teselacije i nizova za sjenčanje vrhova.
C je implementiranPodrška za standardne boje obruba, poput crne i bijele i metoda je implementirana GetResourceAllocationInfo1() sučelja ID3D12Device4, kao i podršku za sučelja ID3D12Device7 i ID3D12Resource2.
Podržano je nekoliko novih upita značajki, uključujući D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.
Provedene su mogućnosti nove gradnje: VKD3D_SHADER_COMPILE_OPTION_FEATURE može se koristiti za
navesti značajke dostupne u ciljnom okruženju, dok VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 označava kompatibilnost s
64-bitni cjelobrojni tipovi u ciljnom okruženju SPIR-a i VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 označava kompatibilnost s
64-bitni tipovi s pomičnim zarezom u ciljnom okruženju SPIR-V.
Od druge promjene koje se ističu ove nove verzije:
- Ažuriranja deskriptora sada se događaju asinkrono na internoj radnoj niti, poboljšavajući performanse u aplikacijama koje ažuriraju mnogo deskriptora po okviru.
- Dodane su nove značajke za ciljnu vrstu SPIR-V, uključujući podršku za globalno konzistentne poglede pristupa izvan reda, barijere pregleda pristupa grupama niti i više.
- Podržano je sučelje ID3D12Device7.
- Minimalna potrebna verzija Vulkan-Headers za ovo izdanje je verzija
1.3.228. - Podržano je sučelje ID3D12Resource2.
- Podržano je nekoliko novih upita značajki:
– D3D12_FEATURE_D3D12_OPTIONS6
– D3D12_FEATURE_D3D12_OPTIONS7
– D3D12_FEATURE_D3D12_OPTIONS8
– D3D12_FEATURE_D3D12_OPTIONS9
– D3D12_FEATURE_D3D12_OPTIONS10
– D3D12_FEATURE_D3D12_OPTIONS11
– D3D12_FEATURE_D3D12_OPTIONS12
– D3D12_FEATURE_D3D12_OPTIONS13 - Intrinzične funkcije acos(), asin(), atan() i atan2() već su podržane.
- Eksplicitno mapiranje registara pomoću ključne riječi 'register()'
- Pretvaranje iz cjelobrojnih tipova u pokretni zarez u profilima modela shadera 1-3.
Za one koji žele saznati više o tome, trebali biste znati da se kod projekta distribuira pod LGPL 2.1 i možete pogledati pojedinosti ovog novog izdanja U sljedećem linku.
Kako instalirati vkd3d 1.11?
Za zainteresiran za instalaciju vkd3d Moraju znati da moraju kompajlirati izvorni kod, tako da ga prvo moramo nabaviti, važno je spomenuti da Vkd3d ovisi o SPIRV-Headers i Vulkan-Headers (>= 1.3.228).
Kompilacija je prilično jednostavna i da bismo to učinili moramo otvoriti terminal u kojem ćemo upisati sljedeću naredbu:
git clone https://gitlab.winehq.org/wine/vkd3d.git
Nastavljamo s ulaskom u mapu u koju je preuzeto s:
cd vkd3d
I nastavljamo s kompajliranjem izvršavanjem sljedećih naredbi:
./configure make make install
Si želite znati više o kompilaciji vkd3d možete provjeriti detalje u ovu vezu