Neue Versionen von Wine 11.10 und Vkd3d 2.0

Die experimentelle Version der offenen Implementierung der Win32 API — Wine 11.10 wurde veröffentlicht. Seit der Veröffentlichung von 11.9 wurden 17 Fehlerberichte geschlossen und 248 Änderungen vorgenommen.

Die wichtigsten Änderungen:

  • Das integrierte Vkd3d-Paket mit der Implementierung von Direct3D 12 wurde auf Version 2.0 aktualisiert.
  • Eine ĂŒberarbeitete UnterstĂŒtzung fĂŒr die XPath-Sprache wurde vorgeschlagen, die ohne Verwendung der Bibliothek libxml2 implementiert wurde.
  • Die KompatibilitĂ€t mit VBScript wurde verbessert.
  • In ntdll wurden Platzhalter fĂŒr die ALPC-API (Advanced Local Procedure Call) hinzugefĂŒgt: NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() und NtAlpcImpersonateClientOfPort().
  • Die UnterstĂŒtzung fĂŒr Bluetooth wurde verbessert, es wurden Methoden wie BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid und IGattDeviceService::get_AttributeHandle hinzugefĂŒgt.
  • In der Implementierung von d3dx10 und d3dx11 wurde die Möglichkeit hinzugefĂŒgt, DDS-Dateien mit Texturenarrays zu laden. Die Funktion D3DX10LoadTextureFromTexture() unterstĂŒtzt jetzt 3D-Texturen, Texturen mit UnterstĂŒtzung fĂŒr Detailstufen und die Generierung von MIP-Levels (MipMap).
  • In der DLL win32u wurden die Funktionen NtUserGetMessagePos() und NtUserSetMessageExtraInfo() implementiert.
  • Fehlerberichte, die mit der FunktionalitĂ€t von Anwendungen verbunden sind, wurden geschlossen: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • Fehlerberichte, die mit der FunktionalitĂ€t von Spielen verbunden sind, wurden geschlossen: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: Die Asiatischen Dynastien.

Das Wine-Projekt hat auch die Version des Pakets vkd3d 2.0 veröffentlicht, die die Implementierung von Direct3D 12 enthĂ€lt, die ĂŒber die Übertragung von Aufrufen an die Grafik-API Vulkan funktioniert. Das Paket umfasst die Bibliotheken libvkd3d mit der Implementierung von Direct3D 12, libvkd3d-shader mit einem Shader-Modell-Compiler und libvkd3d-utils mit Funktionen zur Vereinfachung der Portierung von Anwendungen zu Direct3D 12, sowie eine Sammlung von Demonstrationsbeispielen, einschließlich des Ports glxgears zu Direct3D 12. Der Code des Projekts wird unter der Lizenz LGPLv2.1 verbreitet.

Die Bibliothek libvkd3d unterstĂŒtzt einen Großteil der Funktionen von Direct3D 12, einschließlich Grafik- und Berechnungsmittel, Warteschlangen und Befehlslisten, Deskriptoren und Deskriptortabellen, Wurzel-Signaturen, ungeordneten Zugriff, Sampler, Befehls-Signaturen, Wurzel-Konstanten, indirektes Rendering, sowie die Methoden Clear*() und Copy(). In libvkd3d-shader wurde die Übersetzung von Bytecode der Shader-Modelle in die Intermediate Representation SPIR-V implementiert. Es werden Vertex-, Pixel-, Tessellierungs-, Compute- und einfache Geometrie-Shader unterstĂŒtzt, sowie die Serialisierung und Deserialisierung der Wurzel-Signatur. Zu den Shader-Instruktionen gehören arithmetische, atomare und bitweise Operationen, Vergleichsoperatoren und Kontrollströme, sowie die Instruktionen sample, gather und load und die Operationen des ungeordneten Zugriffs (UAV, Unordered Access View).

In der neuen Version vkd3d:

  • Das HLSL-Shadersprache unterstĂŒtzt jetzt erstmals Schleifen fĂŒr 2-3 Shader-Modelle, es besteht die Möglichkeit, in strukturierten gemeinsamen Speicher von Thread-Gruppen zu schreiben, die integrierten Funktionen tex3Dbias(), tex3Dlod() und texCUBElod() wurden implementiert, und die UnterstĂŒtzung der Semantiken SV_ClipDistance, SV_CullDistance und SV_StencilRef fĂŒr die Eingabe- und Ausgabeverarbeitung von Shadern wurde gewĂ€hrleistet.
  • Im HLSL-Shaders-Compiler wurde eine automatische Eliminierung doppelter Berechnungen realisiert, die Berechnung von AusdrĂŒcken in der Form x % y mit bereits bekannten Werten wurde auf die Kompilierungsphase verschoben, und die Verteilung der temporĂ€ren Register wurde verbessert. GemĂ€ĂŸ den Anforderungen der HLSL-Spezifikation wurde der Geltungsbereich von Variablen in den „for“-Schleifen erweitert (Variablen bleiben nach Abschluss der Schleife zugĂ€nglich). Bei der Analyse von Fließkommazahlen wurde die BerĂŒcksichtigung der Gebietsschemata eingestellt (als Trennzeichen wird jetzt immer ein Punkt verwendet).
  • Die UnterstĂŒtzung des alten binĂ€ren Shader-Formats von Direct3D wurde verbessert. Die Instruktionen m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth wurden implementiert.
    texreg2ar, texreg2gb, texreg2rgb. Die UnterstĂŒtzung der Modifikatoren „_dz“, „_db“, „_dw“ und „_da“ wurde hinzugefĂŒgt, die mit den Instruktionen texcrd und texld verwendet werden können. Die UnterstĂŒtzung der Register „vFace“ und „vPos“ fĂŒr die Arbeit mit Pixel-Shadern wurde ebenfalls hinzugefĂŒgt.
  • In DXIL (Direct3D Intermediate Language) gibt es im Code bei Lade-, Speicher-, atomaren Änderungs- und Vergleichsoperationen die Möglichkeit, Zeiger auf Daten zu verwenden, die spĂ€ter deklariert werden.
  • Im Assembler-Shader von Direct3D wurde die UnterstĂŒtzung fĂŒr 16-Bit-eingebaute Konstanten sowie die Flags '64UAVs',
    'ROVs',
    'UAVLoadAdditionalFormats',
    'UAVsAtEveryStage',
    'allResourcesBound',
    'enable11_1ShaderExtensions',
    'int64Ops',
    'nativeLowPrecision',
    'stencilRef',
    'viewportAndRTArrayIndex' und
    'waveOps'.
  • Shader-Kompilierungsoptionen wurden implementiert: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 und VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster