vkd3d 1.2 nāk ar saderības uzlabojumiem, ēnojumu un daudz ko citu

Projekts Vīns ir izlaidis jaunu vkd3d 1.2 pakotnes versiju ar Direct3D 12 ieviešana kas darbojas, tulkojot zvanus uz Vulkan graphics API.

Šī jaunā vkd3d 1.2 versija satur dažādus uzlabojumus, bet galvenie, kas izceļas, ir libvkd3d-shader kā publiskas bibliotēkas pieejamība, ēnotāja atbalsts tesselāciju, kā arī plūsmas izejas atbalstu.

Sūtījumsun ietver libvkd3d bibliotēkas ar Direct3D 12 ieviešanu, libvkd3d-shader ar 4. un 5. modeli shader translator un libvkd3d-utils ar funkcijām, lai vienkāršotu Direct3D 12 lietojumprogrammu migrāciju, kā arī ar demo kopu, ieskaitot glxgears portu uz Direct3D 12. Projekta kods tiek izplatīts zem LGPLv2.1.

Bibliotēka libvkd3d atbalsta lielāko daļu Direct3D 12 funkciju, ieskaitot grafikas un skaitļošanas funkcijas, komandu rindas un sarakstus, kaudzes aprakstus un aprakstus, sakņu parakstus, nesakārtotu piekļuvi, paraugu ņemšanas ierīces, komandu parakstus, sakņu konstantes, netiešo attēlojumu utt.

libvkd3d-shader īsteno baitu kodu 4 un 5 tulkojumu no ēnojuma modeļiem SPIR-V starpposma attēlojumā. Tiek atbalstītas virsotnes, pikseļi, tessellācija, skaitļošanas un vienkāršas ģeometrijas ēnotāji, sakņu parakstu sērijveida un deserializācija.

Shader instrukcijas ietver aritmētiskās, atomu un bitu darbības, datu plūsmas kontroles un salīdzināšanas operatori, paraugu ņemšanas, savākšanas un ielādes instrukcijas, nepārkārtotas piekļuves darbības (UAV, Unordered access view).

Pašreizējā attīstības stadijā ne visi zvani uz Direct3D 12 tiek īstenoti un testi galvenokārt tika veikti ar demonstrācijas lietojumprogrammu kopumu. Izlaidumā nav iekļautas izstrādes funkcijas, piemēram, atbalsts sarežģītiem ģeometrijas ēnotājiem un tesselācijai, kā arī vairāki uzlabojumi, kas saistīti ar Direct3D 12 pamatmetodēm un ēnotājiem. Šīs funkcijas tiks piedāvātas nākamajā izlaidumā.

Galvenās jaunās Vkd3d 1.2 iespējas

Starp vissvarīgākajām izmaiņām, kas tiek prezentētas jaunajā versijā, ir libvkd3d-shader bibliotēkas pieejamība izmantošanai trešo pušu projektos, kopš Tika pievienotas dažādas Direct3D 12 funkcijas, piemēram:

  • Vairāku paraugu ņemšana.
  • Rezervētie resursi.
  • Datu pārsūtīšanas ātrums instancēs.
  • "Privāto datu" API visām saskarnēm.
  • Shader resursu skata komponentu kartējumi.
  • VK_KHR_draw_indirect_count paplašinājums.
  • Predikāts / nosacīts attēlojums.
  • Dziļuma renderēšana bez pikseļu ēnotāja.
  • Dziļuma izgriezums. Tam nepieciešams paplašinājums VK_EXT_depth_clip_enable.
  • Izmetiet rastru.
  • Divkāršu avotu sajaukšana.
  • Izvietoto resursu kartēšana.
  • Metodes ReadFromSubresource () un WriteToSubresource () ID3D12Resource.
  • Vienlaicīga piekļuve vairāku rindu resursiem.
  • Null skati. Tas ir, skati bez pamata resursa.
  • Vēl vairākas funkcijas atbalsta pieprasījumi.

Bez šī, Tiek izcelts arī pievienots atbalsts parakstu pārveidošanai, sērijveidošanai un deserializēšanai root (vkd3d_serialize_versioned_root_signature () un vkd3d_create_versioned_root_signature_deserializer (), kā arī straumēšanas izvades atbalsts.

Vēl viena izceļama izmaiņa ir vides mainīgo ieviešana: VKD3D_CONFIG, lai iestatītu opcijas, lai mainītu libvkd3d un VKD3D_VULKAN_DEVICE uzvedību, lai ignorētu ierīci Vulkan API.

Bez tam pievienots atbalsts ēnošanas instrukcijām bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos un provizorisks atbalsts 5.1 modeļa ēnotājiem.

Un arī atbalsts OpenGL SPIR-V mērķa vidēm. Tas ļauj izmantot libvkd3d-shader radīto SPIR-V ar GL_ARB_gl_spirv. Tas ietver atbalstu OpenGL atomu skaitītājiem un kombinētajiem paraugu ņemšanas ierīcēm.

Beidzot ja vēlaties uzzināt vairāk par to par šo jauno versiju varat pārbaudīt pilnu izmaiņu sarakstu Šajā saitē.

Kā Linux instalēt vkd3d?

Tiem, kurus interesē iespēja instalēt vkd3d savā sistēmā, viņiem jāiegūst avota kods un jāturpina kompilācija, lai gan praktiskiem nolūkiem vai šiem iesācējiem viņi var izmēģināt šo bibliotēku bez īpašām pūlēm. Lai to izdarītu, viņiem ir jāinstalē tikai lutris un tā konfigurācijās.

Kas attiecas uz tiem, kurus interesē apkopošana, viņiem kods jāiegūst ar:

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

Visbeidzot, ir jāiespējo Vulkan slāņi:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.