Nya versioner av Wine 11.10 och Vkd3d 2.0

Den experimentella versionen av den öppna implementeringen av Win32 API — Wine 11.10 har publicerats. Sedan version 11.9 slĂ€pptes har 17 buggrapporter stĂ€ngts och 248 Ă€ndringar gjorts.

De viktigaste Àndringarna:

  • Det inbyggda paketet Vkd3d med implementation av Direct3D 12 har uppdaterats till version 2.0.
  • Ett omarbetat stöd för XPath-sprĂ„ket har föreslagits, implementerat utan anvĂ€ndning av biblioteket libxml2.
  • Kompatibiliteten med VBScript har förbĂ€ttrats.
  • Stubbar för ALPC (Advanced Local Procedure Call) API har lagts till i ntdll: NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() och NtAlpcImpersonateClientOfPort().
  • Bluetooth-stödet har förbĂ€ttrats, och metoder som BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid och IGattDeviceService::get_AttributeHandle har lagts till.
  • Implementeringen av d3dx10 och d3dx11 har fĂ„tt stöd för att ladda DDS-filer med texturarrayer. D3DX10LoadTextureFromTexture()-funktionen har fĂ„tt stöd för 3D-texturer, texturer med mip-level-stöd och generering av MIP-nivĂ„er (MipMap).
  • Funktionerna NtUserGetMessagePos() och NtUserSetMessageExtraInfo() har implementerats i DLL win32u.
  • Buggrapporter relaterade till applikationers funktion har stĂ€ngts: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3.
    TrackChecker.
  • Buggrapporter relaterade till spelens funktion har stĂ€ngts: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

Wine-projektet har ocksÄ publicerat versionen av paketet vkd3d 2.0 med implementation av Direct3D 12, som arbetar genom att översÀtta anrop till grafiska API Vulkan. Paketet innehÄller biblioteken libvkd3d med implementation av Direct3D 12, libvkd3d-shader med shader-modell-översÀttare och libvkd3d-utils med funktioner för att underlÀtta portering av Direct3D 12-applikationer, samt ett antal demonstrations exempel, inklusive porteringen av glxgears till Direct3D 12. Koden för projektet distribueras under LGPLv2.1.

Biblioteket libvkd3d stöder de flesta funktioner i Direct3D 12, inklusive grafik- och berÀkningsverktyg, köer och kommandolistor, deskriptorer och heap-deskriptorer, rot-signer, oordnad Ätkomst, Samplrar, kommandosignaturer, rot-konstanter, indirekt rendering, Clear*()- och Copy*()-metoder. I libvkd3d-shader finns det en översÀttning av shadermodeller till det mellanliggande formatet SPIR-V. Det stöder vertex-, pixel-, tessellations-, compute- och enkla geometriska shaders, serialization och deserialization av rot-signaturer. FrÄn shaderinstruktionerna finns det stöd för aritmetiska, atomÀra och bitoperationer, jÀmförelseoperatorer och kontroll av datarutten, samt instruktioner för sample, gather och load, och operationer för oordnad Ätkomst (UAV, Unordered Access View).

I den nya versionen av vkd3d:

  • Implementeringen av HLSL-shadersprĂ„ket har fĂ„tt inledande stöd för loopar för 2-3 shader-modeller, möjlighet att skriva till strukturerad delad minne för trĂ„dgrupper, inbyggda funktioner tex3Dbias(), tex3Dlod() och texCUBElod() har implementerats, och stöd för semantiken SV_ClipDistance, SV_CullDistance och SV_StencilRef har sĂ€kerstĂ€llts för hantering av in- och utdata frĂ„n shaders.
  • I kompilatorn för HLSL-shaders har automatisk borttagning av duplicerade berĂ€kningar implementerats, berĂ€kning av uttryck av typen x % y med förhandskĂ€nda vĂ€rden har sĂ€kerstĂ€llts, och fördelningen av temporĂ€ra register har förbĂ€ttrats. I enlighet med HLSL-specifikationens krav har synligheten för variabler i "for"-loopar utvidgats (variabeln förblir tillgĂ€nglig efter att loopen avslutats). Vid parsing av flyttal har lokalkontrollen avbrutits (punkten anvĂ€nds nu alltid som avskiljare).
  • Stödet för det gamla binĂ€ra shaderformatet Direct3D har förbĂ€ttrats. Instruktioner som m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth har implementerats.
    texreg2ar, texreg2gb, texreg2rgb. Stöd för modifikatorer som "_dz", "_db", "_dw" och "_da" som kan anvÀndas med instruktionerna texcrd och texld har lagts till. Registren "vFace" och "vPos" har lagts till för arbete med pixelytor.
  • I DXIL (Direct3D Intermediate Language) har möjligheten att anvĂ€nda pekare pĂ„ data som deklarerats senare i koden, vid laddnings-, spara-, atomiska Ă€ndrings- och jĂ€mförelseoperationer, implementerats.
  • I assemblern för Direct3D-shaders har stöd för 16-bitars inbyggda konstanter, samt flaggor som ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ och
    ‘waveOps’ har lagts till.
  • Alternativ för shaderkompilering har implementerats: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 och VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster