Wine 8.0 release candidate en vkd3d 1.6 release

Het testen is begonnen met de eerste release candidate Wine 8.0, een open implementatie van WinAPI. De codebasis is in een bevriezingsfase geplaatst voorafgaand aan de release, die medio januari wordt verwacht. Sinds de release van Wine 7.22 zijn 52 bugrapporten gesloten en 538 wijzigingen aangebracht.

De belangrijkste wijzigingen:

  • Het vkd3d-pakket met de Direct3D 12-implementatie die werkt via oproepvertaling naar de Vulkan grafische API is bijgewerkt naar versie 1.6.
  • Er is een optimalisatie van systeemoproepconverters (thunks) voor Vulkan en OpenGL uitgevoerd.
  • WinPrint heeft de ondersteuning voor printprocessors uitgebreid.
  • Verbeterd joystickbedieningspaneel.
  • Er zijn werkzaamheden voltooid om ondersteuning te bieden voor het 'lange' type in de printf-functiecode.
  • Foutrapporten met betrekking tot de werking van de games zijn gesloten: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Gesloten foutrapporten met betrekking tot de werking van applicaties: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Daarnaast kunnen we de publicatie door het Wine-project van het vkd3d 1.6-pakket met een implementatie van Direct3D 12 noteren, waarbij wordt gewerkt via de vertaling van oproepen naar de Vulkan grafische API. Het pakket bevat libvkd3d-bibliotheken met implementaties van Direct3D 12, libvkd3d-shader met een vertaler van shader-modellen 4 en 5 en libvkd3d-utils met functies voor het vereenvoudigen van de portering van Direct3D 12-applicaties, evenals een reeks demovoorbeelden, waaronder een port van glxgears naar Direct3D 12. De projectcode wordt gedistribueerd onder licentie onder LGPLv2.1.

De libvkd3d-bibliotheek ondersteunt de meeste Direct3D 12-functies, waaronder afbeeldingen en berekeningen, opdrachtwachtrijen en -lijsten, descriptors en heap-descriptors, roothandtekeningen, ongeordende toegang, Samplers, opdrachthandtekeningen, rootconstanten, indirecte weergave, Clear-methoden *() en kopiëren *(). libvkd3d-shader implementeert de vertaling van bytecode 4 en 5 van shader-modellen naar een tussenweergave van SPIR-V. Ondersteunt vertex-, pixel-, mozaïekpatroon-, reken- en eenvoudige geometrie-shaders, serialisatie en deserialisatie van rootsignaturen. Rekenkundige, atomaire en bitbewerkingen, vergelijkings- en gegevensstroombesturingsoperatoren, monster-, verzamel- en laadinstructies, ongeordende toegangsbewerkingen (UAV, Unordered Access View) worden geïmplementeerd vanuit shader-instructies.

De nieuwe versie blijft de shader-compiler verbeteren in HLSL (High-Level Shader Language), geleverd vanaf DirectX 9.0. HLSL-gerelateerde verbeteringen zijn onder meer:

  • De eerste ondersteuning voor compute shaders is geïmplementeerd.
  • Verbeterde ondersteuning voor het initialiseren en toewijzen van samengestelde objecten zoals structuren en arrays.
  • De mogelijkheid toegevoegd om textuurbronnen te laden en op te slaan met behulp van out-of-order access (UAV).
  • Ondersteuning toegevoegd voor functieattributen en ingebouwde functies asuint(), lengte(), normalize().
  • Ondersteuning toegevoegd voor drijvende-kommamodules.
  • De vlag VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS geïmplementeerd om atomaire bewerkingen op ongeordende toegangsrepresentatie (UAV) descriptors aan te geven.

Bron: opennet.ru

Voeg een reactie