vkd3d 1.2 leveres med kompatibilitetsforbedringer, skygge og mere

Projektet Wine har udgivet en ny version af pakken vkd3d 1.2 med en Direct3D 12-implementering som fungerer ved at oversætte opkaldene til Vulkan graphics API.

Denne nye version af vkd3d 1.2 indeholder forskellige forbedringer, men af ​​de vigtigste der skiller sig ud er tilgængelighed af libvkd3d-shader som et offentligt bibliotek, The shader support tessellation samt understøttelse af flow output.

Pakkenog inkluderer libvkd3d-biblioteker med Direct3D 12-implementeringer, libvkd3d-shader med model 4 og 5 shader-oversætter og libvkd3d-værktøjer med funktioner til at forenkle overførslen af ​​Direct3D 12-applikationer samt et sæt demoer, inklusive glxgears-porten til Direct3D 12. Projektkoden distribueres licenseret under LGPLv2.1.

Bibliotek libvkd3d understøtter de fleste af Direct3D 12-funktionerne, herunder grafik- og beregningsfunktioner, kommandokøer og lister, bunkebeskrivere og deskriptorer, rodsignaturer, uordnet adgang, samplere, kommandosignaturer, rodkonstanter, indirekte repræsentation osv.

libvkd3d-shader implementerer oversættelsen af ​​bytekode 4 og 5 af skyggemønstrene i SPIR-V mellemrepræsentation. Vertices, pixels, tessellation, computational and simple geometry shaders, root signature serialization og deserialization understøttes.

Shader-instruktionerne inkluderer aritmetiske, atomare og bitvise operationer, datastrømskontrol- og sammenligningsoperatører, prøveudtagning, indsamling og indlæsningsinstruktioner, uordnet adgangsoperationer (UAV, visning om ikke-ordnet adgang)

På det nuværende udviklingsstadium implementeres ikke alle opkald til Direct3D 12 og testene blev hovedsageligt udført på et sæt demo-applikationer. Udgivelsen inkluderer ikke funktioner i udvikling, såsom understøttelse af komplekse geometri-skyggelægere og tessellation, samt en række forbedringer relateret til grundlæggende metoder og skyggelægninger til Direct3D 12. Disse funktioner vil blive tilbudt i en fremtidig udgivelse.

Vigtigste nye funktioner i Vkd3d 1.2

Af de vigtigste ændringer, der præsenteres i den nye version, er libvkd3d-shader bibliotek tilgængelighed til brug i tredjepartsprojekter siden Forskellige Direct3D 12-funktioner blev tilføjet, såsom:

  • Multi-prøveudtagning.
  • Reserverede ressourcer.
  • Forekomst af instansdata.
  • "Private data" API til alle grænseflader.
  • Komponenttilknytninger i Shader-ressourcevisning.
  • VK_KHR_draw_indirect_count udvidelse.
  • Predikat / betinget repræsentation.
  • Dybdegengivelse uden pixelskygge.
  • Dybdeudskæring. Dette kræver udvidelsen VK_EXT_depth_clip_enable.
  • Kassér rasterizer.
  • Dobbelt kildeblanding.
  • Kortlægning af placerede ressourcer.
  • Metoderne ReadFromSubresource () og WriteToSubresource () ID3D12Resource.
  • Samtidig adgang til ressourcer i flere køer.
  • Nul visninger. Det vil sige synspunkter uden en underliggende ressource.
  • Flere flere forespørgsler om funktionssupport.

Derudover Tilføjet understøttelse til konvertering, serialisering og deserialisering af signaturer fremhæves også root (vkd3d_serialize_versioned_root_signature () og vkd3d_create_versioned_root_signature_deserializer () samt understøttelse af streamingoutput.

En anden ændring, der skiller sig ud, er miljøvariabel implementering: VKD3D_CONFIG for at indstille muligheder for at ændre adfærden for libvkd3d og VKD3D_VULKAN_DEVICE for at tilsidesætte enheden til Vulkan API.

udover det tilføjet support til skyggeinstruktioner buffinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos og foreløbig support til model 5.1 shaders.

Og også support til OpenGL SPIR-V målmiljøer. Dette gør det muligt at bruge SPIR-V produceret af libvkd3d-shader med GL_ARB_gl_spirv. Dette inkluderer support til OpenGL-atomtællere og kombinerede samplere.

Endelig hvis du vil vide mere om det om denne nye version kan du kontrollere den komplette liste over ændringer I det følgende link.

Hvordan installeres vkd3d på Linux?

For dem, der er interesseret i at være i stand til at installere vkd3d på deres system, skal de hente kildekoden og fortsætte med kompileringen, selvom de til praktiske formål eller for de nybegyndere kan prøve dette bibliotek uden megen anstrengelse. Til dette skal de kun installere lutris og inden for dets konfigurationer.

Hvad angår dem, der er interesseret i kompilering, skal de få koden med:

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

Endelig skal Vulkan-lagene være aktiveret:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.