Candidatul pentru lansările Wine 9.0 și lansarea vkd3d 1.10

A început testarea primului candidat pentru versiunile Wine 9.0, o implementare deschisă a WinAPI. Codul a fost congelat înainte de lansare, așteptându-se ca aceasta să aibă loc în a doua jumătate a lunii ianuarie. Comparativ cu lansarea Wine 8.21, au fost închise 52 de rapoarte de erori și au fost făcute 391 de modificări.

Cele mai importante schimbări:

  • Pachetul încorporat vkd3d, care implementează Direct3D 12 prin translatia apelurilor în API-ul grafic Vulkan, a fost actualizat la versiunea 1.10.
  • S-a continuat dezvoltarea funcționalităților menite să permită utilizarea Wine în medii bazate pe protocolul Wayland fără utilizarea XWayland și a componentelor X11. În driverul winewayland.drv a fost adăugată suportul pentru aranjamentele de tastatură. Suportul pentru API-ul grafic Vulkan a fost extins, iar funcțiile vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR au fost adăugate. A fost implementată funcția ClipCursor, oferind posibilitatea de a utiliza coordonate relative la urmărirea mișcării mouse-ului.
  • Utilizând versiunile recente GnuTLS, a fost implementat suportul pentru cheile de criptare DH (Diffie-Hellman).
  • Rapoartele de erori legate de funcționarea aplicațiilor au fost închise: 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.
  • Rapoartele de erori legate de funcționarea jocurilor au fost închise: For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.

De asemenea, merită menționat că proiectul Wine a publicat pachetul vkd3d 1.10, care implementează Direct3D 12 prin translatia apelurilor în API-ul grafic Vulkan. Pachetul include bibliotecile libvkd3d cu implementarea Direct3D 12, libvkd3d-shader cu traductorul pentru modelele de shader 4 și 5 și libvkd3d-utils cu funcții pentru simplificarea portării aplicațiilor Direct3D 12, precum și un set de exemple demonstrative, inclusiv portul glxgears pe Direct3D 12. Codul proiectului este distribuit sub licența LGPLv2.1.

Biblioteca libvkd3d suportă majoritatea funcționalităților Direct3D 12, inclusiv instrumente pentru grafică și calcul, cozi și liste de comenzi, descriptorii și descriptorii de heap, semnăturile rădăcină, accesul nesortat, Sampler-e, semnăturile comenzii, constantele rădăcină, redarea indirectă, metodele Clear*() și Copy*(). În libvkd3d-shader este implementată traducerea codului byte pentru modelele de shader 4 și 5 în reprezentarea intermediară SPIR-V. Sunt suportate shader-ele de vârf, pe pixel, tesselație, calcul și geometrie simplă, serializarea și deserializarea semnăturii rădăcină. Dintre instrucțiunile shader-ului, sunt implementate operații aritmetice, atomice și bitwise, operatori de comparație și control al fluxului de date, instrucțiuni sample, gather și load, operații de acces nesortat (UAV, Unordered Access View).

În noua versiune, continuăm să îmbunătățim compilatorul de shader-e în HLSL (High-Level Shader Language), disponibil din DirectX 9.0: a fost adăugată suport pentru indexarea dinamică a aranjamentelor; au fost adăugate expresiile „break”, „continue” și „switch”; au fost extinse expresiile pentru care se aplică reducerea constantelor; sunt implementate funcții încorporate precum ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() și tex3Dproj().

În biblioteca libvkd3d au fost adăugate noi interfețe de programare Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 și ID3D12Resource1) și a fost realizată posibilitatea de a crea obiecte de stare a conveiului (pipeline state object). În libvkd3d-utils au fost adăugate funcții ajutătoare pentru manipularea DXBC: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob() și D3DStripShader(). În compilatorul vkd3d-compiler au fost adăugate opțiunile „—fragment-coordinate-origin” și „—semantic-compat-map”.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster