Nieuwe versies van Wine 11.10 en Vkd3d 2.0

De experimentele uitgave van de open implementatie van de Win32 API - Wine 11.10 is gepubliceerd. Sinds de release van 11.9 zijn er 17 bugrapporten gesloten en zijn er 248 wijzigingen aangebracht.

De belangrijkste wijzigingen:

  • Het ingebouwde pakket Vkd3d met de implementatie van Direct3D 12 is bijgewerkt naar versie 2.0.
  • Een herwerkte ondersteuning voor de taal XPath is voorgesteld, geïmplementeerd zonder gebruik te maken van de libxml2-bibliotheek.
  • De compatibiliteit met VBScript is verbeterd.
  • In ntdll zijn stubfuncties toegevoegd voor de API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() en NtAlpcImpersonateClientOfPort().
  • De ondersteuning voor Bluetooth is verbeterd, nieuwe methoden zijn toegevoegd: BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid en IGattDeviceService::get_AttributeHandle.
  • In de implementatie van d3dx10 en d3dx11 is de mogelijkheid toegevoegd om DDS-bestanden met textuurarrays te laden. De functie D3DX10LoadTextureFromTexture() heeft ondersteuning gekregen voor 3D-texturen, texturen met mip-map niveaus en het genereren van MIP-niveaus.
  • In de DLL win32u zijn de functies NtUserGetMessagePos() en NtUserSetMessageExtraInfo() geïmplementeerd.
  • Bugrapporten met betrekking tot de werking van applicaties zijn gesloten: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3, TrackChecker.
    Bugrapporten met betrekking tot de werking van games zijn gesloten: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.
  • Het Wine-project heeft ook de release van het pakket vkd3d 2.0 gepubliceerd met de implementatie van Direct3D 12, werkend via oproeptransformatie naar de grafische API Vulkan. Het pakket bevat de bibliotheken libvkd3d met de implementatie van Direct3D 12, libvkd3d-shader met de shader modelvertaler en libvkd3d-utils met functies om het porteren van Direct3D 12-applicaties te vereenvoudigen, evenals een set demonstratievoorbeelden, inclusief de port van glxgears naar Direct3D 12. De code van het project wordt verspreid onder de LGPLv2.1-licentie.

Het Wine-project heeft ook de release van het pakket vkd3d 2.0 gepubliceerd met de implementatie van Direct3D 12, werkend via oproeptransformatie naar de grafische API Vulkan. Het pakket bevat de bibliotheken libvkd3d met de implementatie van Direct3D 12, libvkd3d-shader met de shader modelvertaler en libvkd3d-utils met functies om het porteren van Direct3D 12-applicaties te vereenvoudigen, evenals een set demonstratievoorbeelden, inclusief de port van glxgears naar Direct3D 12. De code van het project wordt verspreid onder de LGPLv2.1-licentie.

De libvkd3d-bibliotheek ondersteunt het merendeel van de mogelijkheden van Direct3D 12, inclusief middelen voor graphics en berekeningen, wachtrijen en commando-lijsten, descripteurs en heap-descripteurs, root-signaturen, ongeordende toegang, samplers, command-signaturen, root-constanten, indirecte rendering, de Clear*() en Copy*() methoden. In libvkd3d-shader is de vertaling van bytecode van shader-modellen naar de tussenliggende weergave SPIR-V geïmplementeerd. Er worden vertex-, pixel-, tessellation-, compute- en eenvoudige geometrische shaders ondersteund, evenals serialisatie en deserialisatie van root-signaturen. Van de shader-instructies zijn rekenkundige, atomische en bitbewerkingen, vergelijkings- en controleflow-operators, sample-, gather- en load-instructies, en operaties voor ongeordende toegang (UAV, Unordered Access View) geïmplementeerd.

In de nieuwe versie van vkd3d:

  • De implementatie van de HLSL-shader-taal heeft initiële ondersteuning voor lussen toegevoegd voor 2-3 shader-modellen, er is een mogelijkheid om naar gestructureerd gedeeld geheugen van threadgroepen te schrijven, ingebouwde functies tex3Dbias(), tex3Dlod() en texCUBElod() zijn geïmplementeerd, en er is ondersteuning voor de semantieken SV_ClipDistance, SV_CullDistance en SV_StencilRef voor het verwerken van invoer en uitvoer van shaders.
  • In de HLSL-shadercompiler is automatische verwijdering van dubbele berekeningen geïmplementeerd, en wordt het berekenen van uitdrukkingen van de vorm x % y met vooraf bekende waarden tijdens de compilatiefase gefaciliteerd, met verbeterde verdeling van tijdelijke registers. Conform de vereisten van de HLSL-specificatie is de bereikbaarheid van variabelen in 'for'-lussen uitgebreid (de variabele blijft toegankelijk na het beëindigen van de lus). Bij het parseren van decimale getallen wordt het lokale gebruik gestopt (als scheidingsteken wordt altijd een punt gebruikt).
  • De ondersteuning voor het oude binaire shaderformaat van Direct3D is verbeterd. Instructies zijn geïmplementeerd voor m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth,
    texreg2ar, texreg2gb, texreg2rgb. Ondersteuning is toegevoegd voor de modifiers '_dz', '_db', '_dw' en '_da', die kunnen worden gebruikt met de instructies texcrd en texld. Ondersteuning is toegevoegd voor de registers 'vFace' en 'vPos' voor gebruik met pixelshaders.
  • In DXIL (Direct3D Intermediate Language) is in de code, bij laad-, opslaan-, atomaire wijzigings- en vergelijkingsoperaties, de mogelijkheid geïmplementeerd om pointers naar gegevens te gebruiken die later worden gedeclareerd.
  • In de assembler van Direct3D-shaders is ondersteuning toegevoegd voor 16-bits ingebedde constanten, evenals de vlaggen ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ en
    ‘waveOps’.
  • Er zijn compileropties voor shaders geïmplementeerd: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 en VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster