Nuove versioni di Wine 10.20, Vkd3d 1.18 e vkd3d-proton 3.0

È stata rilasciata una versione sperimentale dell'implementazione open source dell'API Win32 — Wine 10.20. Dalla versione 10.19 sono stati risolti 31 rapporti di errore e apportate 337 modifiche.

Le modifiche più importanti:

  • Il pacchetto integrato Vkd3d con l'implementazione di Direct3D 12 è stato aggiornato alla versione 1.18.
  • È stata aggiunta una finestra di dialogo per visualizzare il progresso della scansione dei documenti.
  • Continua l'implementazione del meccanismo Reparse Point, che consente di allegare dati aggiuntivi a file e cartelle, identificabili tramite tag. È stato garantito il supporto per il Reparse Point nelle funzioni CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress()
  • Prosegue il refactoring dell'implementazione del Common Control dopo la suddivisione della libreria COMCTL32 in moduli separati per le versioni 5 e 6.
  • Risolta un problema con il crash di molti giochi (ad esempio, Syberia 2) quando si utilizza la modalità WoW64 su sistemi con GPU NVIDIA.
  • Risolta una problematica di ritardo nella reazione quando si premono i tasti di controllo del cursore in alcuni giochi, come Might and Magic VI.
  • Risolta una problematica di blocco o impossibilità di avviare alcune versioni Windows di applicazioni che utilizzano la libreria GTK, come Meld e Geany.
  • Chiusura dei rapporti di errore relativi al funzionamento di applicazioni: SQL Server 2012/2014, installer di MS Office 365, QuarkXPress 2024, TomTom MyDrive Connect 4.x, Spine, GenLauncher, grepwinNP3, PlayOnline Viewer, tlReader 10.1.0.2004, cmd.exe, CLM Explorer, HiveMQ CE 2025.5.
  • Chiusura dei rapporti di errore relativi al funzionamento di giochi: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.

Il progetto Wine ha anche pubblicato la versione del pacchetto vkd3d 1.18 con l'implementazione di Direct3D 12, funzionante tramite la traslitterazione delle chiamate nell'API grafica Vulkan. Il pacchetto include le librerie libvkd3d con l'implementazione di Direct3D 12, libvkd3d-shader con il traduttore di shader di modello 4 e 5 e libvkd3d-utils con funzioni per semplificare il porting delle applicazioni Direct3D 12, nonché una serie di esempi dimostrativi, incluso il porting di glxgears su Direct3D 12. Il codice del progetto è distribuito sotto la licenza LGPLv2.1.

La libreria libvkd3d supporta gran parte delle funzionalità di Direct3D 12, inclusi gli strumenti per la grafica e il calcolo, code e liste di comandi, descrittori e descrittori di heap, firme radice, accesso non ordinato, Sampler, firme di comando, costanti radice, rendering indiretto, metodi Clear*() e Copy*(). In libvkd3d-shader è stata implementata la traduzione del bytecode dei modelli di shader in rappresentazione intermedia SPIR-V. Sono supportati shader di vertici, pixel, tessellazione, calcolo e shader geometrici semplici, serializzazione e deserializzazione delle firme radice. Tra le istruzioni per shader sono state implementate operazioni aritmetiche, atomiche e bitwise, 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 di vkd3d:

  • Nell'implementazione del linguaggio degli shader HLSL sono state aggiunte funzioni incorporate countbits(), firstbithigh(), firstbitlow(), frexp() e texCUBEbias(). Per i profili Shader Model 1-3 è stata implementata la supporto per le espressioni condizionali con tipi interi.
  • Nel compilatore di shader HLSL è stata ottimizzata la compilazione del codice con operatori condizionali if/else. È stata estesa l'ottimizzazione delle costanti in fase di compilazione (constant folding). Tale ottimizzazione può ora essere applicata per espressioni del tipo «true ? x : y» e funzioni come asfloat(), asint(), asuint(), cos(), mad(), round() e sin().
  • Nella libreria libvkd3d è stato aggiunto il metodo CreateCommandList1() all'interfaccia ID3D12Device4.
  • Aggiunte istruzioni di bytecode Direct3D: bem, tex, texbem, texbeml e texcoord.
  • Proseguono i lavori sulla realizzazione del linguaggio shader MSL (Metal Shading Language), utilizzato da Apple nell'API grafica Metal. È stata aggiunta la supporto per gli shader computazionali, buffer di costanti inizializzabili istantaneamente, funzioni trigonometriche, operazioni di resto e bitwise.
  • Nella realizzazione del linguaggio shader GLSL (OpenGL Shading Language) sono state aggiunte operazioni intere senza segno per divisione e calcolo del resto, funzioni sin() e cos(), possibilità di offsetting delle texture durante il caricamento delle texture.

Inoltre, Valve ha pubblicato la versione VKD3D-Proton 3.0, una derivazione dal codice sorgente vkd3d, creata per migliorare il supporto a Direct3D 12 nel pacchetto per l'avvio dei giochi Proton. In VKD3D-Proton sono supportate modifiche specifiche per Proton, ottimizzazioni e miglioramenti per un'esperienza di gioco di qualità superiore con giochi Windows basati su Direct3D 12, che non sono ancora stati incorporati nel core di vkd3d. Tra le differenze, si nota anche l'orientamento verso l'uso di estensioni Vulkan moderne e le capacità delle più recenti versioni dei driver grafici per garantire la piena compatibilità con Direct3D 12.

Tra le novità della nuova versione di vkd3d-proton:

  • È stato riscritto il backend degli shader DXBC (DirectX ByteCode), che ha sostituito il backend vkd3d-shader. Il nuovo backend ha risolto diversi problemi riscontrati in molti giochi, precedentemente causati dalla mancanza di funzionalità nel vkd3d-shader, ad esempio, ora il gioco Red Dead Redemption 2 funziona correttamente in modalità D3D12.
  • Aggiunta la supporto per la tecnologia di super campionamento FSR4 (AMD FidelityFX Super Resolution).
  • Aggiunta la supporto sperimentale per i grafi di lavoro D3D12 (Work Graphs).
  • Aggiunta la supporto sperimentale per le micro mappe di opacità (OMM — Opacity MicroMaps).
  • Risolti problemi in giochi come Star Citizen, Ninja Gaiden 4, Monster Hunter Wilds, Wreckfest 2, Satisfactory, Street Fighter 6, Death Stranding, Wuthering Waves, Dune, Spider-Man Remastered, Gray Zone Warfare, Rise of the Tomb Raider, Port Royal, Mafia: Definitive Edition, Final Fantasy Tactics.

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