Candidati per il rilascio Wine 9.0 e rilascio vkd3d 1.10

È iniziato il test del primo candidato per il rilascio di Wine 9.0, un'implementazione open source di WinAPI. Il codice è stato congelato in vista del rilascio, previsto per la seconda metà di gennaio. Rispetto al rilascio di Wine 8.21, sono stati chiusi 52 report di bug e apportate 391 modifiche.

Le modifiche più importanti:

  • Il pacchetto integrato vkd3d, con implementazione di Direct3D 12 che opera tramite traduzione delle chiamate nell'API grafica Vulkan, è stato aggiornato alla versione 1.10.
  • È proseguito lo sviluppo delle funzionalità mirate a consentire l'uso di Wine in ambienti basati sul protocollo Wayland senza utilizzare XWayland e i componenti X11. Nel driver winewayland.drv è stato aggiunto il supporto per i layout di tastiera. È stato ampliato il supporto per l'API grafica Vulkan e sono state aggiunte le funzioni vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR. È stata aggiunta la funzione ClipCursor e implementata la possibilità di lavorare con coordinate relative nel tracciamento del movimento del mouse.
  • Con le ultime versioni di GnuTLS è stato implementato il supporto per le chiavi di crittografia DH (Diffie-Hellman).
  • Sono stati chiusi report di bug relativi al funzionamento di applicazioni come 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.
  • Sono stati chiusi report di bug relativi al funzionamento di giochi come For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.

Si segnala inoltre la pubblicazione da parte del progetto Wine del pacchetto vkd3d 1.10 con implementazione di Direct3D 12, che funziona attraverso la traduzione delle chiamate nell'API grafica Vulkan. Il pacchetto include le librerie libvkd3d con implementazione di Direct3D 12, libvkd3d-shader con il traduttore per shader di 4 e 5 generazione, e libvkd3d-utils con funzioni per facilitare il porting di applicazioni Direct3D 12, oltre a un insieme di esempi dimostrativi, incluso il porting di glxgears su Direct3D 12. Il codice del progetto è distribuito sotto licenza LGPLv2.1.

La libreria libvkd3d supporta la maggior parte delle funzionalità di Direct3D 12, inclusi strumenti per grafica e calcolo, code e liste di comandi, descrittori e descrittori di heap, firme radice, accesso non ordinato, sampler, firme di comandi, costanti radice, rendering indiretto, metodi Clear*() e Copy*(). In libvkd3d-shader è implementata la traduzione del bytecode per gli shader di modello 4 e 5 in rappresentazione intermedia SPIR-V. Sono supportati shader vertex, pixel, tessellatori, computazionali e shader geometrici semplici, serializzazione e deserializzazione di una firma radice. Tra le istruzioni per shader sono implementate operazioni aritmetiche, atomiche e bit a bit, operatori di confronto e di controllo del flusso di dati, istruzioni sample, gather e load, operazioni di accesso non ordinato (UAV, Unordered Access View).

Nella nuova versione è proseguita l'opera di miglioramento del compilatore di shader in linguaggio HLSL (High-Level Shader Language), introdotto a partire da DirectX 9.0: è stato aggiunto il supporto per l'indicizzazione dinamica degli array; sono state aggiunte le espressioni 'break', 'continue' e 'switch'; sono state ampliate le espressioni per cui è applicabile la compressione costante; sono state implementate funzioni incorporate come ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() e tex3Dproj().

Nella libreria libvkd3d sono state aggiunte nuove interfacce di programmazione Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 e ID3D12Resource1) e implementata la possibilità di creare oggetti di stato del pipeline (pipeline state object). Nella libreria libvkd3d-utils sono state aggiunte funzioni di supporto per la manipolazione del DXBC: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob(), D3DStripShader(). Nel compilatore vkd3d-compiler sono state aggiunte le opzioni «—fragment-coordinate-origin» e «—semantic-compat-map».

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster