Version candidate de Wine 8.0 et version vkd3d 1.6

Les tests ont commencé sur la première version candidate Wine 8.0, une implémentation ouverte de WinAPI. La base de code a été mise en phase de gel avant sa sortie, prévue pour la mi-janvier. Depuis la sortie de Wine 7.22, 52 rapports de bogues ont été clôturés et 538 modifications ont été apportées.

Les changements les plus importants :

  • Le package vkd3d avec l'implémentation Direct3D 12 fonctionnant via la traduction des appels vers l'API graphique Vulkan a été mis à jour vers la version 1.6.
  • L'optimisation des convertisseurs d'appels système (thunks) pour Vulkan et OpenGL a été réalisée.
  • WinPrint a étendu la prise en charge des processeurs d'impression.
  • Panneau de commande du joystick amélioré.
  • Le travail est terminé pour fournir la prise en charge du type « long » dans le code de la fonction printf.
  • Les rapports d'erreurs liés au fonctionnement des jeux sont clôturés : Tom Clancy's Rainbow Six : Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Rapports d'erreurs fermés liés au fonctionnement des applications : TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

De plus, on peut noter la publication par le projet Wine du package vkd3d 1.6 avec une implémentation de Direct3D 12, travaillant via la traduction des appels à l'API graphique Vulkan. Le package comprend les bibliothèques libvkd3d avec des implémentations de Direct3D 12, libvkd3d-shader avec un traducteur des modèles de shader 4 et 5 et libvkd3d-utils avec des fonctions pour simplifier le portage des applications Direct3D 12, ainsi qu'un ensemble d'exemples de démonstration, y compris un portage. de glxgears vers Direct3D 12. Le code du projet est distribué sous licence LGPLv2.1.

La bibliothèque libvkd3d prend en charge la plupart des fonctionnalités de Direct3D 12, notamment les fonctionnalités graphiques et informatiques, les files d'attente et les listes de commandes, les handles et les handles de tas, les signatures racine, l'accès dans le désordre, les échantillonneurs, les signatures de commande, les constantes racine, le rendu indirect, les méthodes Clear *( ) et Copier*(). Dans libvkd3d-shader, la traduction du bytecode des modèles de shader 4 et 5 en une représentation SPIR-V intermédiaire est implémentée. Prend en charge les shaders de sommets, de pixels, de tessellation, de calcul et de géométrie simple, la sérialisation et la désérialisation des signatures racines. Les instructions de shader incluent des opérations arithmétiques, atomiques et binaires, des opérateurs de comparaison et de contrôle de flux de données, des instructions d'échantillonnage, de collecte et de chargement, des opérations d'accès non ordonnées (UAV, Unordered Access View).

La nouvelle version continue d'améliorer le compilateur de shader en HLSL (High-Level Shader Language), fourni à partir de DirectX 9.0. Les améliorations liées au HLSL incluent :

  • La prise en charge initiale des shaders de calcul a été implémentée.
  • Prise en charge améliorée de l'initialisation et de l'attribution d'objets composites tels que des structures et des tableaux.
  • Ajout de la possibilité de charger et de sauvegarder des ressources de texture à l'aide d'un accès dans le désordre (UAV).
  • Ajout de la prise en charge des attributs de fonction et implémentation des fonctions intégrées asuint(), length(), normalize().
  • Ajout de la prise en charge des modules à virgule flottante.
  • Implémentation de l'indicateur VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS pour indiquer les opérations atomiques sur les descripteurs de représentation d'accès non ordonné (UAV).

Source: opennet.ru

Ajouter un commentaire