vkd3d 1.2 ima izboljšave združljivosti, senčenje in še več

Projekt Wine je izdal novo različico paketa vkd3d 1.2 z izvedba Direct3D 12 ki deluje tako, da prevede klice v grafični API Vulkan.

Ta nova različica vkd3d 1.2 vsebuje različne izboljšave, toda glavni, ki izstopajo, so razpoložljivost libvkd3d-shaderja kot javne knjižniceje podpora za senčenje tesselacija, kot tudi podpora za izhodni tok.

Paketin vključuje knjižnice libvkd3d z izvedbami Direct3D 12, libvkd3d-shader s senčilnim prevajalnikom modelov 4 in 5 in libvkd3d-utils s funkcijami za poenostavitev selitve aplikacij Direct3D 12 ter nizom predstavitev, vključno z vrati glxgears na Direct3D 12. Koda projekta se distribuira z licenco pod LGPLv2.1.

Knjižnica libvkd3d podpira večino funkcij Direct3D 12, vključno z grafičnimi in računskimi funkcijami, čakalnimi vrstami in seznami, deskriptorji in opisniki kopice, korenskimi podpisi, neurejenim dostopom, vzorčevalniki, podpisi ukazov, korenskimi konstantami, posredno predstavitvijo itd.

Libvkd3d-senčnik izvaja prevod bajtnih kod 4 in 5 vzorcev senčenja v vmesni predstavitvi SPIR-V. Podprte so točke, slikovne pike, tesselacija, računski in preprosti geometrijski senčniki, serializacija korenskega podpisa in deserializacija.

Navodila za senčenje vključujejo aritmetične, atomske in bitne operacije, operaterji za nadzor in primerjavo pretoka podatkov, navodila za vzorčenje, zbiranje in nalaganje, operacije z neurejenim dostopom (UAV, pogled z neurejenim dostopom).

Na trenutni stopnji razvoja niso vsi klici na Direct3D 12 izvedeni testi so bili v glavnem izvedeni na naboru demo aplikacij. Izdaja ne vključuje razvojnih funkcij, kot so podpora za zapletene geometrijske senčnike in tesselacijo, pa tudi številne izboljšave, povezane z osnovnimi metodami in senčniki Direct3D 12. Te funkcije bodo na voljo v prihodnji izdaji.

Glavne novosti Vkd3d 1.2

Med najpomembnejšimi spremembami, ki so predstavljene v novi različici, je Razpoložljivost knjižnice liderjev libvkd3d za uporabo v tujih projektih, od Dodane so bile različne funkcije Direct3D 12, kot so:

  • Več vzorčenje.
  • Rezervirani viri.
  • Stopnje posredovanja podatkov o primerkih.
  • API "Zasebni podatki" za vse vmesnike.
  • Preslikave komponent pogleda vira Shader.
  • VK_KHR_draw_indirect_count razširitev.
  • Predikatna / pogojna predstavitev.
  • Globinsko upodabljanje brez pixel shaderja.
  • Izrez globine. Za to je potrebna razširitev VK_EXT_depth_clip_enable.
  • Zavrzite rastrizator.
  • Mešanje z dvojnim virom.
  • Kartiranje postavljenih virov.
  • Metodi ReadFromSubresource () in WriteToSubresource () ID3D12Resource.
  • Hkratni dostop do virov v več vrstah.
  • Nični pogledi. Se pravi pogledi brez osnovnega vira.
  • Še nekaj poizvedb o podpori funkcij.

Poleg tega je dr. Izpostavljena je tudi dodana podpora za pretvorbo, serializacijo in deserializacijo podpisov root (vkd3d_serialize_versioned_root_signature () in vkd3d_create_versioned_root_signature_deserializer (), pa tudi podporo za pretakanje izhodnih podatkov.

Druga sprememba, ki izstopa, je implementacija spremenljivke okolja: VKD3D_CONFIG za nastavitev možnosti za spreminjanje vedenja libvkd3d in VKD3D_VULKAN_DEVICE za preglasitev naprave za Vulkan API.

Poleg tega dodana podpora za navodila za senčenje bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos in predhodna podpora za senčnike modela 5.1.

In tudi podporo za ciljna okolja OpenGL SPIR-V. To omogoča uporabo SPIR-V, ki ga proizvaja libvkd3d-shader, z GL_ARB_gl_spirv. To vključuje podporo za atomske števce OpenGL in kombinirane vzorčevalnike.

Končno če želite vedeti več o tem o tej novi različici lahko preverite celoten seznam sprememb V naslednji povezavi.

Kako namestiti vkd3d na Linux?

Za tiste, ki jih zanima, kako lahko v svoj sistem namestijo vkd3d, naj dobijo izvorno kodo in nadaljujejo s prevajanjem, čeprav lahko za praktične namene ali za tiste začetnike to knjižnico preizkusijo brez veliko truda. Za to morajo namestiti le lutris in znotraj njegovih konfiguracij.

Kar se tiče kompilacije, morajo kodo pridobiti z:

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

Nazadnje je treba omogočiti sloje Vulkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.