Avaldatud on eksperimentaalne versioon avatud rakendusest Win32 API — Wine 10.20. Versioonist 10.19 on suletud 31 viga ja tehtud 337 muudatust.
Olulisemad muudatused:
- Sisseehitatud pakett Vkd3d, mis rakendab Direct3D 12, on värskendatud versioonile 1.18.
- Kasutusele on võetud dialoogiboks dokumentide skaneerimise edenemise kuvamiseks.
- Jätkub Reparse Point mehhanismi rakendamine, mis võimaldab faile ja kaustu varustada täiendavate, siltide kaudu tuvastatavate andmetega. Toetatakse Reparse Point'i funktsioonide CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress() raames.
- Jätkub ühise kontrolli rakenduse refaktooring pärast COMCTL32 teegi jagamist eraldi mooduliteks versioonidele 5 ja 6.
- Lahendatud on probleem mitmete mängude (nt Syberia 2) kokkujooksmisega WoW64 režiimis NVIDIA GPU-dega süsteemides.
- Lahendatud on probleem juhtnuppude vajutamisel viivituste tekkimisega mõnedes mängudes, nagu Might and Magic VI.
- Lahendatud on probleem, kus mõnede Windowsi rakenduste GTK teeki kasutamine põhjustas hangumise või käivitumisteenuse tõrke, näiteks Meld ja Geany.
- Suletud on rakendustega seotud veateated: SQL Server 2012/2014, MS Office 365 installer, QuarkXPress 2024, TomTom MyDrive Connect 4.x, Spine, GenLauncher, grepwinNP3, PlayOnline Viewer, tlReader 10.1.0.2004, cmd.exe, CLM Explorer, HiveMQ CE 2025.5.
- Suletud on mängudega seotud veateated: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.
Wine projekt on samuti avaldanud paketi vkd3d 1.18 versiooni, mis rakendab Direct3D 12, töötades läbi kutsete ülekandmise Vulkani graafika API-sse. Pakett sisaldab teeke libvkd3d Direct3D 12 rakendamisega, libvkd3d-shader 4 ja 5 mudeli shaderite tõlkimiseks ja libvkd3d-utils, mis sisaldab funktsioone Direct3D 12 rakenduste portimise lihtsustamiseks, samuti kogumit näidistest, sealhulgas glxgears-i portimist Direct3D 12-le. Projekti kood levitatakse LGPLv2.1 litsentsi all.
libvkd3d teebibliotek toetab enamiku Direct3D 12 funktsionaalsust, sealhulgas graafika ja arvutuste tööriistu, järjekordi ja käskude loendeid, deskriptorid ja mälu deskriptorid, juurtesignatuure, järjekorralt ligipääsu, samplerid, käskude signatuurid, juurte konstandid, kaudset renderdamist, Clear*() ja Copy*() meetodeid. libvkd3d-shaderis on rakendatud shaderi mudelite bytecode tõlkimine vahevormiks SPIR-V. Toetatakse tipus, pikslites, tesselatsioonis, arvutustes ja lihtsates geomeetrilistes shaderites, juurtesignatuuri serialiseerimist ja deserialiseerimist. Shaderi käskudest on rakendatud aritmeetilised, aatomilised ja bitilised operatsioonid, võrdlus- ja voogude juhtimise operaatorid, sample, gather ja load käsud, järjekorralt ligipääsu operatsioonid (UAV, Unordered Access View).
Uues versioonis vkd3d:
- Shaderite keeles HLSL on lisatud sisseehitatud funktsioonid countbits(), firstbithigh(), firstbitlow(), frexp() ja texCUBEbias(). Shader Model 1-3 profiilide jaoks on rakendatud tingimuslike avaldiste tugi täisarvutüüpidele.
- HLSL shader compiler has optimized the compilation of code with conditional statements if/else. Constant folding has been extended at the compilation stage. Such optimization can now be applied to expressions like "true ? x : y" and functions asfloat(), asint(), asuint(), cos(), mad(), round(), and sin().
- The libvkd3d library has added the method CreateCommandList1() to the ID3D12Device4 interface implementation.
- Direct3D bytecode instructions have been added: bem, tex, texbem, texbeml, and texcoord.
- The development of the MSL (Metal Shading Language) shader language implementation, used by Apple in the Metal graphics API, has continued. Support for compute shaders, instantly initialized constant buffers, trigonometric functions, remainder operations, and bitwise manipulation has been added.
- Unsigned integer division and remainder operations, as well as the sin() and cos() functions, have been added to the GLSL (OpenGL Shading Language) shader language implementation, along with the ability to offset texels when loading textures.
Additionally, Valve has released VKD3D-Proton 3.0, a branch from the vkd3d code base created to enhance Direct3D 12 support in the Proton game launch package. VKD3D-Proton includes Proton-specific changes, optimizations, and enhancements for better performance of Windows games based on Direct3D 12 that have not yet been integrated into the main vkd3d build. Key differences also include a focus on modern Vulkan extensions and the capabilities of recent graphics driver releases to achieve full compatibility with Direct3D 12.
Changes in the new version of vkd3d-proton include:
- The DXBC (DirectX ByteCode) shader backend has been rewritten, replacing the vkd3d-shader backend. The new backend resolves issues in many games that previously arose due to the lack of required functionality in vkd3d-shader, such as getting Red Dead Redemption 2 to work in D3D12 mode.
- Support for FSR4 (AMD FidelityFX Super Resolution) super sampling technology has been added.
- Experimental support for D3D12 task graphs (Work Graphs) has been introduced.
- Experimental support for opacity micro-maps (OMM — Opacity MicroMaps) has been added.
- Issues in the following games have been resolved: Star Citizen, Ninja Gaiden 4, Monster Hunter Wilds, Wreckfest 2, Satisfactory, Street Fighter 6, Death Stranding, Wuthering Waves, Dune, Spider-Man Remastered, Gray Zone Warfare, Rise of the Tomb Raider, Port Royal, Mafia: Definitive Edition, Final Fantasy Tactics.
Allikas: opennet.ru
