Nouvelles versions de Wine 10.20, Vkd3d 1.18 et vkd3d-proton 3.0

La version expérimentale de l'implémentation open source de l'API Win32 — Wine 10.20 a été publiée. Depuis la sortie de la version 10.19, 31 rapports de bogues ont été fermés et 337 modifications ont été apportées.

Modifications les plus importantes :

  • Le package intégré Vkd3d avec l'implémentation de Direct3D 12 a été mis à jour vers la version 1.18.
  • Une boîte de dialogue a été ajoutée pour afficher la progression de la numérisation des documents.
  • La mise en œuvre du mécanisme Reparse Point a été poursuivie, permettant d'attacher des données supplémentaires aux fichiers et répertoires, identifiées par des balises. La prise en charge de Reparse Point a été assurée dans les fonctions CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress().
  • Le refactoring de l'implémentation Common Control a été poursuivi après la séparation de la bibliothèque COMCTL32 en modules distincts pour les versions 5 et 6.
  • Un problème de plantage de nombreux jeux (par exemple, Syberia 2) en utilisant le mode WoW64 sur des systèmes avec GPU NVIDIA a été résolu.
  • Un problème de latence lors de l'utilisation des touches de direction dans certains jeux, tels que Might and Magic VI, a été résolu.
  • Un problème de blocage ou d'impossibilité de démarrer certaines build Windows d'applications utilisant la bibliothèque GTK, telles que Meld et Geany, a été résolu.
  • Les rapports de bogues liés aux applications suivantes ont été fermés : SQL Server 2012/2014, installateur MS Office 365, QuarkXPress 2024, TomTom MyDrive Connect 4.x, Spine, GenLauncher, grepwinNP3, PlayOnline Viewer, tlReader 10.1.0.2004, cmd.exe, CLM Explorer, HiveMQ CE 2025.5.
  • Les rapports de bogues liés aux jeux suivants ont été fermés : Civilization 1.2, StarCraft, Last Stand : Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.

Le projet Wine a également publié une version du package vkd3d 1.18 avec l'implémentation de Direct3D 12, fonctionnant via la translation des appels vers l'API graphique Vulkan. Le package 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, ainsi que libvkd3d-utils avec des fonctions pour faciliter 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 :

  • Des fonctions intégrées countbits(), firstbithigh(), firstbitlow(), frexp() et texCUBEbias() ont été ajoutées à la mise en œuvre du langage de shader HLSL. Pour les profils Shader Model 1-3, le support des expressions conditionnelles avec des types entiers a été mis en œuvre.
  • Le compilateur de shaders HLSL optimise désormais la compilation de code avec des instructions conditionnelles if/else. Le calcul des constantes a été étendu à la phase de compilation (constant folding). Cette optimisation peut maintenant être appliquée à des expressions telles que « true ? x : y » et aux fonctions asfloat(), asint(), asuint(), cos(), mad(), round() et sin().
  • La bibliothèque libvkd3d a ajouté la méthode CreateCommandList1() à l'interface ID3D12Device4.
  • Des instructions de bytecode Direct3D ont été ajoutées : bem, tex, texbem, texbeml et texcoord.
  • Le développement du langage de shaders MSL (Metal Shading Language), utilisé par Apple dans l'API graphique Metal, se poursuit. Le support des shaders computationnels, de l'initialisation instantanée des tampons constants, des fonctions trigonométriques, des opérations de reste et du bitwise shifting a été ajouté.
  • Des opérations de division et de reste pour des entiers non signés, ainsi que les fonctions sin() et cos(), et la possibilité de décaler les texels lors du chargement des textures, ont été ajoutées à l'implémentation du langage de shaders GLSL (OpenGL Shading Language).

En outre, Valve a publié VKD3D-Proton 3.0, un fork de la base de code vkd3d, créé pour améliorer le support de Direct3D 12 dans le paquet de lancement de jeux Proton. VKD3D-Proton inclut des modifications, optimisations et améliorations spécifiques à Proton pour un meilleur fonctionnement des jeux Windows basés sur Direct3D 12, qui n'ont pas encore été intégrées dans la version principale de vkd3d. On note également une orientation vers l'utilisation des extensions modernes de Vulkan et des capacités des nouvelles versions de drivers graphiques pour atteindre une compatibilité complète avec Direct3D 12.

Parmi les changements dans la nouvelle version de vkd3d-proton :

  • Le backend des shaders DXBC (DirectX ByteCode) a été réécrit, remplaçant le backend vkd3d-shader. Le nouveau backend a résolu des problèmes dans de nombreux jeux auparavant rencontrés en raison de l'absence de fonctionnalités nécessaires dans vkd3d-shader, par exemple, le jeu Red Dead Redemption 2 fonctionne désormais en mode D3D12.
  • Le support de la technologie de super-échantillonnage FSR4 (AMD FidelityFX Super Resolution) a été ajouté.
  • Le support expérimental des graphes de tâches D3D12 (Work Graphs) a été ajouté.
  • Le support expérimental des micro-cartes de transparence (OMM — Opacity MicroMaps) a été ajouté.
  • Des problèmes dans les jeux Star Citizen, Ninja Gaiden 4, Monster Hunter Wilds, Wreckfest 2, Satisfactory, Street Fighter 6, Death Stranding, Wuthering Waves, Dune, Spider-Man Remastered, Gray Zone Warfare, Rise of the Tomb Raider, Port Royal, Mafia: Definitive Edition et Final Fantasy Tactics ont été résolus.

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