Die Wynprojek het Vkd3d 1.7 gepubliseer met Direct3D 12 implementering

Die Wynprojek het die vrystelling van die vkd3d 1.7-pakket gepubliseer met 'n implementering van Direct3D 12 wat deur uitsaaioproepe na die Vulkan-grafiese API werk. 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 skadumodelle 4 en 5 in 'n intermediêre SPIR-V-voorstelling geïmplementeer. Ondersteun hoekpunt-, pixel-, tessellasie-, berekenings- en eenvoudige meetkunde-skakerings, wortelhandtekening-serialisering en deserialisering. Shader-instruksies sluit in rekenkundige, atoom- en bisbewerkings, vergelykings- en datavloeibeheeroperateurs, monster-, versamel- en laai-instruksies, ongeordende toegangsbewerkings (UAV, Unordered Access View).

In die nuwe weergawe:

  • Werk het voortgegaan om die shader-samesteller in HLSL (High-Level Shader Language) te verbeter:
    • Het die vermoë bygevoeg om pasgemaakte funksies op te roep en skikkings as parameters vir pasgemaakte funksies te gebruik.
    • Bygevoeg ondersteuning vir SV_DispatchThreadID, SV_GroupID en SV_GroupThreadID parameters.
    • Bygevoeg ingeboude funksies all(), afstand(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , stap(), transponeer().
    • Bygevoeg aanvanklike ondersteuning vir lae presisie drywende punt tipes soos "min16float".
  • Aansienlik verbeterde ondersteuning vir Direct3D 1/2/3 shader model profiele.
  • Publieke API bygevoeg vir ontleding (vkd3d_shader_parse_dxbc) en serialisering (vkd3d_shader_serialize_dxbc) van DXBC-binêre data.

Bron: opennet.ru

Voeg 'n opmerking