Uued versioonid Wine 10.20, Vkd3d 1.18 ja vkd3d-proton 3.0.

Avaldatud on eksperimenteerimisversioon Win32 API avatud teostusest — Wine 10.20. Versioonist 10.19 on suletud 31 veateate ja tehtud 337 muudatust.

Kõige olulisemad muudatused:

  • Ehitustootega Vkd3d, mis ellu viib Direct3D 12, on uuendatud versioonini 1.18.
  • Lisatud dialoogaknad dokumentide skannimise edenemise kuvamiseks.
  • Jätkatud on Reparse Point mehhanismi rakendamist, mille abil saab failidele ja kataloogidele lisada täiendavaid andmeid, mida tuvastatakse siltide kaudu. Toetatud on Reparse Point funktsioonides CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress().
  • Erituge on jätkatud Common Control rakenduse refaktorimist, pärast COMCTL32 raamatukogu jagamist eraldi mooduliteks versioonide 5 ja 6 jaoks.
  • Lahendatud on probleem paljude mängude (nt Syberia 2) äkilise sulgemisega WoW64 režiimi kasutamisel NVIDIA GPU süsteemides.
  • Lahendatud on probleem kursori juhtimise nuppude vajutamisel mängudes, nagu Might and Magic VI, põhjustatud reageerimise hangumisest.
  • Lahendatud on probleem mõnede Windowsi rakenduste kogumite, mis kasutavad GTK raamatukogu, nagu Meld ja Geany, hangumise või käivitamise probleemidega.
  • Veatatud veateated, mis on seotud rakenduste tööga: 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.
  • Veatatud veateated, mis on seotud mängude tööga: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.

Wine projekti raames on välja antud vkd3d 1.18 pakett, mis teostab Direct3D 12 töötlemise Vulkan graafika API-le. Pakett sisaldab libvkd3d teeke, mis sisaldavad Direct3D 12 teostust, libvkd3d-shader shaderite 4. ja 5. mudelile mõeldud tõlkijat ning libvkd3d-utils funktsioone, mis lihtsustavad Direct3D 12 rakenduste portimist, samuti hulga demonstreerimise näidiseid, sealhulgas glxgears porti Direct3D 12-le. Projekti kood on litsentseeritud LGPLv2.1 alla.

libvkd3d raamatukogu toetab enamikku Direct3D 12 omadustest, sealhulgas grafika- ja arvutusvahendite, järjekordade ja käsuliinide, deskriptsioonide ja paki deskriptsioonide, juure allkirjade, järjestamatute ligipääsude, samplerite, käsitsi allkirjade, juure konstandi, kaudse (indirect) joonistamise, Clear*() ja Copy*() meetodite rakendamist. libvkd3d-shader'is on rakendatud shaderi mudelite bytecode tõlkimine vahepealsesse SPIR-V vormingusse. Toetatakse tipp-, piksel-, tesselleerimise, arvutus- ja lihtsaid geomeetrilisi shaidereid, samuti juure allkirjade serialiseerimist ja deserialiseerimist. Shaderi instruktsioonide hulka kuuluvad aritmeetilised, aatomilised ja bitilised operatsioonid, võrdlus- ja andmevoo juhtimise operaatorid, sample, gather ja load instruktsioonid, samuti järjestamata ligipääsu operatsioonid (UAV, Unordered Access View).

Uues versioonis vkd3d:

  • HLSL shaderite keele teostusse on lisatud sisseehitatud funktsioonid countbits(), firstbithigh(), firstbitlow(), frexp() ja texCUBEbias(). Shader Model 1-3 profiilidele on lisatud tingimuslausete tugi täisarvutüüpidega.
  • HLSL šaderkompilaatoris on optimeeritud if/else tingimuslike muudatuste kompileerimist. Kompilaatori etapis on laiendatud pidevate arvutuste (constant folding) teostust. Selliseid optimeerimisi saab nüüd rakendada ka väljenditele, nagu «true ? x : y», ja funktsioonidele asfloat(), asint(), asuint(), cos(), mad(), round() ja sin().
  • Libvkd3d teegis on ID3D12Device4 liidese rakendusse lisatud meetod CreateCommandList1().
  • Lisatud Direct3D’i baitkoodi käsklused: bem, tex, texbem, texbeml ja texcoord.
  • MSL (Metal Shading Language) šaderikeele rakenduse arendust on jätkatud, mida Apple kasutab oma Metal graafikateates. Lisatud on tugi arvutusšaderitele, koheselt initsialiseeritavatele pidevatele vahemikele, trigonometrilistele funktsioonidele, jääki saamise operatsioonidele ja bitipöördele.
  • GLSL (OpenGL Shading Language) šaderikeele rakendusse on lisatud vaheline täisarvude jagamine ja jäägi saamise operatsioonid, funktsioonid sin() ja cos(), samuti tekstuuride laadimise ajal tekstuurikoordinaatide nihutamise võimalus.

Lisaks on ettevõte Valve avaldanud VKD3D-Proton 3.0 versiooni, mis on haru vkd3d koodibaasist, loodud Direct3D 12 toe parandamiseks Proton mängude kasutamiseks. VKD3D-Proton hõlmab Protonile spetsiifilisi muudatusi, optimeerimisi ja täiustusi, et tagada Windowsi mängude parem toimimine, mis põhinevad Direct3D 12-l, kuid mis pole veel saanud peamise vkd3d koostisosaks. Erinevustena märgitakse ka suunatus kaasaegsete Vulkan laienduste ja uuemate graafikajuhikute võimaluste kasutamisele, et saavutada täielik ühilduvus Direct3D 12-ga.

Uue vkd3d-proton versiooni muudatused:

  • DXBC (DirectX ByteCode) shaderite tagaplaneerimine on ümber kirjutatud, asendades vkd3d-shader'i tagaplaneerimise. Uus tagaplaneerimine lahendas paljude mängude probleemid, mis varem tulenesid vkd3d-shader'i vajalike funktsioonide puudumisest, näiteks on nüüd lahendatud mängu Red Dead Redemption 2 töö D3D12 režiimis.
  • Lisatud tugi FSR4 (AMD FidelityFX Super Resolution) super-sampling tehnoloogiale.
  • Lisatud eksperimentaalne tugi D3D12 töö graafidele (Work Graphs).
  • Lisatud eksperimentaalne tugi läbipaistvuse mikrokaardile (OMM — Opacity MicroMaps).
  • Probleemid mängudes 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 on lahendatud.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster