Bylo zveřejněno experimentální vydání open source implementace Win32 API, Wine 11.10. Od vydání 11.9 bylo uzavřeno 17 hlášení o chybách a bylo provedeno 248 změn.
Nejdůležitější změny:
- Vestavěný balíček Vkd3d s implementací Direct3D 12 byl aktualizován na verzi 2.0.
- Je navržena revidovaná podpora jazyka XPath, implementovaná bez použití knihovny libxml2.
- Vylepšená kompatibilita s VBScriptem.
- Do ntdll byly přidány stuby pro API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() a NtAlpcImpersonateClientOfPort().
- Vylepšená podpora Bluetooth, přidány metody BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid a IGattDeviceService::get_AttributeHandle.
- Implementace d3dx10 a d3dx11 nyní podporují načítání souborů DDS s texturovými poli. Funkce D3DX10LoadTextureFromTexture() nyní podporuje 3D textury, textury s podporou LOD a generování MIPmap.
- Knihovna DLL pro win32u implementuje funkce NtUserGetMessagePos() a NtUserSetMessageExtraInfo().
- Uzavřené hlášení chyb souvisejících s provozem aplikací: IrfanView, Kodak EasyShare, Git for Windows, Rodokmenový tvůrce 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
Kontrolor stopy. - Hlášení chyb týkajících se provozu her Star Wars Racer, Star Wars: Knights of the Old Republic a Age of Empires III: The Asian Dynasties byla ukončena.
Projekt Wine také vydal balíček vkd3d 2.0, implementaci Direct3D 12, která funguje prostřednictvím překladu volání do grafického API Vulkan. Balíček obsahuje knihovny libvkd3d s implementacemi Direct3D 12, libvkd3d-shader s překladačem modelů shaderů a libvkd3d-utils s funkcemi pro zjednodušení portování aplikací Direct3D 12, a také sadu dem, včetně portu glxgears do Direct3D 12. Kód projektu je distribuován pod licencí LGPLv2.1.
Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně grafických a výpočetních zařízení, front a seznamů příkazů, deskriptorů a deskriptorů haldy, kořenových signatur, neuspořádaného přístupu, samplerů, signatur příkazů, kořenových konstant, nepřímého vykreslování a metod Clear*() a Copy*(). libvkd3d-shader implementuje překlad bajtkódu modelu shaderu do mezilehlé reprezentace SPIR-V. Podporovány jsou shadery vrcholů, pixelů, teselace, výpočetní a jednoduché geometrie, serializace a deserializace kořenových signatur. Instrukce shaderu zahrnují aritmetické, atomické a bitové operace, operátory porovnávání a řízení toku dat, instrukce vzorkování, shromažďování a načítání a operace neuspořádaného přístupu k zobrazení (UAV).
V nové verzi vkd3d:
- Implementace shaderového jazyka HLSL nyní zahrnuje počáteční podporu smyček pro 2-3 shaderové modely, možnost zápisu do strukturované sdílené paměti pro skupinu vláken, implementaci vestavěných funkcí tex3Dbias(), tex3Dlod() a texCUBElod() a podporu sémantiky SV_ClipDistance, SV_CullDistance a SV_StencilRef pro zpracování vstupu a výstupu ze shaderů.
- Kompilátor shaderů HLSL nyní automaticky odstraňuje duplicitní výpočty, umožňuje vyhodnocování výrazů jako x % y s předem určenými hodnotami během kompilace a vylepšuje dočasnou alokaci registrů. V souladu se specifikací HLSL byl rozšířen rozsah proměnných ve smyčkách „for“ (proměnná zůstává přístupná i po dokončení smyčky). Při parsování zlomkových čísel se přestalo zohledňovat locale (tečka se nyní vždy používá jako oddělovač).
- Vylepšená podpora pro starý formát binárních shaderů Direct3D. Implementovány instrukce: m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth.
texreg2ar, texreg2gb, texreg2rgb. Přidána podpora pro modifikátory „_dz“, „_db“, „_dw“ a „_da“, které lze použít s instrukcemi texcrd a texld. Přidána podpora pro registry „vFace“ a „vPos“ pro práci s pixelovými shadery. - V DXIL (Direct3D Intermediate Language) je možnost používat ukazatele na později deklarovaná data implementována v kódu v operacích načítání, ukládání, atomické změny a porovnávání.
- Do assembleru shaderů Direct3D byla přidána podpora pro 16bitové vestavěné konstanty a příznaky '64UAVs'.
„ROV“,
'Načíst další formáty UAV',
'Bezpilotní letouny na každé fázi',
'všechnyVázanéZdroje',
'enable11_1ShaderExtensions',
'int64Ops',
'nativníNízkáPřesnost',
'reference šablony',
'viewportAndRTArrayIndex' a
'waveOps'. - Implementované možnosti kompilace shaderů: 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
