Megjelent a Win32 API nyílt implementációjának kísérleti kiadása — Wine 11.17. A 11.16-os kiadás óta 44 hibajelentést zártak le, és 387 módosítást hajtottak végre.
A legfontosabb változások:
- Kezdeti támogatás került hozzáadásra a képernyőmódok emulációjára, lehetővé téve teljes képernyős alkalmazások és játékok indítását a saját virtuális felbontásukkal, amely tényleges megjelenítéskor a monitor DPI-jának figyelembevételével válik méretezhetővé. Például egy régi játék használhat 640×480 felbontást, de egy nagyobb felbontású képernyőn arányosan jelenik meg.
- Hozzáadták az RtlGetSystemPreferredUILanguages és RtlGetUserPreferredUILanguages funkciókat a rendszer és egyéni felhasználók által a registryben beállított preferált nyelvek listájának lekérdezésére, melyek alapértelmezés szerint a területi beállítások alapján alakulnak ki. Továbbá hozzáadták az RtlGetProcessPreferredUILanguages, SetProcessPreferredUILanguages, RtlGetSetThreadPreferredUILanguages, SetThreadPreferredUILanguages funkciókat a preferált nyelvek meghatározására és beállítására folyamatok és szálak szintjén.
- A Vkd3d beépített csomag, amely a Direct3D 12 implementációját tartalmazza, frissítve lett 2.1-es verzióra.
- Hibajelentések zárultak le, amelyek az alábbi alkalmazások működésével álltak kapcsolatban: certmgr.exe, Signtools, Advanced SystemCare 6.4, Autodesk 3ds Max 9, SketchUp 2021, Nokia S60 5th Edition SDK 1.0, PDFCreator, SafeDisc v2.05.030, Bigrats, PTC Pro Engineer Wildfire V5, VisualSubSync 1.0.2.1, PS4 Remote Play 2.x, MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x, MSXML 6.0, Sennheiser Wireless Systems Manager 4.4, Netscape Navigator 3.04, xEdit.
- Hibajelentések zárultak le, amelyek az alábbi játékok működésével álltak kapcsolatban: GTA: Vice City, GTA: San Andreas, Tetris JR, Worms Blast, Horizon Chase Turbo, Star Wars: Knights of the Old Republic I/II, GunBound, Marathon, Ground Control, Ankh — Anniversary Edition, Clive Barker’s Jericho.
Továbbá megjegyezhetjük a Wine projekttel kapcsolatos új kiadásokat:
- A Wine Staging 11.17 kiadása elkészült, amely kiterjesztett Wine build-eket kínál, amelyek nem teljesen kész vagy kockázatos javításokat tartalmaznak, és még nem alkalmasak a fő Wine ágba való benyújtásra. A Wine Staging 279 további javítást kínál a Wine-hoz képest. Az új Wine Staging kiadás szinkronizálva lett a Wine 11.17 kódalapjával, és frissítve lett a vkd3d kódja. A Wine fő ágba átkerült a kernel32.dll könyvtárban a SetThreadpoolTimerEx függvény megvalósítását tartalmazó javítás.
- Megjelent a vkd3d 2.1 csomag, amely a Direct3D 12 implementációját tartalmazza, amely a Vulkan grafikus API-ba történő hívások átkonvertálásán alapul. A csomag tartalmazza a libvkd3d könyvtárakat a Direct3D 12 implementációval, a libvkd3d-shader-t árnyékoló modellek fordítójával és a libvkd3d-utils-t a Direct3D 12 alkalmazások portolásának megkönnyítésére szolgáló funkciókkal, valamint egy sor bemutató példát, beleértve a glxgears Direct3D 12-re való portját. A libvkd3d könyvtár támogatja a Direct3D 12 legtöbb funkcióját, beleértve a grafikai és számítási eszközöket, sorokat és parancslistákat, leírókat és halom leírókat, gyökér aláírásokat, rendezetlen hozzáférést, sampler-eket, parancs aláírásokat, gyökér konstansokat, közvetett (indirect) renderelést, a Clear*() és Copy*() metódusokat. A libvkd3d-shader-ben a shader modellek bytekódjának SPIR-V köztes ábrázolásra való fordítása valósult meg.
Az új vkd3d verzióban:
- A HLSL árnyékoló nyelv implementációjába a „half” típusú aritmetikai műveletek támogatása került bevezetésre 4 és 5 shader modellek használatakor.
- A HLSL árnyékoló fordítóban megerősítették a bemeneti és kimeneti adatok ellenőrzését, illetve megvalósították a globális, nem használt változók (uniform) eltávolítására szolgáló pass-t a 1-3 shader modellen.
- A GLSL (OpenGL Shading Language) árnyékoló nyelvhez készült backendben a bemeneti regiszterek közvetett adreszálásának, atomikus összehasonlítási műveleteknek és egész számú összeadásnak, bitműveleteknek és korlátoknak, valamint a UAV (Unordered Access View) és a szálcsoport közös memóriájának betöltési/kimentési műveleteinek támogatása valósult meg.
- Javították a régi Direct3D árnyékolók bináris formátumának támogatását. Megvalósították a „sub” és a „break_cmp” utasításokat, az utasításmódosítókat „_x2”, „_x4”, „_x8”, „_d2”, „_d4” és „_d8”, valamint az operátor-módosítókat „_bias”, „_x2” és „_bx2”.
- A SPIR-V árnyékolók köztes képviseletébe való átkonvertálás során bevezetésre került a lebegőpontos számok 64 bites egész számokká való konvertálási műveletek támogatása.
- A libvkd3d-utils könyvtárban kiterjesztették az árnyékoló reflexiós API támogatását. Megvalósításra kerültek az ID3D10ShaderReflection, ID3D10ShaderReflection1 és ID3D11ShaderReflection interfészek, valamint az ID3D12ShaderReflection és ID3D12ShaderReflectionType interfészek legtöbb módszere.
- A vkd3d-compiler-ben hozzáadódott a „—allow-half-globals” opció, míg a libvkd3d-shader-ben a VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS jelző, amely lehetővé teszi a „half” típusú globális változók float típusú képviseletté való fordítását.
- Megjelent a DXVK 3.1, amely a DXGI (DirectX Graphics Infrastructure), a Direct3D 8, 9, 10 és 11 megvalósítását kínálja, API hívások Vulkan-ra való átkonvertálásával. A DXVK használatához Vulkan 1.4 API-t támogató meghajtók szükségesek, mint például az NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 és Intel ANV 25.1. A DXVK lehetővé teszi 3D alkalmazások és játékok futtatását Linuxon a Wine segítségével, mint a Wine beépített Direct3D megvalósításának teljesítményjavító alternatívája, amely az OpenGL fölött működik.
Az új verzióban:
- Hozzáadva az DXGI-hez az inkrementális rajzolás támogatása, amely a VK_KHR_incremental_present Vulkan-kiterjesztés használatával valósul meg, és lehetővé teszi csak a megváltozott területek frissítését a képernyőn. Az új funkció megoldotta a VirtualDJ és különböző játékindító programok, például az Ubisoft Connect, rajzolási problémáit.
- Hozzáadva a render target view létrehozásának támogatása közvetlenül a pufferekben, ami megoldotta a felhők kirajzolásával kapcsolatos artefaktumok jelentkezését néhány Frostbite motort használó játékban, mint például a Battlefield 3.
- Megvalósítva a könyvtárak betöltését, hogy támogassa az Intel GPU-specifikus kiterjesztéseket (vendor extensions).
- Megoldva a problémák a Mabinogi, The Witcher 1, Ghost Recon Breakpoint, Mirrors Edge, RaceRoom Racing Experience játékokban.
- Megjelent a D7VK 2.2 projekt verziója, amely a Microsoft által 1996, 1997, 1998 és 1999 között javasolt Direct3D 3, 5, 6 és 7 grafikus API-k megvalósítását fejleszti. A D7VK az API hívások Vulkan-ra való átkonvertálásával működik, és lehetővé teszi a Wine segítségével a Linux alatt a Direct3D 3, 5, 6 és 7 API-ra épülő retro játékok futtatását. A projekt kódja C++ nyelven íródott, és Zlib licenc alatt kerül terjesztésre. A DXVK projekt d3d9 backend kódja volt az alapja a fejlesztésnek - a D7VK a Direct3D 3, 5, 6 és 7 API hívásokat Direct3D 9 hívásokká konvertálja, amelyeket ezután Vulkan-ra alakítanak. A fejlesztő nem tervezi a D7VK DXVK-be való integrálását, ahogy az a Direct3D 8 és Direct3D 9 Vulkan-ra való megvalósításaival történt.
Az új verzió áttért a DXVK 3.1 verzióra, átdolgozta a D3D3 futtatható pufferek ellenőrzését és a D3D3 eszközök refcounting-ját, valamint javította a D3D5/3 textúrák kezelését. Kijavításra kerültek a játékok támogatását javító problémák: Palantírs in The Lord of the Rings, Resident Evil 2 és Frogger.
Forrás: opennet.ru
