Nye versioner af Wine 11.10 og Vkd3d 2.0

Den eksperimentelle udgave af den åbne implementering af Win32 API — Wine 11.10 er blevet offentliggjort. Siden udgivelsen af 11.9 er 17 fejlrapporter blevet lukket, og der er foretaget 248 ændringer.

De vigtigste ændringer:

  • Den indbyggede pakke Vkd3d med implementeringen af Direct3D 12 er blevet opdateret til version 2.0.
  • En revideret støtte til XPath-sproget er blevet foreslået og implementeret uden brug af biblioteket libxml2.
  • Kompatibiliteten med VBScript er forbedret.
  • Der er blevet tilføjet stubbe til ALPC (Advanced Local Procedure Call) API i ntdll: NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() og NtAlpcImpersonateClientOfPort().
  • Bluetooth-understøttelsen er blevet forbedret, og der er tilføjet metoderne BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid og IGattDeviceService::get_AttributeHandle.
  • I implementeringen af d3dx10 og d3dx11 er der tilføjet mulighed for at indlæse DDS-filer med teksturmængder. Funktionen D3DX10LoadTextureFromTexture() har nu støtte for 3D-texter, texter med niveauer af detaljer og generering af MIP-niveauer (MipMap).
  • Funktionerne NtUserGetMessagePos() og NtUserSetMessageExtraInfo() er blevet implementeret i DLL win32u.
  • Fejlrapporter relateret til følgende programmer er blevet lukket: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • Fejlrapporter relateret til følgende spil er blevet lukket: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

Wine-projektet har også offentliggjort en udgave af pakken vkd3d 2.0 med implementeringen af Direct3D 12, som fungerer ved at oversætte kald til grafik-API'en Vulkan. Pakken inkluderer bibliotekerne libvkd3d med implementeringen af Direct3D 12, libvkd3d-shader med en oversætter til shader-modeller og libvkd3d-utils med funktioner til at forenkle porteringen af Direct3D 12-applikationer, samt et sæt demonstrations-eksempler, herunder porten af glxgears til Direct3D 12. Koden fra projektet distribueres under LGPLv2.1-licensen.

Biblioteket libvkd3d understøtter det meste af funktionaliteterne i Direct3D 12, inklusive værktøjer til grafik og beregninger, køer og kommandolister, deskriptorer og hobe-deskriptorer, rod-signaturer, uordentlig adgang, samplere, kommandosignaturer, rodkonstanter, indirekte tegning, metoderne Clear*() og Copy*(). I libvkd3d-shader er der implementeret oversættelse af shader-modellens bytekode til det mellemliggende format SPIR-V. Støtte til vertex-, pixel-, tesselerings-, beregnings- og enkle geometriske shaderne, serialisering og deserialisering af rod-signatur. Af shader-instruktioner er der implementeret aritmetiske, atomare og bitoperationer, sammenligningsoperatører og kontrolstraumsinstruktioner, samt instruktioner som sample, gather og load, og operationer for uordentlig adgang (UAV, Unordered Access View).

I den nye version af vkd3d:

  • Der er blevet tilføjet indledende støtte til loops i HLSL-shadersproget for 2-3 shader-modeller, muligheden for at skrive til struktureret delt hukommelse for trådgrupper, implementering af indbyggede funktioner som tex3Dbias(), tex3Dlod() og texCUBElod(), samt støtte til semantikkerne SV_ClipDistance, SV_CullDistance og SV_StencilRef til behandling af input og output fra shaders.
  • I kompilatoren for HLSL-shaders er der implementeret automatisk fjernelse af dublerede beregninger, muliggjort beregning under kompilering af udtryk som x % y med på forhånd kendte værdier, og forbedret fordeling af midlertidige registre. I overensstemmelse med kravene i HLSL-specifikationen er synligheden af variabler udvidet i 'for'-løkker (variablen forbliver tilgængelig efter afslutningen af løkken). Ved parsing af decimaler er lokalitetsregnskabet ophørt (punktum bruges nu altid som separator).
  • Understøttelsen af det gamle binære shaderformat til Direct3D er forbedret. Instruktionerne m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth er implementeret.
    texreg2ar, texreg2gb, texreg2rgb. Understøttelse af modifikatorer som '_dz', '_db', '_dw' og '_da', som kan bruges med instruktionerne texcrd og texld, er tilføjet. Der er tilføjet support for registrene 'vFace' og 'vPos' til arbejde med pixels shaders.
  • I DXIL (Direct3D Intermediate Language) er der i koden, i operationerne for indlæsning, gemme, atomær ændring og sammenligning implementeret mulighed for at bruge pegepinde til data, der er erklæret senere.
  • Der er tilføjet understøttelse af 16-bit indbyggede konstanter i Direct3D shaderassembler, samt flagene ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ og
    ‘waveOps’.
  • Der er implementeret shaderkompilationsmuligheder: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 og VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster