Une version expérimentale de l'implémentation ouverte de l'API Win32 — Wine 11.3 a été publiée. Depuis le lancement de la version 11.2, 30 rapports de bogues ont été résolus et 223 modifications ont été apportées.
Modifications les plus importantes :
- Le moteur Wine Mono a été mis à jour vers la version 11.0.0. Wine Mono est une distribution de Framework Mono, conçue pour être utilisée dans Wine à la place du composant propriétaire .NET Framework.
- Le paquet intégré Vkd3d avec l'implémentation de Direct3D 12 a été mis à jour vers la version 1.19.
- Le support des filtres à réponse impulsionnelle finie (FIR, Finite Impulse Response) a été amélioré dans l'implémentation de l'API DirectSound.
- L'optimisation du chargement des fichiers PDB (Program Database) a été poursuivie.
- Le thème clair a été renommé Aero pour améliorer la compatibilité.
- Un problème de retour du focus lors du passage aux applications de jeux via l'interface Alt-Tab a été résolu, si le paramètre UseTakeFocus=N n'est pas explicitement défini dans le registre.
- Le développement des bibliothèques mshtml et msxml3, nécessaires au fonctionnement de l'installateur des produits Adobe Cloud, y compris Adobe Photoshop, a été poursuivi. La classe XMLSerializer a été implémentée dans mshtml. Dans msxml3, la gestion des noms de types a été ajoutée à createNode().
- Les rapports de bogues liés au fonctionnement des applications suivantes ont été fermés : Adobe Audition 2020, QuarkXPress 2024, Framemaker 8, Amazon Chime 5.23, 42Tags, Vavoo Webinstaller, Kodi, zools backup, ExtractNow, zdaemon, Rainmeter 4.5.23, Sysinternals.
- Les rapports de bogues liés au fonctionnement des jeux suivants ont été fermés : War Thunder, Dead or Alive Xtreme : Venus Vacation, Westwood Monopoly, Flight Simulator 2000, Guild Wars 2, iWin Games Manager V4.
Une version du projet Wine Staging 11.3 a également été créée, fournissant des compilations étendues de Wine, incluant des patchs non totalement prêts ou risqués, qui ne sont pas encore apte à être intégrés dans la branche principale de Wine. Par rapport à Wine, Wine Staging fournit 241 patchs supplémentaires. Le nouveau lancement de Wine Staging a synchronisé la base de code avec Wine 11.3 et a mis à jour le code de vkd3d. Les patchs pour assurer le fonctionnement de l'installateur Adobe Creative Cloud 2025 et 2026 ont été mis à jour. L'implémentation de IXMLSerializer a été transférée vers mshtml dans la version principale de Wine.
Le projet Wine a également publié une version du paquet vkd3d 1.19 avec une implémentation de Direct3D 12, fonctionnant via la traduction des appels dans l'API graphique Vulkan. Le paquet comprend les bibliothèques libvkd3d avec l'implémentation de Direct3D 12, libvkd3d-shader avec le traducteur de modèles de shaders 4 et 5 et libvkd3d-utils avec des fonctionnalités pour simplifier le portage des applications Direct3D 12, ainsi qu'un ensemble d'exemples de démonstration, y compris le port de glxgears vers Direct3D 12. Le code du projet est distribué sous la licence LGPLv2.1.
La bibliothèque libvkd3d supporte la plupart des fonctionnalités de Direct3D 12, y compris les outils pour les graphismes et le calcul, les files d'attente et les listes de commandes, les descripteurs et les descripteurs de tas, les signatures racines, l'accès désordonné, les Sampler, les signatures de commandes, les constantes racines, le rendu indirect, les méthodes Clear*() et Copy*(). Dans libvkd3d-shader, la translation du bytecode des modèles de shaders en représentation intermédiaire SPIR-V est réalisée. Les shaders de sommet, de pixel, de tessellation, de calcul et de géométrie simple sont supportés, ainsi que la sérialisation et la désérialisation des signatures racines. Parmi les instructions de shader, des opérations arithmétiques, atomiques et bit à bit, des opérateurs de comparaison et de contrôle de flux, des instructions sample, gather et load, ainsi que des opérations d'accès désordonné (UAV, Unordered Access View) ont été implémentées.
Dans la nouvelle version de vkd3d :
- La bibliothèque libvkd3d a ajouté la prise en charge des modes de filtrage de textures « minimum » et « maximum ».
- La mise en œuvre du langage de shaders HLSL a ajouté des instructions de bytecode : dp2add, loop/endloop, lrp, nrm, pow et rep/endrep.
- Le compilateur de shaders HLSL a considérablement amélioré la gestion des tableaux d'entrées/sorties des shaders, utilisés pour le clipping (Clip) ou le culling (Cull), lors de la génération de la représentation SPIR‑V.
- Un paramètre VKD3D_SHADER_PARAMETER_NAME_PROJECTED_TEXTURE_MASK a été ajouté, indiquant quelles textures dans le shader de pixel doivent être considérées comme projetées.
Source : opennet.ru
