Wine-projektet har släppt Vkd3d 1.3 med implementering av Direct3D 12

Efter ett och ett halvt års utveckling har projektet Wine släppt paketversion 1.3 av vkd3d med implementering av Direct3D 12, som fungerar genom att översätta anrop till grafik-API:et Vulkan. Paketet inkluderar biblioteken libvkd3d med implementeringer av Direct3D 12, libvkd3d-shader med en översättare för shader-modeller 4 och 5, samt libvkd3d-utils med funktioner för att förenkla portningen av Direct3D 12-applikationer, samt en uppsättning demonstrations exempel, inklusive portningen av glxgears till Direct3D 12. Koden för projektet distribueras under LGPLv2.1-licensen.

Biblioteket libvkd3d stöder de flesta funktioner i Direct3D 12, inklusive verktyg för grafik och beräkningar, köer och kommandon, deskriptorer och heapedeskriptorer, rot-signaturer, oordnad åtkomst, samplare, kommandosignaturer, rotkonstanter, indirekt rendering, metoder Clear*() och Copy*().

I libvkd3d-shader har sökningen av bytekod för shader-modeller 4 och 5 implementerats till ett mellanliggande format SPIR-V. Vertex-, pixel-, tesselerings-, beräknings- och enkla geometriska shadrar, samt serialisering och deserialisering av rot-signaturer stöds. Bland shader-instruktionerna finns aritmetiska, atomära och bitoperationer, jämförelse- och flödeskontrolloperatorer, instruktioner för sample, gather och load, samt operationer för oordnad åtkomst (UAV, Unordered Access View).

Bland de mest betydande nyheterna i Vkd3d 1.3 finns:

  • Inledande stöd för kompilering och förbearbetning av shadere skrivna i HLSL (High-Level Shader Language), som tillhandahålls från och med DirectX 9.0, har lagts till.
  • Stöd för arrayer av deskriptorer definierade i shader-modellen 5.1 har lagts till.
  • Stöd för operationer med dubbel precision flyttal i shadere, indirekt adressering för tesselerings-shadere, export av stenciler från shadere, modifieraren ’precise’ för shadere och globala barriärer för resurser i minnet har säkerställts.
  • Möjligheten att disassemblára Direct3D-shadere från bytekod till assemblerrepresentation har implementerats.
  • Stöd för att analysera det gamla formatet för bytekod i Direct3D, som används i shader-modellerna 1, 2 och 3, har lagts till.
  • I libvkd3d har funktioner för Direct3D 12, såsom rot-signaturer, räknare för oordnad åtkomst, logiska sammanslagningsoperatorer för utdata, och texturadressiering i läget mirror_once lagts till. Strukturen vkd3d_host_time_domain_info har lagts till.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster