Jau išleista nauja vkd3d 1.3 versija

Po pusantrų metų plėtros irJis Vyno projektas paskelbė apie jo pradžią nauja paketo versija «vkd3d 1.3 colio su „Direct3D 12“ diegimu, kuris veikia per iškvietimų vertimą į „Vulkan“ grafikos API.

Šioje versijoje yra įvairių patobulinimų, kurie šioje naujoje versijoje yra svarbiausi pradinis HLS kūrimo palaikymasL, taip pat Shader Model 5.1 deskriptorių masyvo palaikymas, Direct3D šešėlių atjungimo palaikymas ir kt.

Tie, kurie nežino apie paketą, turėtų tai žinoti apima libvkd3d bibliotekas su Direct3D 12 įgyvendinimu, libvkd3d-shader su 4 ir 5 modelių „shader translator“ ir „libvkd3d-utils“ su funkcijomis, skirtomis supaprastinti „Direct3D 12“ programų perkėlimą, taip pat su demonstracinių rinkinių rinkiniu, įskaitant „glxgears“ prievadą į „Direct3D 12“. Projekto kodas platinamas pagal LGPLv2.1.

Biblioteka „libvkd3d“ palaiko daugumą „Direct3D 12“ funkcijų, įskaitant grafiko ir skaičiavimo funkcijas, komandų sąrašus ir eiles, deskriptorius ir krūvos deskriptorius, šakninius parašus, netvarkingą prieigą, mėginių ėmiklius, komandų parašus, šaknines konstantas, tarpinio serverio atstovavimą ir kt.

„Libvkd3d-shader“ įgyvendina 4 ir 5 baitų kodų vertimą šešėlių modelių SPIR-V tarpiniame atvaizde. Palaikomos viršūnės, pikseliai, teseliacija, skaičiavimo ir paprastos geometrijos šešėliai, šakninio parašo serializavimas ir deserializavimas.

Šešėlinės instrukcijos apima aritmetines, atomines ir bitų operacijas, duomenų srauto valdymo ir palyginimo operatoriai, mėginių ėmimo, rinkimo ir įkėlimo instrukcijos, neužsakytos prieigos operacijos (UAV, Unordered access view).

Dabartiniame plėtros etape ne visi skambučiai į „Direct3D 12“ yra įgyvendinami ir bandymai buvo atlikti daugiausia su demonstracinių programų rinkiniu.

Pagrindinės naujos „Vkd3d 1.3“ funkcijos

Šioje pateiktoje naujoje vkd3d 1.3 versijoje pabrėžiama, kad pridėtas pradinis palaikymas kuriant ir iš anksto pateikiant šešėlius HLSL (aukšto lygio šešėlių kalba), kuri teikiama nuo DirectX 9.0.

Kitas iš naujojoje versijoje išsiskiriančių pakeitimų yra palaikymas dvigubo tikslumo slankiojo kablelio operacijoms šešėliuose, taip pat netiesioginis teseliacijos atspalvių naudojimas, šablonų eksportavimas iš šešėlių, „tikslus“ šešėlių modifikatorius ir visuotinės atminties išteklių kliūtys.

Taip pat galime pastebėti, kad galimybė išardyti Direct3D šešėlius iš kodo baitų surinkėjo reprezentacijai, taip pat papildomas palaikymas analizuojant senąjį Direct3D baitų kodo formatą, naudojamą Direct3D 1, 2 ir 3 šešėlių modeliuose.

libvkd3d pridėjo Direct3D 12 funkcijų, pvz., šakniniai parašai, netvarkingi peržvalgų skaitikliai, išvesties sujungimo loginės reikšmės, „ mirror_once“ tekstūros adresavimo režimas ir pridėta vkd3d_host_time_domain_info struktūra.

Iš kitų pokyčių kurie išsiskiria iš šios naujos versijos:

  • vkd3d_shader_preprocess_info išplečia vkd3d_shader_compile_info struktūrą ir gali būti naudojamas išankstinio apdorojimo parametrams, pvz., išankstinio procesoriaus makrokomandų apibrėžimams, nurodyti.
  • vkd3d_shader_hlsl_source_info išplečia vkd3d_shader_compile_info struktūrą ir gali būti naudojamas nurodyti HLSL ir kūrimo parametrus, tokius kaip tikslinis profilis ir įėjimo taškas.
  • Susiekite „Direct3D 12“ ir „Vulkan“ modelius
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION galima naudoti norint nurodyti libvkd3d-shader API versiją, pagal kurią taikoma programa. Jei nenurodyta, bus naudojamas VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d kompiliatorius pagal numatytuosius nustatymus naudos spalvų išvestį, jei galės nustatyti, kad
    išvestis yra spalvotas teleprinteris.
  • Pridėtas deskriptorių masyvų, apibrėžtų Shader Model 5.1, palaikymas.

Pagaliau jei norite apie tai sužinoti daugiau apie šią naują versiją galite peržiūrėti visą pakeitimų sąrašą Šioje nuorodoje.

Kaip įdiegti „vkd3d“ į „Linux“?

Tiems, kurie nori įdiegti „vkd3d“ savo sistemoje, jie turėtų gauti šaltinio kodą ir tęsti kompiliaciją, nors praktiniais tikslais ar tiems naujokams jie gali išbandyti šią biblioteką be didelių pastangų. Tam jie turi įdiegti tik lutris ir pagal jo konfigūracijas.

Tiems, kurie domisi kompiliacija, jie turi gauti kodą su:

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

Galiausiai reikia įgalinti „Vulkan“ sluoksnius:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.