Avoimen lähdekoodin Win32 API -toteutuksen kokeellinen versio Wine 11.17 on julkaistu. Version 11.16 julkaisun jälkeen on suljettu 44 vikailmoitusta ja tehty 387 muutosta.
Tärkeimmät muutokset:
- Näyttötilan emuloinnin alustava tuki on lisätty, minkä ansiosta koko näytön sovellukset ja pelit voivat toimia omalla virtuaalisella resoluutiollaan, joka skaalautuu näytön DPI:n mukaan todellisen renderöinnin aikana. Esimerkiksi vanhempi peli saattaa käyttää 640x480-resoluutiota, mutta näyttää korkeamman resoluution näytöllä säilyttäen kuvasuhteen.
- Lisätty tuki RtlGetSystemPreferredUILanguages - ja RtlGetUserPreferredUILanguages -funktioille, joilla voidaan hakea luettelo ensisijaisista käyttöliittymäkielistä. Nämä kielet on määritetty rekisterissä koko järjestelmälle ja yksittäisille käyttäjille ja luotu oletusarvoisesti kieliasetusten perusteella. Lisäksi on lisätty RtlGetProcessPreferredUILanguages-, SetProcessPreferredUILanguages-, RtlGetSetThreadPreferredUILanguages- ja SetThreadPreferredUILanguages -funktiot ensisijaisten kielten luettelon määrittämiseen ja asettamiseen prosessi- ja säietasolla.
- Sisäänrakennettu Vkd3d-paketti, jossa on Direct3D 12 -toteutus, on päivitetty versioon 2.1.
- Suljetut virheraportit, jotka liittyvät seuraaviin sovelluksiin: certmgr.exe, Signtools, Advanced SystemCare 6.4, Autodesk 3ds Max 9, SketchUp 2021, Nokia S60 5th Edition SDK 1.0, PDFCreator, SafeDisc v2.05.030, Bigrats, PTC Pro Engineer Wildfire V5, VisualSubSync 1.0.2.1, PS4 Remote Play 2.x, MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x, MSXML 6.0, Sennheiser Wireless Systems Manager 4.4, Netscape Navigator 3.04, xEdit.
- Suljetut bugiraportit liittyen seuraavien pelien toimintaan: GTA: Vice City, GTA: San Andreas, Tetris JR, Worms Blast, Horizon Chase Turbo, Star Wars: Knights of the Old Republic I/II, GunBound, Marathon, Ground Control, Ankh — Anniversary Edition, Clive Barker's Jericho.
Lisäksi voimme huomata uusia julkaisuja Wine-aiheisista projekteista:
- Wine Staging 11.17 on julkaistu, ja se tarjoaa laajennetut Wine-koontiversiot, jotka sisältävät keskeneräisiä tai riskialttiita korjauksia, jotka eivät vielä sovellu integroitavaksi Wine-päähaaraan. Wine Staging tarjoaa 279 lisäkorjausta verrattuna Wine Stagingiin. Uusi Wine Staging -julkaisu synkronoituu Wine 11.17 -koodikannan kanssa ja päivittää vkd3d-koodin. Kernel32.dll-kirjaston SetThreadpoolTimerEx-funktion toteuttava korjaustiedosto on portattu Wine-pääjakeluun.
- Olen julkaissut vkd3d 2.1:n, Direct3D 12 -toteutuksen, joka toimii muuntamalla kutsut Vulkan-grafiikkarajapintaan. Paketti sisältää libvkd3d-kirjaston Direct3D 12 -toteutuksineen, libvkd3d-shaderin varjostusmallin kääntäjällä ja libvkd3d-utils-kirjaston funktioilla, jotka yksinkertaistavat Direct3D 12 -sovellusten porttausta. Se sisältää myös joukon demoja, mukaan lukien glxgears-kirjaston porttauksen Direct3D 12:een. Libvkd3d-kirjasto tukee useimpia Direct3D 12 -ominaisuuksia, mukaan lukien grafiikka- ja laskentatyökalut, jonot ja komentoluettelot, deskriptorit ja kekodeskriptorit, juuriallekirjoitukset, järjestämättömän käytön, samplerit, komentoallekirjoitukset, juurivakiot, epäsuoran renderöinnin sekä Clear*()- ja Copy*()-metodit. libvkd3d-shader toteuttaa varjostusmallin tavukoodin muuntamisen SPIR-V-väliesitysmuotoon.
Vkd3d:n uudessa versiossa:
- HLSL-varjostinkielen toteutusta on päivitetty tukemaan "puoli"-tyypin aritmeettisia operaatioita käytettäessä varjostinmalleja 4 ja 5.
- HLSL-varjostinkääntäjä on vahvistanut syöte- ja tulosdatatarkistuksia ja toteuttanut passin, joka poistaa käyttämättömät globaalit muuttujat (uniformit) varjostinmalleista 1–3.
- GLSL (OpenGL Shading Language) -taustajärjestelmä tukee syöttörekisterien epäsuoraa osoittamista, atomien vertailua ja kokonaislukujen yhteenlaskuoperaatioita, bittikohtaisia operaatioita ja esteitä, UAV:n (Unordered Access View) lataus-/tallennusoperaatioita sekä säieryhmän jaettua muistia.
- Parannettu tukea vanhalle Direct3D:n binäärivarjostinmuodolle. Toteutettu käskyt "sub" ja "break_cmp", käskymäätiöt "_x2", "_x4", "_x8", "_d2", "_d4" ja "_d8" sekä operandiätiöt "_bias", "_x2" ja "_bx2".
- SPIR-V-varjostimien välimuotoon muunnettaessa on lisätty tuki toiminnoille, jotka muuntavat liukulukuja 64-bittisiksi kokonaisluvuiksi.
- Libvkd3d-utils on laajentanut tukea shader-heijastus-API:lle. ID3D10ShaderReflection-, ID3D10ShaderReflection1- ja ID3D11ShaderReflection-rajapinnat on nyt toteutettu, samoin kuin useimmat ID3D12ShaderReflection- ja ID3D12ShaderReflectionType-rajapintojen metodit.
- Lisätty vkd3d-compileriin asetus "--allow-half-globals" ja libvkd3d-shaderiin VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS-lippu "half"-tyyppisten globaalien muuttujien kääntämiseksi "float"-tyyppiseksi esitykseksi.
- DXVK 3.1 on julkaistu, ja se tarjoaa DXGI:n (DirectX Graphics Infrastructure), Direct3D 8:n, 9:n, 10:n ja 11:n toteutuksen, joka toimii kutsujen muuntamisen kautta Vulkan API:lle. DXVK:n käyttö vaatii ajureita, jotka tukevat Vulkan 1.4 API:a, kuten NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 ja Intel ANV 25.1. DXVK:ta voidaan käyttää 3D-sovellusten ja -pelien suorittamiseen... Linux käyttäen Winen, joka toimii tehokkaampana vaihtoehtona Winen sisäänrakennetuille Direct3D-toteutuksille, jotka toimivat OpenGL:n päällä.
Uudessa versiossa:
- Lisätty tuki inkrementaaliselle renderöinnille DXGI:ssä, toteutettu VK_KHR_incremental_present Vulkan-laajennuksella. Tämä mahdollistaa vain muuttuneiden näytön alueiden päivittämisen. Tämä uusi ominaisuus ratkaisee renderöintiongelmia VirtualDJ:ssä ja useissa pelinkäynnistysohjelmissa, kuten Ubisoft Connectissa.
- Lisätty tuki renderöintikohdenäkymien luomiselle suoraan puskureihin, mikä ratkaisi pilvirenderöinnin artefakteihin liittyviä ongelmia joissakin Frostbite-pohjaisissa peleissä, kuten Battlefield 3:ssa.
- Kirjastojen lataus toteutettu tukemaan Intel GPU -kohtaisia laajennuksia (valmistajalaajennuksia).
- Korjattu ongelmia Mabinogin, The Witcher 1:n, Ghost Recon Breakpointin, Mirrors Edgen ja RaceRoom Racing Experiencen kanssa.
- D7VK 2.2 -projekti on julkaistu, ja se kehittää Microsoftin vuosina 1996, 1997, 1998 ja 1999 ehdottamien Direct3D 3-, 5-, 6- ja 7-grafiikka-APIen toteutusta. D7VK toimii kääntämällä kutsut Vulkan-APIin ja mahdollistaa ajon... Linux Retropelejä, jotka perustuvat Direct3D 3-, 5-, 6- ja 7-API-rajapintoihin. Projektikoodi on kirjoitettu C++:lla ja jaettu Zlib-lisenssillä. Kehitys perustuu DXVK-projektin d3d9-taustakoodiin. D7VK muuntaa Direct3D 3-, 5-, 6- ja 7-API-rajapinnat Direct3D 9 -kutsuiksi, jotka sitten käännetään Vulkan-API-rajapinnaksi. Kehittäjä ei aio pyrkiä sisällyttämään D7VK:ta DXVK:hon, kuten tehtiin Vulkanin päälle tehtyjen Direct3D 8- ja Direct3D 9 -toteutusten kanssa.
Uusi versio siirtyy versioon 3.1 DXVK, tekee uudelleen D3D3:n suoritettavan puskurin tarkistuksen ja uudelleenlaskennan D3D3-laitteille ja parantaa tekstuurien käsittelyä D3D5/3:lle. Korjauksia on tehty seuraavien pelien tuen parantamiseksi: Palantírs Taru sormusten herrasta -pelissä, Resident Evil 2 ja Frogger.
Lähde: opennet.ru
