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 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 l'état de 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 à des fichiers et des répertoires identifiables via 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 des Common Controls 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 d'arrêt inopiné de nombreux jeux (par exemple, Syberia 2) lors de l'utilisation du mode WoW64 sur des systèmes avec des GPU NVIDIA a été résolu.
  • Un problème de ralentissement de la réaction lors de l'utilisation des touches de contrôle du curseur dans certains jeux, tels que Might and Magic VI, a été résolu.
  • Un problème de blocage ou d'impossibilité de lancer certaines versions Windows d'applications utilisant la bibliothèque GTK, comme Meld et Geany, a été résolu.
  • Les rapports de bogues liés au fonctionnement des 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 au fonctionnement des 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 une implémentation de Direct3D 12 fonctionnant par le biais de la traduction d'appels dans 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, et libvkd3d-utils avec des fonctions pour simplifier le portage d'applications Direct3D 12, ainsi qu'un ensemble d'exemples de démonstration, y compris le port de glxgears sur 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 à l'implémentation du langage de shaders HLSL. Le support des expressions conditionnelles avec des types entiers a été implémenté pour les profils Shader Model 1-3.
  • Le compilateur de shaders HLSL optimise désormais la compilation de code avec des instructions conditionnelles if/else. Le calcul de constantes a été étendu à la phase de compilation (constant folding). Une optimisation similaire peut maintenant s'appliquer à des expressions du type « 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, a été poursuivi. Le support des shaders de calcul, des tampons de constantes incrémentalement initialisables, des fonctions trigonométriques, des opérations de reste et d'exploration bit à bit a été ajouté.
  • Des opérations de division et de reste pour les entiers non signés, ainsi que les fonctions sin() et cos(), ont été ajoutées à la mise en œuvre du langage de shaders GLSL (OpenGL Shading Language), ainsi que la possibilité de décaler les texels lors du chargement des textures.

De plus, Valve a publié VKD3D-Proton 3.0, un fork de la base de code vkd3d, conçu pour améliorer le support de Direct3D 12 dans le package de lancement de jeux Proton. VKD3D-Proton prend en charge des modifications, des optimisations et des améliorations spécifiques à Proton pour une meilleure performance des jeux Windows basés sur Direct3D 12, qui ne sont pas encore incluses dans la version principale de vkd3d. Les principales différences incluent une orientation vers l'utilisation d'extensions Vulkan modernes et des fonctionnalités de dernières versions de pilotes graphiques pour assurer une compatibilité totale 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. Ce nouveau backend a résolu des problèmes dans de nombreux jeux qui surviennent auparavant en raison d'un manque de fonctionnalités 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, 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