Nové verzie Wine 11.10 a Vkd3d 2.0

Bolo zverejnené experimentálne vydanie open source implementácie Win32 API, Wine 11.10. Od vydania 11.9 bolo uzavretých 17 hlásení o chybách a bolo vykonaných 248 zmien.

Najdôležitejšie zmeny:

  • Vstavaný balík Vkd3d s implementáciou Direct3D 12 bol aktualizovaný na verziu 2.0.
  • Navrhuje sa revidovaná podpora jazyka XPath, implementovaná bez použitia knižnice libxml2.
  • Vylepšená kompatibilita s VBScriptom.
  • Do ntdll boli pridané úryvky pre rozhranie API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() a NtAlpcImpersonateClientOfPort().
  • Vylepšená podpora Bluetooth, pridané metódy BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid a IGattDeviceService::get_AttributeHandle.
  • Implementácie d3dx10 a d3dx11 teraz podporujú načítavanie súborov DDS s poľami textúr. Funkcia D3DX10LoadTextureFromTexture() teraz podporuje 3D textúry, textúry s podporou LOD a generovanie MIPmap.
  • Knižnica DLL pre systém win32u implementuje funkcie NtUserGetMessagePos() a NtUserSetMessageExtraInfo().
  • Uzavreté hlásenia o chybách súvisiacich s prevádzkou aplikácií: IrfanView, Kodak EasyShare, Git for Windows, Tvorca rodokmeňov 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    Kontrola sledovania.
  • Uzavreté hlásenia o chybách týkajúcich sa prevádzky hier: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

Projekt Wine tiež vydal balík vkd3d 2.0, implementáciu Direct3D 12, ktorá funguje prostredníctvom prekladu volaní do grafického API Vulkan. Balík obsahuje knižnice libvkd3d s implementáciami Direct3D 12, libvkd3d-shader s prekladačom modelu shaderu a libvkd3d-utils s funkciami na zjednodušenie portovania aplikácií Direct3D 12, ako aj sadu ukážok vrátane portovania glxgears do Direct3D 12. Kód projektu je distribuovaný pod licenciou LGPLv2.1.

Knižnica libvkd3d podporuje väčšinu funkcií Direct3D 12 vrátane grafických a výpočtových zariadení, frontov a zoznamov príkazov, deskriptorov a deskriptorov haldy, koreňových signatúr, neusporiadaného prístupu, samplerov, signatúr príkazov, koreňových konštánt, nepriameho vykresľovania, metód Clear*() a Copy*(). Balík libvkd3d-shader implementuje preklad bajtkódu modelu shaderu do medziľahlej reprezentácie SPIR-V. Podporované sú shadery vrcholov, pixelov, teselácie, výpočtov a jednoduchej geometrie, serializácia a deserializácia koreňových podpisov. Inštrukcie shadera zahŕňajú aritmetické, atomické a bitové operácie, operátory porovnávania a riadenia toku dát, inštrukcie vzorkovania, zhromažďovania a načítavania a operácie neusporiadaného prístupu k zobrazeniu (UAV).

V novej verzii vkd3d:

  • Implementácia shaderového jazyka HLSL teraz zahŕňa počiatočnú podporu slučiek pre 2-3 shaderové modely, možnosť zapisovať do štruktúrovanej zdieľanej pamäte pre skupinu vlákien, implementáciu vstavaných funkcií tex3Dbias(), tex3Dlod() a texCUBElod() a podporu sémantiky SV_ClipDistance, SV_CullDistance a SV_StencilRef na spracovanie vstupu a výstupu zo shaderov.
  • Kompilátor shaderov HLSL teraz automaticky odstraňuje duplicitné výpočty, umožňuje vyhodnocovanie výrazov ako x % y s vopred určenými hodnotami počas kompilácie a zlepšuje dočasné prideľovanie registrov. V súlade so špecifikáciou HLSL bol rozšírený rozsah premenných v cykloch „for“ (premenná zostáva prístupná aj po dokončení cyklu). Pri analýze zlomkových čísel sa zrušilo zohľadňovanie locale (bodka sa teraz vždy používa ako oddeľovač).
  • Vylepšená podpora pre starý formát binárnych shaderov Direct3D. Implementované inštrukcie: m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth.
    texreg2ar, texreg2gb, texreg2rgb. Pridaná podpora pre modifikátory „_dz“, „_db“, „_dw“ a „_da“, ktoré je možné použiť s inštrukciami texcrd a texld. Pridaná podpora pre registre „vFace“ a „vPos“ pre prácu s pixelovými shadermi.
  • V jazyku DXIL (Direct3D Intermediate Language) je možnosť použitia ukazovateľov na neskôr deklarované dáta implementovaná v kóde pri operáciách načítania, ukladania, atomickej zmeny a porovnávania.
  • Do assemblera shaderov Direct3D bola pridaná podpora pre 16-bitové vstavané konštanty a príznaky „64UAVs“.
    „ROV“,
    'Načítanie ďalších formátov UAV',
    „Bezpilotné lietadlá na každej úrovni“,
    'všetkyZdrojeZviazané',
    'enable11_1ShaderExtensions',
    'int64Ops',
    'nativeLowPrecision',
    'stencilRef',
    „viewportAndRTArrayIndex“ a
    „waveOps“.
  • Implementované možnosti kompilácie shaderov: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 a VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster