vkd3d 1.2 levereras med kompatibilitetsförbättringar, skuggning och mer

Projektet Wine har släppt en ny version av paketet vkd3d 1.2 med en Direct3D 12-implementering som fungerar genom att översätta samtalen till Vulkan graphics API.

Denna nya version av vkd3d 1.2 innehåller olika förbättringar, men av de viktigaste som sticker ut är tillgänglighet av libvkd3d-shader som ett offentligt bibliotek, The skuggstöd tessellering, liksom stöd för flödeseffekt.

Förpackningenoch inkluderar libvkd3d-bibliotek med Direct3D 12-implementeringar, libvkd3d-shader med modell 4 och 5 shader-översättare och libvkd3d-verktyg med funktioner för att förenkla migreringen av Direct3D 12-applikationer, samt en uppsättning demos, inklusive glxgears-porten till Direct3D 12. Projektkoden distribueras licensierad under LGPLv2.1.

Bibliotek libvkd3d stöder de flesta Direct3D 12-funktioner, inklusive grafik- och beräkningsfunktioner, kommandolistor och köer, högdeskriptorer och deskriptorer, rotsignaturer, oordnad åtkomst, samplare, kommandosignaturer, rotkonstanter, indirekt representation och så vidare.

libvkd3d-shader implementerar översättningen av byte kod 4 och 5 av skuggmönstren i den mellanliggande SPIR-V-representationen. Vertices, pixlar, tessellation, computational och enkel geometri shaders, root signatur serialisering och deserialization stöds.

Skugginstruktionerna inkluderar aritmetiska, atomära och bitvisa operationer, dataflödesstyrning och jämförelseoperatörer, provtagning, insamling och laddningsinstruktioner, oordnad åtkomståtgärd (UAV, Unordered access view).

I det nuvarande utvecklingsstadiet genomförs inte alla samtal till Direct3D 12 och testerna utfördes huvudsakligen på en uppsättning demoapplikationer. Utgåvan innehåller inte funktioner i utveckling som stöd för komplexa geometriska nyanser och tessellering, samt ett antal förbättringar relaterade till grundläggande metoder och skuggor för Direct3D 12. Dessa funktioner kommer att erbjudas i en framtida version.

De viktigaste nya funktionerna i Vkd3d 1.2

Av de viktigaste förändringarna som presenteras i den nya versionen är libvkd3d-shader bibliotek tillgänglighet för användning i tredjepartsprojekt sedan Olika Direct3D 12-funktioner lades till, såsom:

  • Multiprovtagning.
  • Reserverade resurser.
  • Överföringshastigheter för instansdata.
  • API för "privata data" för alla gränssnitt.
  • Komponentmappningar för Shader-resursvy.
  • VK_KHR_draw_indirect_count-tillägg.
  • Predikat / villkorlig representation.
  • Djupåtergivning utan pixelskuggning.
  • Djupskärning. Detta kräver tillägget VK_EXT_depth_clip_enable.
  • Kasta rasterizer.
  • Blandning med dubbla källor.
  • Kartläggning av placerade resurser.
  • Metoderna ReadFromSubresource () och WriteToSubresource () ID3D12Resource.
  • Samtidig åtkomst till flera köresurser.
  • Null utsikt. Det vill säga åsikter utan en underliggande resurs.
  • Flera fler funktioner stöder frågor.

Utöver detta Tillagt stöd för konvertering, serialisering och deserialisering av signaturer markeras också root (vkd3d_serialize_versioned_root_signature () och vkd3d_create_versioned_root_signature_deserializer (), samt stöd för streaming-utdata.

En annan förändring som sticker ut är implementering av miljövariabler: VKD3D_CONFIG för att ställa in alternativ för att ändra beteendet hos libvkd3d och VKD3D_VULKAN_DEVICE för att åsidosätta enheten för Vulkan API.

Förutom det lagt till stöd för skugginstruktioner buffinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos och preliminärt stöd för modell 5.1-skuggor.

Och även stöd för OpenGL SPIR-V-målmiljöer. Detta gör att SPIR-V producerad av libvkd3d-shader kan användas med GL_ARB_gl_spirv. Detta inkluderar stöd för OpenGL-atomräknare och kombinerade samplare.

Slutligen om du vill veta mer om det om den här nya versionen kan du kontrollera hela listan med ändringar I följande länk.

Hur installerar jag vkd3d på Linux?

För dem som är intresserade av att kunna installera vkd3d på sitt system, bör de skaffa källkoden och fortsätta med sammanställningen, men för praktiska ändamål eller för de nybörjare kan de prova det här biblioteket utan mycket ansträngning. För detta behöver de bara installera lutris och inom dess konfigurationer.

När det gäller de som är intresserade av sammanställning måste 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"

Slutligen måste Vulkan-lagren vara aktiverade:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.