Candidat pour les versions Wine 8.0 et version vkd3d 1.6

Les tests du premier candidat pour les versions Wine 8.0, une implémentation ouverte de WinAPI, ont commencé. La base de code a été mise en phase de gel avant la sortie, prévue pour la mi-janvier. Comparé à la version Wine 7.22, 52 rapports de bogues ont été fermés et 538 modifications ont été apportées.

Modifications les plus importantes :

  • Le package vkd3d, qui implémente Direct3D 12 fonctionnant via la translation d'appels dans 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.
  • Dans WinPrint, le support des gestionnaires de sortie d'impression (Print processor) a été étendu.
  • Améliorée le panneau de contrôle avec un joystick.
  • Le travail pour assurer la prise en charge du type ‘long’ dans le code de la fonction printf a été achevé.
  • Les rapports de bogues liés au fonctionnement des jeux suivants ont été fermés : Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Les rapports de bogues liés au fonctionnement des applications suivantes ont été fermés : TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

On peut également noter la publication par le projet Wine du package vkd3d 1.6, qui implémente Direct3D 12 fonctionnant via la translation d'appels dans l'API graphique Vulkan. Ce package comprend les bibliothèques libvkd3d avec l'implémentation de Direct3D 12, libvkd3d-shader avec le translateur de shaders de modèles 4 et 5, et libvkd3d-utils avec des fonctions pour simplifier le portage des applications Direct3D 12, ainsi qu'un ensemble d'exemples démonstratifs, y compris le port glxgears sur Direct3D 12. Le code du projet est distribué sous la licence LGPLv2.1.

La bibliothèque libvkd3d prend en charge la plupart des fonctionnalités de Direct3D 12, y compris les outils pour le graphisme et le calcul, les files d'attente et les listes de commandes, les descripteurs et les descripteurs de mémoire, les signatures racines, l'accès non ordonné, les échantillonneurs, les signatures de commandes, les constantes racines, le rendu indirect, et les méthodes Clear*() et Copy*(). Dans libvkd3d-shader, la translation du bytecode des modèles de shaders 4 et 5 en représentation intermédiaire SPIR-V a été réalisée. Les shaders vertex, pixel, tessellation, compute et géométriques simples, ainsi que la sérialisation et la désérialisation de la signature racine, sont pris en charge. Parmi les instructions de shaders, on trouve des opérations arithmétiques, atomiques et bitwise, des opérateurs de comparaison et de contrôle du flux de données, ainsi que des instructions sample, gather et load, et des opérations d'accès non ordonné (UAV, Unordered Access View).

Dans la nouvelle version, le travail de perfectionnement du compilateur de shaders en HLSL (High-Level Shader Language), disponible depuis DirectX 9.0, se poursuit. Parmi les améliorations liées à HLSL :

  • Un support initial pour les shaders de calcul a été implémenté.
  • Amélioration du support pour l'initialisation et l'assignation d'objets composites, tels que les structures et les tableaux.
  • Ajout de la possibilité de charger et de sauvegarder des ressources de textures en utilisant l'accès non ordonné (UAV).
  • Ajout du support pour les attributs de fonction et implémentation des fonctions intégrées asuint(), length(), normalize().
  • Ajout du support pour les modules de calculs à virgule flottante.
  • Un drapeau VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS a été implémenté pour indiquer les opérations atomiques sur les descripteurs d'accès non ordonné (UAV).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster