Het Wine-project heeft Vkd3d 1.7 vrijgegeven met de implementatie van Direct3D 12

Het Wine-project heeft versie 1.7 van het vkd3d-pakket uitgebracht, met een implementatie van Direct3D 12 die werkt via aanroeptranslaties naar de Vulkan grafische API. Het pakket bevat de libvkd3d-bibliotheken voor de implementatie van Direct3D 12, libvkd3d-shader met een vertaler voor shadermodel 4 en 5, en libvkd3d-utils met functies om het porteren van Direct3D 12-applicaties te vergemakkelijken, evenals een set demonstratie-exemplaren, waaronder de poort van glxgears naar Direct3D 12. De code van het project wordt verspreid onder de LGPLv2.1-licentie.

De library libvkd3d ondersteunt het merendeel van de mogelijkheden van Direct3D 12, inclusief middelen voor graphics en berekeningen, wachtrijen en commandolijsten, descriptors en heap-descriptors, root-signatures, ongeordende toegang, Samplers, command-signatures, root-constants, indirecte rendering, Clear*() en Copy*() methoden. In libvkd3d-shader is de vertaling van bytecode van shader-modellen 4 en 5 naar de tussenliggende representatie SPIR-V geïmplementeerd. Er worden vertex-, pixel-, tessellatie-, compute- en eenvoudige geometrische shaders ondersteund, evenals de serialisatie en deserialisatie van root-signatures. Van de shader-instructies zijn rekenkundige, atomische en bitbewerkingen, vergelijkings- en datastroombeheersingsoperatoren, instructies sample, gather en load, en ongeordende toegang (UAV, Unordered Access View) geïmplementeerd.

In de nieuwe versie:

  • De vooruitgang in het verbeteren van de HLSL (High-Level Shader Language) shadercompiler is voortgezet:
    • De mogelijkheid is toegevoegd om gebruikersfuncties aan te roepen en arrays te gebruiken als parameters voor gebruikersfuncties.
    • Ondersteuning is toegevoegd voor de parameters SV_DispatchThreadID, SV_GroupID en SV_GroupThreadID.
    • Ingebouwde functies zoals all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose() zijn toegevoegd.
    • Er is basisondersteuning toegevoegd voor types met lage precisie met zwevendekomma, zoals 'min16float'.
  • De ondersteuning voor de shadermodelprofielen Direct3D 1/2/3 is aanzienlijk verbeterd.
  • Een publieke API voor het parseren (vkd3d_shader_parse_dxbc) en serialiseren (vkd3d_shader_serialize_dxbc) van binaire DXBC-gegevens is toegevoegd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster