Neue Versionen von Wine 10.20, Vkd3d 1.18 und vkd3d-proton 3.0

Eine experimentelle Veröffentlichung der offenen Implementierung der Win32-API – Wine 10.20 – wurde veröffentlicht. Seit der Veröffentlichung von 10.19 wurden 31 Fehlerberichte geschlossen und 337 Änderungen vorgenommen.

Die wichtigsten Änderungen sind:

  • Das eingebaute Vkd3d-Paket mit der Implementierung von Direct3D 12 wurde auf Version 1.18 aktualisiert.
  • Ein Dialogfenster zur Anzeige des Fortschritts beim Scannen von Dokumenten wurde hinzugefügt.
  • Die Implementierung des Reparse Point-Mechanismus wurde fortgesetzt, der es ermöglicht, zusätzliche, durch Tags identifizierbare Daten an Dateien und Verzeichnisse anzuhängen. Unterstützung für Reparse Points wurde in den Funktionen CreateHardLink(), SetFileAttributes(), FindNextFile() und MoveFileWithProgress() bereitgestellt.
  • Die Refaktorisierung der Implementierung der Common Controls wurde fortgesetzt, nachdem die COMCTL32-Bibliothek in separate Module für die Versionen 5 und 6 aufgeteilt wurde.
  • Ein Problem mit dem Absturz vieler Spiele (z. B. Syberia 2) im WoW64-Modus auf Systemen mit NVIDIA-GPU wurde behoben.
  • Ein Problem mit der verzögerten Reaktion beim Drücken der Steuerungstasten in einigen Spielen, wie Might and Magic VI, wurde behoben.
  • Ein Problem mit dem Einfrieren oder dem Fehlen des Starts bestimmter Windows-Builds von Anwendungen, die die GTK-Bibliothek verwenden, z. B. Meld und Geany, wurde gelöst.
  • Fehlerberichte zu Anwendungen wurden geschlossen: SQL Server 2012/2014, MS Office 365 Installer, 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.
  • Fehlerberichte zu Spielen wurden geschlossen: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.

Das Wine-Projekt hat auch ein Release des Pakets vkd3d 1.18 veröffentlicht, das die Implementierung von Direct3D 12 über einen Aufruf-zu-Vulkan-API-Übersetzer ermöglicht. Das Paket enthält die Bibliotheken libvkd3d mit der Implementierung von Direct3D 12, libvkd3d-shader mit einem Übersetzer für Shader-Modell 4 und 5 sowie libvkd3d-utils mit Funktionen zur Erleichterung der Portierung von Direct3D 12-Anwendungen, sowie eine Sammlung von Demobeispielen, einschließlich der Portierung von glxgears auf Direct3D 12. Der Code des Projekts wird unter der Lizenz LGPLv2.1 verbreitet.

Die libvkd3d-Bibliothek unterstützt die meisten Funktionen von Direct3D 12, einschließlich Grafik- und Compute-Tools, Queues und Command Lists, Deskriptoren und Heap-Deskriptoren, Root-Signaturen, unordentlichen Zugriff, Sampler, Kommando-Signaturen, Root-Konstanten, indirektes Rendering, die Clear*()- und Copy*()-Methoden. In libvkd3d-shader wird die Übersetzung von Shader-Modell-Bitcode in das Intermediate Representation SPIR-V implementiert. Unterstützt werden Vertex-, Pixel-, Tessellation-, Compute- und einfache Geometrie-Shader sowie die Serialisierung und Deserialisierung von Root-Signaturen. Zu den implementierten Shader-Instruktionen gehören arithmetische, atomare und bitweise Operationen, Vergleichs- und Datenflusssteuerungsoperatoren, Sample-, Gather- und Load-Instruktionen sowie unordentlicher Zugriff (UAV, Unordered Access View).

In der neuen Version vkd3d:

  • In die Implementierung der Shader-Sprache HLSL wurden die eingebauten Funktionen countbits(), firstbithigh(), firstbitlow(), frexp() und texCUBEbias() aufgenommen. Für die Shader-Model-Profile 1-3 wurde die Unterstützung für bedingte Ausdrücke mit ganzzahligen Typen implementiert.
  • Im HLSL-Shader-Compiler wurde die Kompilierung von Code mit bedingten Anweisungen if/else optimiert. Die Berechnung von Konstanten während des Kompilierungsprozesses (Constant Folding) wurde erweitert. Diese Optimierung kann nun auch für Ausdrücke wie «true ? x : y» sowie für die Funktionen asfloat(), asint(), asuint(), cos(), mad(), round() und sin() angewendet werden.
  • In der Bibliothek libvkd3d wurde die Methode CreateCommandList1() in die Implementierung des ID3D12Device4-API hinzugefügt.
  • Es wurden neue Bytecode-Anweisungen für Direct3D hinzugefügt: bem, tex, texbem, texbeml und texcoord.
  • Die Entwicklung der Implementierung der Shadersprache MSL (Metal Shading Language), die von Apple im Grafik-API Metal verwendet wird, wurde fortgesetzt. Unterstützung für Compute-Shader, sofort initialisierbare Konstantenpuffer, trigonometrische Funktionen, Modulo-Operationen und bitweise Operationen wurde hinzugefügt.
  • Der Implementierung der Shadersprache GLSL (OpenGL Shading Language) wurden unsigned Integer-Operationen für Division und Modulus, sowie die Funktionen sin() und cos() hinzugefügt. Außerdem gibt es die Möglichkeit, Texturkoordinaten beim Laden von Texturen zu verschieben.

Darüber hinaus hat das Unternehmen Valve die Version VKD3D-Proton 3.0 veröffentlicht, einen Ableger des vkd3d-Codebases, der zur Verbesserung der Unterstützung von Direct3D 12 im Proton-Spielepaket entwickelt wurde. VKD3D-Proton unterstützt Proton-spezifische Änderungen, Optimierungen und Verbesserungen für eine bessere Leistung von Windows-Spielen auf Basis von Direct3D 12, die bislang nicht in den Hauptbestand von vkd3d integriert sind. Zu den Unterschieden gehört auch die Ausrichtung auf die Nutzung moderner Vulkan-Erweiterungen und die Möglichkeiten aktueller Grafikkartentreiber-Versionen, um vollständige Kompatibilität mit Direct3D 12 zu erreichen.

Zu den Änderungen in der neuen Version von vkd3d-proton gehören:

  • Der DXBC (DirectX ByteCode)-Shader-Backend wurde neu geschrieben und hat den vkd3d-shader-Backend ersetzt. Das neue Backend hat Probleme in vielen Spielen behoben, die zuvor aufgrund fehlender Funktionalitäten im vkd3d-shader auftraten, wie zum Beispiel die Funktionalität des Spiels Red Dead Redemption 2 im D3D12-Modus.
  • Unterstützung der FSR4-Technologie (AMD FidelityFX Super Resolution) hinzugefügt.
  • Experimentelle Unterstützung für D3D12-Taskgraphen (Work Graphs) hinzugefügt.
  • Experimentelle Unterstützung für Opazitäts-Mikrokarten (OMM – Opacity MicroMaps) hinzugefügt.
  • Probleme in den Spielen 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 wurden behoben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster