Testimine on alanud esimese kandidaadi käivitamiseks Wine 8.0, avatud WinAPI rakenduse elluviimiseks. Koodibaas on viidud külmutamisfaasi enne vabastamist, mis on oodata jaanuari keskpaiku. Võrreldes Wine 7.22 versiooniga on suletud 52 veateadet ja tehtud 538 muudatust.
Olulisemad muudatused:
- Vkd3d pakett, mis rakendab Direct3D 12 ja töötab graafika API Vulkan kaudu, on uuendatud versioonile 1.6.
- Optimeeritud on süsteemi kutsumisprotsessorite (thunk) töö Vulkanile ja OpenGL-ile.
- WinPrintis on laienenud toetus printimisprotsessorite toimetamiseks.
- Parandatud juhtpaneel puldiga.
- Lõpetatud on töö ‘long’ tüübi toe tagamiseks printf funktsiooni koodis.
- Suletud on veateated, mis on seotud mängude tööga: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
- Suletud on veateated, mis on seotud rakenduste tööga: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.
Tuleb eraldi märkida, et Wine projekt on välja andnud vkd3d 1.6 paketi, mis rakendab Direct3D 12 ja töötab graafika API Vulkan kaudu. Pakett sisaldab raamatukogusid libvkd3d, mis ellu viivad Direct3D 12, libvkd3d-shader 4. ja 5. mudeli shaderite tõlkijaga ja libvkd3d-utils, mis pakuvad funktsioone Direct3D 12 rakenduste portimise lihtsustamiseks, samuti näidisnäidiseid, sealhulgas glxgearsi pordi Direct3D 12. Projekti kood jaotatakse LGPLv2.1 litsentsi alusel.
Raamatukogu libvkd3d toetab enamikku Direct3D 12 võimalustest, sealhulgas graafika ja arvutamise vahendeid, järjekordi ja käsutamisliste, kirjeldajaid ja kaste, juureretsepte, segamatut juurdepääsu, näidikuid, käsureseptide, juurekonstantide, kaudset joonistamist, Clear*() ja Copy*() meetodeid. libvkd3d-shader'is on rakendatud 4. ja 5. mudeli shaderite bytecode'i tõlge vaheesitusele SPIR-V. Toetatud on tipp-, piksel-, tesselatsioon-, arvutamis- ja lihtsad geomeetrilised shaderid, juureretsepti serialiseerimine ja deserialiseerimine. Shaderi käskude seast on rakendatud aritmeetilised, aatomilised ja bititehteid, võrdlemise ja andmevoo juhtimise operaatorid, käsud sample, gather ja load, segamatu juurdepääsu operatsioonid (UAV, Unordered Access View).
Uues versioonis jätkatakse shaderite kompileerimise täiustamist HLSL (High-Level Shader Language), mida pakutakse alates DirectX 9.0. HLSL-iga seotud täiustuste seas:
- Realiseeritud on esmane tugi arvutusshaders.
- Parandatud on kooste objektide nagu struktuuride ja massiivide algatamise ja määramise tugi.
- Lisatud on võimalus laadida ja salvestada tekstuuride ressursse, kasutades mittejärjestatud juurdepääsu (UAV).
- Lisatud on funktsioonide atribuudi tugi ja realiseeritud on sisseehitatud funktsioonid asuint(), length(), normalize().
- Lisatud on moodulite toetus ujuva komaga arvutuste jaoks.
- Realiseeritud on lipp VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS, et näidata atomaarseid toiminguid mittejärjestatud juurdepääsu (UAV) deskriptorite üle.
Allikas: opennet.ru
