Ka filluar testimi i kandidatit të parë për lëshimin e Wine 9.0, implementimin e hapur të WinAPI. Baza e kodit është vendosur në gjendjen e ngrirjes për lëshimin që pritet në gjysmën e dytë të janarit. Krahasuar me versionin e Wine 8.21, janë mbyllur 52 raporte për gabime dhe janë bërë 391 ndryshime.
Ndryshimet më të rëndësishme:
- Paketa e integruar vkd3d me implementimin e Direct3D 12, e cila funksionon përmes translacionit të thirrjeve në API-in grafik Vulkan, është përditësuar në versionin 1.10.
- ĂshtĂ« vazhduar zhvillimi i funksionaliteteve qĂ« synojnĂ« mundĂ«sinĂ« e pĂ«rdorimit tĂ« Wine nĂ« ambientet qĂ« bazohen nĂ« protokollin Wayland pa pĂ«rdorur XWayland dhe komponentĂ«t e X11. NĂ« driver-in winewayland.drv Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r disposita tĂ« tastierĂ«s. ĂshtĂ« zgjeruar mbĂ«shtetja pĂ«r API-in grafik Vulkan dhe janĂ« shtuar funksionet vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR. ĂshtĂ« shtuar funksioni ClipCursor dhe Ă«shtĂ« realizuar mundĂ«sia e punĂ«s me koordinata relative gjatĂ« ndjekjes sĂ« lĂ«vizjes sĂ« mausit.
- Me përdorimin e lëshimeve të reja të GnuTLS, është realizuar mbështetje për çelësat e enkriptimit DH (Diffie-Hellman).
- Raportet pĂ«r gabime tĂ« mbyllura, qĂ« lidhen me funksionimin e aplikacioneve: 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 plugin, MIDITrail 1.4.0.
- Raportet për gabime të mbyllura, që lidhen me funksionimin e lojrave: For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.
Gjithashtu, vlen të theksohet publikimi nga projekti Wine i paketës vkd3d 1.10 me implementimin e Direct3D 12, që funksionon përmes përkthimit të thirrjeve në API-në grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e shenjave të modelit 4 dhe 5, dhe libvkd3d-utils me funksione për lehtësimin e portimit të aplikacioneve Direct3D 12, si dhe një grup shembujsh demonstrues, duke përfshirë portimin e glxgears në Direct3D 12. Kodi i projektit shpërndahet nën licencën LGPLv2.1.
Biblioteka libvkd3d mbështet shumicën e funksioneve të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhë dhe lista komandash, deskriptues dhe deskriptues grumbujsh, nënshkrime rrënjësorë, qasje të pa renditur, Sampler-a, nënshkrime komandash, konstantat rrënjësore, vizatimin indirekt, metodat Clear*() dhe Copy*(). Në libvkd3d-shader është implementuar përkthimi i kodit të bajtëve të modeleve 4 dhe 5 të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Mbështeten shenjuesit e pikave, pikselave, tesselatorëve, llogaritësve dhe shenjuesit e gjeometrisë së thjeshtë, si dhe serializimi dhe deserializimi i nënshkrimit rrënjësor. Nga instrukcionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorët e krahasimit dhe kontrollit të rrjedhës së të dhënave, instrukcionet sample, gather dhe load, operacionet e qasjes së pa renditur (UAV, Unordered Access View).
Në versionin e ri vazhdohet puna për përmirësimin e kompilatorit të shenjuesve në gjuhën HLSL (High-Level Shader Language), i ofruar që nga DirectX 9.0: u shtua mbështetja për indeksimin dinamik të array-ve; u shtuan shprehjet «break», «continue» dhe «switch»; u zgjeruan shprehjet për të cilat aplikohet përmbledhja e konstantëve; u realizuan funksionet e ndërtuara ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() dhe tex3Dproj().
NĂ« bibliotekĂ«n libvkd3d u shtuan ndĂ«rfaqet e reja tĂ« programimit Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 dhe ID3D12Resource1) dhe u realizua mundĂ«sia e krijimit tĂ« objekteve tĂ« gjendjes sĂ« kalit (pipeline state object). NĂ« libvkd3d-utils u shtuan funksione ndihmĂ«se pĂ«r manipulimin e DXBC: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob(), D3DStripShader(). NĂ« kompilatorin vkd3d-compiler u shtuan opsionet «âfragment-coordinate-origin» dhe «âsemantic-compat-map».
Burimi: opennet.ru
