Esimese versiooni kandidaadi Wine 9.0 testimine on alanud, WinAPI avatud rakendus. Koodibaas on külmutatud enne avaldamist, mis on oodata jaanuari teisel poolel. Alates Wine 8.21 väljalaskmisest on suletud 52 veaaruannet ja tehtud 391 muudatust.
Olulisemad muudatused:
- Sisseehitatud vkd3d pakett Direct3D 12 juurutusega, mis töötab läbi kõnede tõlkimise Vulkani graafika API-le, on värskendatud versioonile 1.10.
- Jätkus funktsionaalsuse arendamine, mille eesmärk on juurutada Wine'i kasutamise võimalus Waylandi protokollil põhinevates keskkondades ilma XWaylandi ja X11 komponente kasutamata. Lisatud on tuge klaviatuuripaigutuste jaoks veiniwayland.drv draiveris. Laiendatud on Vulkani graafika API tugi ja lisatud on funktsioonid vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR. Lisatud on funktsioon ClipCursor ja rakendatud on võimalus töötada hiire liikumise jälgimisel suhteliste koordinaatidega.
- GnuTLS-i viimaste väljaannete kasutamisel on rakendatud DH (Diffie-Hellmani) krüpteerimisvõtmete tugi.
- Suletud veateated seoses rakenduste tööga: Notepad, MS Word, Roon, eFilm Workstation 2.x/3.x, Athena's Charm Table Search 0.35b, Process Explorer, Araxis Merge 2023.5877, Framemaker 8, Internet Download Manager, Air Jura , SpeedCommander, ModOrganizer, RestoreDC, Acid-V VST pistikprogramm, MIDITrail 1.4.0.
- Mängude toimimisega seotud veateated on suletud: For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.
Lisaks võime märkida, et projekti Wine avaldas vkd3d 1.10 paketi koos Direct3D 12 juurutusega, mis töötab läbi kõnede tõlkimise Vulkani graafika API-le. Pakett sisaldab libvkd3d teeke koos Direct3D 12 rakendustega, libvkd3d-shaderit koos varjundimudelite 4 ja 5 tõlkijaga ja libvkd3d-utilite funktsioonidega Direct3D 12 rakenduste portimise lihtsustamiseks, samuti komplekti demonäiteid, sealhulgas porti. glxgearsist Direct3D-le 12. Projekti koodi levitatakse LGPLv2.1 litsentsi alusel.
Libvkd3d teek toetab enamikku Direct3D 12 funktsioone, sealhulgas graafika ja arvutusvahendid, järjekorrad ja käsuloendid, pidemed ja hunniku käepidemed, juursignatuurid, korrast ära juurdepääs, proovivõtturid, käsusignatuurid, juurkonstandid, kaudne renderdamine, puhastusmeetodid *( ) ja Kopeeri*(). Libvkd3d-shaderis on rakendatud varjundimudelite 4 ja 5 baitkoodi tõlkimine vahepealseks SPIR-V esituseks. Toetab tippude, pikslite, tessellatsiooni, arvutamise ja lihtsa geomeetria varjutajaid, juursignatuuri serialiseerimist ja deserialiseerimist. Varjutusjuhised hõlmavad aritmeetika-, aatomi- ja bitioperatsioone, võrdlus- ja andmevoo juhtimise operaatoreid, valimi-, kogumis- ja laadimisjuhiseid, järjestamata juurdepääsuoperatsioone (UAV, Unordered Access View).
Uus versioon jätkab varjundite kompilaatori täiustamist HLSL-is (High-Level Shader Language), mida pakutakse alates DirectX 9.0-st: lisatud tugi massiivide dünaamilisele indekseerimisele; lisatud väljendid "katkema", "jätkama" ja "lülitama"; avaldised, mille puhul on rakendatav konstantne konvolusioon, on laiendatud; Rakendatud on sisseehitatud funktsioonid ceil(), kraadid(), radiaanid(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() ja tex3Dproj().
Libvkd3d teeki on lisatud uued Direct3D 12 programmeerimisliidesed (ID3D12Device5, ID3D12GraphicsCommandList5 ja ID3D12Resource1) ning juurutatud on konveieri olekuobjektide loomise võimalus. Lisatud abifunktsioonid DXBC manipuleerimiseks libvkd3d-utilsile: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetBDStb(Signature). Vkd3d-kompilaatorisse on lisatud valikud "-fragment-coordinate-origin" ja "-semantic-compat-map".
Allikas: opennet.ru
