Vinprojekt udgivet Vkd3d 1.5 med Direct3D 12 implementering

Wine-projektet har udgivet udgivelsen af ​​vkd3d 1.5-pakken med en implementering af Direct3D 12, der fungerer gennem broadcast-opkald til Vulkan graphics API. Pakken indeholder libvkd3d-biblioteker med implementeringer af Direct3D 12, libvkd3d-shader med en oversætter af shader-modeller 4 og 5 og libvkd3d-utils med funktioner til at forenkle porteringen af ​​Direct3D 12-applikationer, samt et sæt demo-eksempler, inklusive en port af glxgears til Direct3D 12. Projektkoden er distribueret i licens under LGPLv2.1.

Libvkd3d-biblioteket understøtter de fleste Direct3D 12-funktioner, inklusive grafik- og computerfaciliteter, køer og kommandolister, håndtag og heap-håndtag, rodsignaturer, out-of-order adgang, samplere, kommandosignaturer, rodkonstanter, indirekte gengivelse, Clear-metoder *( ) og Kopi*().

I libvkd3d-shader implementeres oversættelsen af ​​bytekode for shader-modeller 4 og 5 til en mellemliggende SPIR-V-repræsentation. Understøtter vertex, pixel, tessellation, beregning og simpel geometri shaders, rodsignatur-serialisering og deserialisering. Shader-instruktioner omfatter aritmetiske, atom- og bitoperationer, sammenlignings- og dataflowkontroloperatører, sample, indsamle og indlæse instruktioner, uordnede adgangsoperationer (UAV, Unordered Access View).

I den nye version:

  • Der er foretaget adskillige forbedringer til HLSL (High-Level Shader Language) shader-kompileren, der er leveret siden DirectX 9.0. Inklusive forbedret understøttelse af HLSL-objekttyper såsom Texture2D i strukturer og arrays, tilføjet understøttelse af indbyggede funktioner dot(), ldexp() og lerp(), tilføjet understøttelse af logiske operatorer "and", "or" for shader-modeller 4 og 5 og "ikke", samt muligheden for at caste boolske typer.
  • Implementerede muligheden VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV for at indlæse uordnet adgangsrepræsentation (UAV) for SPIR-V multipart-formater (DXGI_FORMAT).

Kilde: opennet.ru

Tilføj en kommentar