Candidat pour les versions Wine 9.0 et version vkd3d 1.10

Le test du premier candidat pour le lancement de Wine 9.0, une implémentation ouverte de WinAPI, a commencé. La base de code a été mise en phase de gel avant la sortie, prévue pour la deuxième moitié de janvier. Comparé à la version Wine 8.21, 52 rapports de bogues ont été fermés et 391 modifications ont été apportées.

Modifications les plus importantes :

  • Le package intégré vkd3d, qui met en œuvre Direct3D 12 via la traduction des appels dans l'API graphique Vulkan, a été mis à jour vers la version 1.10.
  • Le développement des fonctionnalités visant à rendre Wine utilisable dans des environnements basés sur le protocole Wayland, sans utiliser XWayland et les composants X11, se poursuit. Le pilote winewayland.drv a ajouté la prise en charge des mises en page de clavier. Le support de l'API graphique Vulkan a été élargi, ajoutant des fonctions telles que vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR et vkGetPhysicalDevicePresentRectanglesKHR. La fonction ClipCursor a été ajoutée, permettant l'utilisation de coordonnées relatives pour le suivi des mouvements de la souris.
  • La prise en charge des clés de cryptage DH (Diffie-Hellman) a été mise en œuvre lors de l'utilisation des dernières versions de GnuTLS.
  • Des rapports de bogues liés au fonctionnement des applications ont été fermés : Notepad, MS Word, Roon, eFilm Workstation 2.x/3.x, Athena’s Charm Table Search 0.35b, Process Explorer, Araxis Merge 2023.5877, Framemaker 8, Internet Download Manager, Air Jura, SpeedCommander, ModOrganizer, RestoreDC, Acid-V VST plugin, MIDITrail 1.4.0.
  • Des rapports de bogues liés au fonctionnement des jeux ont été fermés : For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.

On peut également noter la publication par le projet Wine du package vkd3d 1.10, mettant en œuvre Direct3D 12 via la traduction des 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 shaders de modèles 4 et 5, et libvkd3d-utils avec des fonctions pour faciliter le portage des applications Direct3D 12, ainsi qu'un ensemble d'exemples démonstratifs, y compris le port de 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).

La nouvelle version continue de travailler sur l'amélioration du compilateur de shaders en HLSL (High-Level Shader Language), fourni à partir de DirectX 9.0 : la prise en charge de l'indexation dynamique des tableaux a été ajoutée ; les expressions « break », « continue » et « switch » ont été ajoutées ; les expressions pour lesquelles la réduction des constantes est applicable ont été élargies ; des fonctions intégrées telles que ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() et tex3Dproj() ont été réalisées.

La bibliothèque libvkd3d a ajouté de nouvelles interfaces de programmation Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 et ID3D12Resource1) et a mis en œuvre la possibilité de créer des objets d'état de pipeline (pipeline state object). Dans libvkd3d-utils, des fonctions d'assistance pour manipuler le DXBC ont été ajoutées : D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob(), D3DStripShader(). Le compilateur vkd3d-compiler a ajouté les options « —fragment-coordinate-origin » et « —semantic-compat-map ».

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