vkd3d 1.11 kommer med innledende støtte for kompilering av Direct3D bytecode, DXIL, forbedringer og mer

vkd3d

vkd3d, er Wines Direct3D 12 til Vulkan-oversettelseslag

Vinprosjektet kunngjorde for noen dager siden utgivelse av ny versjon av vkd3d 1.11-pakken, en versjon der det er introdusert forbedringer i bruken av vulkanutvidelser, samt støtteforbedringer, nye funksjoner og mer.

For de som ikke vet om Vkd3d, bør du vite at dette er en pakke som tilbyr en Direct3D 12-implementering ved å bruke kall til Vulkan graphics API og inkluderer flere nøkkelbiblioteker. Libvkd3d-biblioteket inneholder implementeringer av Direct3D 12, som dekker et bredt spekter av funksjoner som databehandling og grafikk, kommandokøer og lister, identifikatorer, blant andre.

Libvkd3d-shader-biblioteket er også tilgjengelig som gir en oversetter for shader-modeller 4 og 5 til en mellomliggende SPIR-V-representasjon. Dette biblioteket støtter toppunkt, piksel, tessellasjon, beregning og enkel geometriskyggelegging, samt rotsignaturserialisering og deserialisering.

Hva er nytt i vkd3d 1.11?

Vkd3d 1.11 introduserer en innledende støtte for kompilering av eldre Direct3D-bytekode i en mellomrepresentasjon av SPIR-V shaders, så vel som sinnledende støtte med HLSL p-kompilatorenå kompilere effektprofiler.

En annen forbedring som presenteres i denne nye versjonen er eksperimentell støtte for kompilering av DXIL (DirectX mellomspråk) i SPIR-V-representasjonen, og gir nye muligheter for utvikling av Direct3D-applikasjoner. Denne funksjonen krever kompilering av vkd3d med "preprocessor"-alternativet-DVKD3D_SHADER_UNSUPPORTED_DXIL' og regnes som eksperimentell.

også bruken av grupper og deskriptorsett har blitt optimalisert når utvidelser er tilgjengelige VK_EXT_mutable_descriptor_type og VK_EXT_shader_viewport_index_layer, som er gitt for å forbedre effektiviteten ved å arbeide med deskriptorpoolen og øke hastigheten på gjengivelsen av tessellasjons- og vertex shader-arrays.

C-en er implementertStøtte for standard kantfarger, som svart og hvitt og metoden er implementert GetResourceAllocationInfo1() av ID3D12Device4-grensesnittet, samt støtte for ID3D12Device7 og ID3D12Resource2-grensesnittene.

Flere nye funksjonsspørringer støttes, inkludert D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

Har blitt implementert alternativer for nybygg: VKD3D_SHADER_COMPILE_OPTION_FEATURE kan brukes til
spesifiser funksjonene som er tilgjengelige i målmiljøet, mens VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 indikerer kompatibilitet med
64-bits heltallstyper i SPIR-målmiljøet og  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 indikerer kompatibilitet med
64-bits flytepunkttyper i SPIR-V-målmiljøet.

Av andre endringer som skiller seg ut av denne nye versjonen:

  • Deskriptoroppdateringer skjer nå asynkront på en intern arbeidstråd, og forbedrer ytelsen i applikasjoner som oppdaterer mange deskriptorer per ramme.
  • Nye funksjoner er lagt til for SPIR-V-måltypen, inkludert støtte for globalt konsistente tilgangsvisninger som ikke er i orden, barrierer for tilgangsvisninger som ikke er i orden, og mer.
  • ID3D12Device7-grensesnitt støttes.
  • Minimum påkrevd versjon av Vulkan-Headers for denne utgivelsen er versjon
    1.3.228.
  • ID3D12Resource2-grensesnittet støttes.
  • Flere nye funksjonsspørringer støttes:
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • De iboende funksjonene acos(), asin(), atan() og atan2() støttes allerede.
  • Eksplisitt registertilordning ved å bruke 'register()' nøkkelord
  • Konvertering fra heltallstyper til flytende punkt i shader-modellprofiler 1-3.

For de som er interessert i å lære mer om det, bør du vite at prosjektkoden er distribuert under LGPL 2.1, og du kan se detaljene i denne nye utgivelsen I den følgende lenken.

Hvordan installere vkd3d 1.11?

For interessert i å kunne installere vkd3d De må vite at de må kompilere kildekoden, så vi må skaffe den først, det er viktig å nevne at Vkd3d er avhengig av SPIRV-Headers og Vulkan-Headers (>= 1.3.228).

Kompileringen er ganske enkel, og for å gjøre dette må vi åpne en terminal der vi skal skrive følgende kommando:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Vi fortsetter med å gå inn i mappen der den ble lastet ned med:

cd vkd3d

Og vi fortsetter å kompilere ved å utføre følgende kommandoer:

./configure
make
make install

Si du vil vite mer om kompilasjonen av vkd3d kan du sjekke detaljene i denne lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.