Den nye version af vkd3d 1.3 er allerede blevet frigivet

Efter halvandet års udvikling, ogvinprojektet annoncerede lanceringen af den nye version af pakken «vkd3d 1.3" med en Direct3D 12 implementering, der fungerer gennem oversættelse af opkald til Vulkan grafik API.

Denne version indeholder forskellige forbedringer, og hvoraf højdepunkterne i denne nye version er indledende HLS build supportL, såvel som Shader Model 5.1 descriptor array understøttelse, understøttelse af afmontering af Direct3D shaders og mere.

For dem, der ikke er klar over pakken, bør de vide det 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 graf- og beregningsfunktioner, kommandolister og køer, deskriptorer og heap-deskriptorer, rodsignaturer, uordnet adgang, samplere, kommandosignaturer, rodkonstanter, proxy-repræsentation osv.

libvkd3d-shader implementerer oversættelsen af ​​bytekode 4 og 5 af skyggemodellerne i SPIR-V mellemrepræsentationen. Hjørner, pixels, tessellation, beregningsmæssige og simple geometri shaders, rodsignaturserialisering og deserialisering 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 primært udført på et sæt demo-applikationer.

Vigtigste nye funktioner i Vkd3d 1.3

I denne nye version af vkd3d 1.3, der præsenteres, fremhæves det tilføjet indledende støtte til kompilering og præ-gengivelse af shaders i HLSL (højt niveau shader-sprog), som er leveret siden DirectX 9.0.

En anden af ​​de ændringer, der skiller sig ud i denne nye version, er understøttelse af dobbelt præcision flydende kommaoperationer i shaders, samt indirektion for tessellation shaders, skabeloneksport fra shaders, den "præcise" shader modifikator og globale barrierer for ressourcer i hukommelsen.

Vi kan også konstatere, at mulighed for at adskille Direct3D shaders fra kode af bytes til assembler-repræsentationen, samt tilføjet understøttelse af parsing af det gamle Direct3D-bytekodeformat, der bruges i Direct3D 1, 2 og 3 shader-modeller.

libvkd3d tilføjede Direct3D 12-funktioner, såsom rodsignaturer, uordnede opslagstællere, output-fletningsbooleaner, mirror_once-teksturadresseringstilstand og tilføjet vkd3d_host_time_domain_info-struktur.

Af de andre ændringer der skiller sig ud fra denne nye version:

  • vkd3d_shader_preprocess_info udvider vkd3d_shader_compile_info-strukturen og kan bruges til at specificere forbehandlingsparametre såsom preprocessor-makrodefinitioner.
  • vkd3d_shader_hlsl_source_info udvider vkd3d_shader_compile_info strukturen og kan bruges til at specificere HLSL og bygge parametre såsom målprofil og indgangspunkt.
  • Link Direct3D 12 og Vulkan modeller
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION kan bruges til at angive den libvkd3d-shader API-version, som applikationen er målrettet mod. Hvis ikke angivet, vil VKD3D_SHADER_API_VERSION_1_2 blive brugt.
  • vkd3d-compiler vil som standard bruge farveoutput, hvis den kan bestemme, at
    outputtet er en farvekompatibel teleprinter.
  • Tilføjet understøttelse af deskriptorarrays defineret i Shader Model 5.1.

Endelig hvis du vil vide mere om det om denne nye version, kan du se 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


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  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.