Ensimmäisen Wine 8.0:n, WinAPI:n avoimen toteutuksen, testaus on alkanut. Koodikanta on asetettu jäädytysvaiheeseen ennen julkaisua, jonka odotetaan olevan tammikuun puolivälissä. Wine 7.22:n julkaisun jälkeen 52 virheraporttia on suljettu ja 538 muutosta tehty.
Tärkeimmät muutokset:
- vkd3d-paketti, jossa on Direct3D 12 -toteutus, joka toimii Vulkan-grafiikkasovellusliittymään puhelun kääntämisen kautta, on päivitetty versioon 1.6.
- Järjestelmäpuhelumuuntimien (thunks) optimointi Vulkanille ja OpenGL:lle on suoritettu.
- WinPrint on laajentanut tukea tulostusprosessoreille.
- Parannettu joystick-ohjauspaneeli.
- Työ on saatu päätökseen printf-toimintokoodin "pitkän" tyypin tukemiseksi.
- Pelien toimintaan liittyvät virheilmoitukset on suljettu: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
- Suljetut virheraportit liittyen sovellusten toimintaan: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.
Lisäksi Wine-projekti on julkaissut vkd3d 1.6 -paketin Direct3D 12:n toteutuksella, joka työstää kutsujen kääntämisen Vulkan-grafiikkasovellusliittymään. Paketti sisältää libvkd3d-kirjastoja Direct3D 12 -toteutuksineen, libvkd3d-shaderin Shader-mallien 4 ja 5 kääntäjällä ja libvkd3d-utilit toiminnoilla, jotka yksinkertaistavat Direct3D 12 -sovellusten siirtoa, sekä joukon esimerkkejä, mukaan lukien portti. glxgearsistä Direct3D 12:een. Projektikoodi on jaettu LGPLv2.1-lisenssillä.
Libvkd3d-kirjasto tukee useimpia Direct3D 12 -ominaisuuksia, mukaan lukien grafiikka ja laskentatilat, jonot ja komentoluettelot, kahvat ja kasakahvat, juuriallekirjoitukset, epäjärjestyksessä käyttö, Samplerit, komentoallekirjoitukset, juurivakiot, epäsuora renderöinti, Clear method *( ) ja Kopioi*(). Libvkd3d-shaderissa Shader-mallien 4 ja 5 tavukoodin käännös on toteutettu SPIR-V-väliesityksenä. Tukee vertexiä, pikseliä, tessellaatiota, laskentaa ja yksinkertaisia geometrian varjostimia, juuriallekirjoituksen serialisointia ja deserialisointia. Shader-käskyt sisältävät aritmeettisia, atomi- ja bittioperaatioita, vertailu- ja tietovirran ohjausoperaattoreita, näyte-, keräys- ja latauskäskyjä, järjestämättömät pääsytoiminnot (UAV, Unordered Access View).
Uusi versio jatkaa HLSL:n (High-Level Shader Language) varjostuskääntäjän parantamista DirectX 9.0:sta alkaen. HLSL:ään liittyviä parannuksia ovat mm.
- Alkuperäinen tuki laskentavarjostimille on otettu käyttöön.
- Parannettu tuki yhdistelmäobjektien, kuten rakenteiden ja taulukoiden, alustamiselle ja määrittämiselle.
- Lisätty mahdollisuus ladata ja tallentaa pintakuvioresursseja käyttämällä out-of-order -käyttöä (UAV).
- Lisätty tuki funktiomääritteille ja toteutettu sisäänrakennetut funktiot asuint(), pituus(), normalize().
- Lisätty tuki liukulukumoduuleille.
- Toteutettu VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS-lippu ilmaisemaan atomioperaatioita järjestämättömän pääsyn esityksen (UAV) kuvaajille.
Lähde: opennet.ru