Vinprojektet har publicerat Vkd3d 1.7 med Direct3D 12-implementering

Wine-projektet har publicerat releasen av vkd3d 1.7-paketet med en implementering av Direct3D 12 som fungerar genom att sända anrop till Vulkans grafik-API. Paketet innehåller libvkd3d-bibliotek med implementeringar av Direct3D 12, libvkd3d-shader med en översättare av shader-modellerna 4 och 5 och libvkd3d-utils med funktioner för att förenkla porteringen av Direct3D 12-applikationer, samt en uppsättning demoexempel, inklusive en port av glxgears till Direct3D 12. Projektkoden distribueras licensierad under LGPLv2.1.

libvkd3d-biblioteket stöder de flesta Direct3D 12-funktioner, inklusive grafik och datorfaciliteter, köer och kommandolistor, handtag och heap-handtag, rotsignaturer, out-of-order access, Samplers, kommandosignaturer, rotkonstanter, indirekt rendering, Rensa metoder *( ) och Copy*(). I libvkd3d-shader implementeras översättningen av bytekod för shadermodellerna 4 och 5 till en mellanliggande SPIR-V-representation. Stöder vertex, pixel, tessellation, beräkning och enkel geometriskuggning, rotsignaturserialisering och deserialisering. Shader-instruktioner inkluderar aritmetiska, atom- och bitoperationer, jämförelse- och dataflödeskontrolloperatörer, samplings-, insamlings- och laddningsinstruktioner, oordnade åtkomstoperationer (UAV, Unordered Access View).

I den nya versionen:

  • Arbetet fortsatte med att förbättra shader-kompilatorn i HLSL (High-Level Shader Language):
    • Lade till möjligheten att anropa anpassade funktioner och använda arrayer som parametrar till anpassade funktioner.
    • Lagt till stöd för parametrarna SV_DispatchThreadID, SV_GroupID och SV_GroupThreadID.
    • Lade till inbyggda funktioner all(), distans(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , step(), transponera().
    • Lade till initialt stöd för flyttalstyper med låg precision som "min16float".
  • Betydligt förbättrat stöd för Direct3D 1/2/3 shader-modellprofiler.
  • Lade till offentligt API för analys (vkd3d_shader_parse_dxbc) och serialisering (vkd3d_shader_serialize_dxbc) av binära DXBC-data.

Källa: opennet.ru

Lägg en kommentar