Die Wyn-projek het Vkd3d 1.3 vrygestel met Direct3D 12-implementering

Na 'n jaar en 'n half van ontwikkeling, het die Wyn-projek die vrystelling van die vkd3d 1.3-pakket gepubliseer met 'n Direct3D 12-implementering wat werk deur uitsaai-oproepe na die Vulkan-grafiese API. Die pakket bevat libvkd3d-biblioteke met implementering van Direct3D 12, libvkd3d-shader met 'n vertaler van shader-modelle 4 en 5 en libvkd3d-utils met funksies om die oordrag van Direct3D 12-toepassings te vereenvoudig, sowel as 'n stel demo-voorbeelde, insluitend 'n poort van glxgears na Direct3D 12. Die projekkode word gelisensieer onder LGPLv2.1 versprei.

Die libvkd3d-biblioteek ondersteun die meeste Direct3D 12-kenmerke, insluitend grafika en berekeningsfasiliteite, rye en opdraglyste, handvatsels en hoophandvatsels, wortelhandtekeninge, buite-orde toegang, monsternemers, opdraghandtekeninge, wortelkonstantes, indirekte weergawe, duidelike metodes *( ) en Kopieer*().

In libvkd3d-shader word die vertaling van greepkode van shader-modelle 4 en 5 in 'n intermediêre SPIR-V-voorstelling geïmplementeer. Vertex-, pixel-, tessellasie-, berekenings- en eenvoudige meetkunde-skakerings, wortelhandtekening-serialisering en deserialisering word ondersteun. Shader-instruksies sluit in rekenkundige, atoom- en bisbewerkings, vergelykings- en datavloeibeheeroperateurs, monster-, versamel- en laai-instruksies, ongeordende toegangsbewerkings (UAV, Unordered Access View).

Van die belangrikste innovasies in Vkd3d 1.3 is:

  • Bygevoeg aanvanklike ondersteuning vir die samestelling en voorverwerking van shaders in HLSL (High-Level Shader Language), verskaf vanaf DirectX 9.0.
  • Bygevoeg ondersteuning vir skikkings van beskrywers gedefinieer in die 5.1 shader model.
  • Bied ondersteuning vir dubbel-presisie swewende punt bewerkings in shaders, indirekte adressering vir tessellation shaders, uitvoer van stensils vanaf shaders, 'n "presiese" shader wysiger, en globale hindernisse vir geheue hulpbronne.
  • Die vermoë om Direct3D shaders van greepkode in samestelling voorstelling uitmekaar te haal, is geïmplementeer.
  • Bygevoeg ondersteuning vir die ontleding van die ou Direct3D bytecode formaat wat gebruik word in Direct3D 1, 2 en 3 shader modelle.
  • libvkd3d voeg Direct3D 12-kenmerke by soos wortelhandtekeninge, buite-orde aansigtellers, logiese samesmeltingsoperateurs vir uitvoer, en mirror_once-tekstuuradresseringsmodus. Bygevoeg vkd3d_host_time_domain_info-struktuur.

Bron: opennet.ru

Voeg 'n opmerking