Het Wine-project heeft vkd3d 1.14 uitgebracht met de implementatie van Direct3D 12.

Het Wine-project heeft een release van het pakket vkd3d 1.14 gepubliceerd, dat de implementatie van Direct3D 12 via een vertaling van aanroepen naar de Vulkan-graphics API ondersteunt. Het pakket omvat de bibliotheken libvkd3d met de implementatie van Direct3D 12, libvkd3d-shader met de vertaler voor modellen 4 en 5 van shaders, en libvkd3d-utils met functies om het porten van Direct3D 12-toepassingen te vergemakkelijken, evenals een set demonstratievoorbeelden, waaronder de poort van glxgears naar Direct3D 12. De code van het project wordt verspreid onder de LGPLv2.1-licentie.

De libvkd3d-bibliotheek ondersteunt het merendeel van de mogelijkheden van Direct3D 12, inclusief graphics en compute functies, queues en command lists, descriptors en heap descriptors, root signatures, unordered access, samplers, command signatures, root constants, indirect rendering, en de clear*() en copy*() methoden. In libvkd3d-shader is de vertaling van shadermodel bytecode naar de tussentijdse representatie SPIR-V geïmplementeerd. Vertex, pixel, tessellatie, compute en eenvoudige geometry shaders worden ondersteund, evenals de serialisatie en deserialisatie van root signatures. Van de shader-instructies zijn rekenkundige, atomische en bitoperaties, vergelijkings- en flowcontrol-instructies, sample, gather en load-instructies, en unordered access (UAV) bewerkingen geïmplementeerd.

In de nieuwe versie:

  • Initiële ondersteuning voor de shadingtaal MSL (Metal Shading Language), gebruikt door Apple in de Metal-graphics API, is toegevoegd.
  • Ondersteuning voor een disassembler voor binaire effecten is geïmplementeerd.
  • In de libvkd3-bibliotheek is de methode OMSetDepthBounds() geïmplementeerd in de interface ID3D12GraphicsCommandList1 voor het dynamisch wijzigen van het toegestane bereik van dieptewaarden in de Z-buffer.
  • Een omgevingsvariabele VKD3D_CAPS_OVERRIDE is toegevoegd om de door applicaties gerapporteerde informatie over beschikbare functies te overschrijven, zoals de maximaal ondersteunde functie-niveaus en resource bindingen.
  • Initiële ondersteuning voor tessellatie-shaders is toegevoegd aan de implementatie van de HLSL-shadingtaal. Geïmplementeerde ingebouwde functies zijn dst(), f32tof16(), mad(), modf() en sincos(). Voor profielen 1, 2 en 3 van shader modellen is ondersteuning toegevoegd voor de 'discard'-bewerking. Ondersteuning is toegevoegd voor de semantiek van invoerdata SV_SampleIndex voor fragment shaders en SV_GroupIndex voor compute shaders.
  • Een aanzienlijke hoeveelheid nieuwe instructies voor de GLSL-shadingtaal is geïmplementeerd.

Bron: opennet.ru

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