Uusi versio vkd3d 1.3:sta on jo julkaistu

Puolentoista vuoden kehityksen jälkeen jahän Wine-projekti ilmoitti käynnistävänsä paketin uusi versio «vkd3d 1.3" Direct3D 12 -toteutuksella, joka toimii Vulkan-grafiikkasovellusliittymän kutsujen kääntämisen kautta.

Tämä versio sisältää useita parannuksia, joista tämän uuden version kohokohdat ovat alkuperäinen HLS-koontitukiL, sekä Shader Model 5.1 -kuvaustaulukon tuki, tuki Direct3D-varjostimien irrottamiseen ja paljon muuta.

Niiden, jotka eivät ole tietoisia paketista, heidän pitäisi tietää se sisältää libvkd3d-kirjastot Direct3D 12 -toteutuksella, libvkd3d-shader mallilla 4 ja 5 shader translator ja libvkd3d-utils, joissa on toiminnot Direct3D 12 -sovellusten siirtämisen yksinkertaistamiseksi, sekä joukko demoja, mukaan lukien glxgears-portti Direct3D 12: een. Projektikoodi on jaettu LGPLv2.1 -lisenssillä.

Kirjasto libvkd3d tukee suurinta osaa Direct3D 12 -ominaisuuksista, mukaan lukien graafi- ja laskentafunktiot, komentoluettelot ja -jonot, kuvaajat ja keon kuvaajat, juuriallekirjoitukset, järjestämätön pääsy, näytteistöt, komentoallekirjoitukset, juurivakiot, välityspalvelinesitys jne.

libvkd3d-shader toteuttaa tavukoodien 4 ja 5 käännöksen SPIR-V-väliesityksen varjostusmalleista. Vertices, pikselit, tessellaatio, laskennalliset ja yksinkertaiset geometrian varjostimet, juuriallekirjoituksen serialisointi ja deserialisointi ovat tuettuja.

Varjostimen ohjeet sisältävät aritmeettiset, atomi- ja bittitason operaatiot, tiedonkulun hallinta- ja vertailuoperaattorit, näytteenotto-, keräys- ja latausohjeet, järjestämättömät käyttöoperaatiot (UAV, järjestämätön pääsynäkymä).

Nykyisessä kehitysvaiheessa kaikkia Direct3D 12 -puheluja ei toteuteta ja testit suoritettiin pääasiassa demosovelluksilla.

Vkd3d 1.3: n tärkeimmät uudet ominaisuudet

Tässä esitellyssä vkd3d 1.3:n uudessa versiossa korostetaan, että lisätty alustava tuki varjostimien kääntämiseen ja esihahmontamiseen HLSL:ssä (korkean tason varjostuskieli), joka on toimitettu DirectX 9.0:sta lähtien.

Toinen tässä uudessa versiossa erottuvista muutoksista on Tuki kaksinkertaisen tarkkuuden liukulukuoperaatioille varjostimissa, sekä tessellation-varjostimien epäsuorat ohjeet, mallivienti varjostimista, "tarkka" varjostimen muokkaus ja globaalit esteet muistiresursseille.

Voimme myös havaita, että kyky purkaa Direct3D-varjostimet koodista tavua assembler-esitykseen, sekä lisätty tuki vanhan Direct3D-tavukoodimuodon jäsentämiseen, jota käytetään Direct3D 1, 2 ja 3 Shader-malleissa.

libvkd3d lisäsi Direct3D 12 -ominaisuuksia, kuten juuriallekirjoitukset, järjestämättömät hakulaskurit, tuotoksen yhdistämisen loogiset arvot, mirror_once-tekstuuriosoitetila ja lisätty vkd3d_host_time_domain_info-rakenne.

Muista muutoksista jotka erottuvat uudesta versiosta:

  • vkd3d_shader_preprocess_info laajentaa vkd3d_shader_compile_info-rakennetta, ja sitä voidaan käyttää esikäsittelyparametrien, kuten esikäsittelyn makromäärittelyjen, määrittämiseen.
  • vkd3d_shader_hlsl_source_info laajentaa vkd3d_shader_compile_info-rakennetta, ja sitä voidaan käyttää HLSL:n määrittämiseen ja koontiparametrien, kuten kohdeprofiilin ja aloituspisteen, määrittämiseen.
  • Linkitä Direct3D 12- ja Vulkan-mallit
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION avulla voidaan määrittää libvkd3d-shader API-versio, johon sovellus on kohdistettu. Jos sitä ei ole määritetty, VKD3D_SHADER_API_VERSION_1_2 käytetään.
  • vkd3d-kääntäjä käyttää oletuksena väritulostusta, jos se voi määrittää, että
    tulosteena on väriyhteensopiva teletulostin.
  • Lisätty tuki Shader Model 5.1:ssä määritetyille kuvaajataulukoille.

Vihdoin jos haluat tietää enemmän siitä tästä uudesta versiosta voit tutustua täydelliseen muutosluetteloon Seuraavassa linkissä.

Kuinka asentaa vkd3d Linuxiin?

Niille, jotka ovat kiinnostuneita asentamaan vkd3d: n järjestelmäänsä, heidän on hankittava lähdekoodi ja jatkettava kokoamista, vaikka käytännöllisistä syistä tai aloittelijoille he voivat kokeilla tätä kirjastoa ilman paljon vaivaa. Tätä varten heidän on asennettava vain lutris ja sen kokoonpanoissa.

Mitä tulee kääntämiseen kiinnostuneisiin, heidän on hankittava koodi:

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

Lopuksi Vulkan-kerrokset on otettava käyttöön:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.