Jaunā vkd3d 1.3 versija jau ir izlaista

Pēc pusotra gada attīstības, unviņš Wine projekts paziņoja par uzsākšanu jaunā pakotnes versija «vkd3d 1.3 collas ar Direct3D 12 ieviešanu, kas darbojas, tulkojot zvanus uz Vulkan grafikas API.

Šajā versijā ir iekļauti dažādi uzlabojumi, no kuriem šajā jaunajā versijā ir vissvarīgākie sākotnējais HLS izveides atbalstsL, kā arī Shader Model 5.1 deskriptoru masīva atbalsts, atbalsts Direct3D ēnotāju atvienošanai un daudz kas cits.

Tiem, kas nezina par iepakojumu, viņiem tas jāzina ietver libvkd3d bibliotēkas ar Direct3D 12 implementācijām, 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 grafiku un skaitļošanas funkcijas, komandu sarakstus un rindas, deskriptorus un kaudzes deskriptorus, saknes parakstus, nesakārtotu piekļuvi, paraugus, komandu parakstus, saknes konstantes, starpniekservera 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, teselācija, skaitļošanas un vienkāršas ģeometrijas ēnotāji, saknes parakstu serializācija 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 tika veikti galvenokārt ar demonstrācijas lietojumprogrammu komplektu.

Galvenās jaunās Vkd3d 1.3 iespējas

Šajā jaunajā vkd3d 1.3 versijā, kas tiek prezentēta, ir uzsvērts, ka pievienots sākotnējais atbalsts ēnotāju kompilēšanai un iepriekšējai renderēšanai HLSL (augsta līmeņa ēnotāju valoda), kas tiek nodrošināta kopš DirectX 9.0.

Vēl viena no izmaiņām, kas izceļas šajā jaunajā versijā, ir atbalsts dubultās precizitātes peldošā komata operācijām ēnotajos, kā arī netiešie norādījumi tēlotājiem, veidņu eksportēšana no ēnotājiem, "precīzais" ēnotāja modifikators un globālie šķēršļi atmiņā esošajiem resursiem.

Mēs varam arī konstatēt, ka iespēja izjaukt Direct3D ēnotājus no koda baitu montētāja attēlojumam, kā arī pievienots atbalsts vecā Direct3D baitu koda formāta parsēšanai, ko izmanto Direct3D 1, 2 un 3 ēnotāju modeļos.

libvkd3d pievienoja Direct3D 12 funkcijas, piemēram, saknes paraksti, nesakārtoti uzmeklēšanas skaitītāji, izvades sapludināšanas Būla vērtības, mirror_once tekstūras adresācijas režīms un pievienotā vkd3d_host_time_domain_info struktūra.

No pārējām izmaiņām kas izceļas no šīs jaunās versijas:

  • vkd3d_shader_preprocess_info paplašina vkd3d_shader_compile_info struktūru, un to var izmantot, lai norādītu priekšapstrādes parametrus, piemēram, priekšprocesora makro definīcijas.
  • vkd3d_shader_hlsl_source_info paplašina vkd3d_shader_compile_info struktūru, un to var izmantot, lai norādītu HLSL un veidotu parametrus, piemēram, mērķa profilu un ieejas punktu.
  • Saistiet Direct3D 12 un Vulkan modeļus
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION var izmantot, lai norādītu libvkd3d-shader API versiju, uz kuru attiecas lietojumprogramma. Ja tas nav norādīts, tiks izmantots VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d kompilators pēc noklusējuma izmantos krāsu izvadi, ja var noteikt, ka
    izvade ir krāsu teleprinteris.
  • Pievienots atbalsts deskriptoru masīviem, kas definēti Shader modelī 5.1.

Beidzot ja vēlaties uzzināt vairāk par to par šo jauno versiju varat skatīt visu 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.