Candidati per il rilascio di Wine 8.0 e rilascio di vkd3d 1.6

È iniziato il test del primo candidato per il rilascio di Wine 8.0, l'implementazione open-source di WinAPI. Il codice sorgente è stato congelato in vista del rilascio previsto per metà gennaio. Rispetto al rilascio di Wine 7.22, sono stati chiusi 52 rapporti di bug e apportate 538 modifiche.

Le modifiche più importanti:

  • Il pacchetto vkd3d, che implementa Direct3D 12 tramite la traduzione delle chiamate nell'API grafica Vulkan, è stato aggiornato alla versione 1.6.
  • Ottimizzazione dei convertitori di chiamate di sistema (thunk) per Vulkan e OpenGL completata.
  • In WinPrint è stata ampliata la supporto per i processori di stampa (Print processor).
  • Migliorato pannello di controllo con il joystick.
  • Completato il lavoro per garantire il supporto del tipo ‘long’ nel codice della funzione printf.
  • Chiuso i rapporti di bug relativi al funzionamento di giochi come: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Chiuso i rapporti di bug relativi al funzionamento di applicazioni come: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Inoltre, si segnala la pubblicazione del progetto Wine del pacchetto vkd3d 1.6 con l'implementazione di Direct3D 12, funzionante tramite la traduzione delle chiamate nell'API grafica Vulkan. Il pacchetto include le librerie libvkd3d con l'implementazione di Direct3D 12, libvkd3d-shader con il traduttore dei shader di modello 4 e 5 e libvkd3d-utils con funzioni per semplificare il porting delle applicazioni Direct3D 12, oltre a un insieme di esempi dimostrativi, incluso il porting di glxgears su Direct3D 12. Il codice del progetto è distribuito con licenza LGPLv2.1.

La libreria libvkd3d supporta gran parte delle funzionalità di Direct3D 12, inclusi gli strumenti per grafica e calcoli, code e liste di comandi, descrittori e descrittori heap, firme root, accesso non ordinato, sampler, firme di comandi, costanti root, rendering indiretto, metodi Clear*() e Copy*(). In libvkd3d-shader è implementata la traduzione del codice byte dei modelli di shader 4 e 5 in una rappresentazione intermedia SPIR-V. Sono supportati shader vertex, pixel, tessellazione, calcolo e geometria semplice, serializzazione e deserializzazione della firma root. Tra le istruzioni degli shader sono implementate operazioni aritmetiche, atomiche e bitwise, operatori di confronto e controllo del flusso di trasferimento dati, istruzioni sample, gather e load, e operazioni di accesso non ordinato (UAV, Unordered Access View).

Nella nuova versione si è proseguito con il miglioramento del compilatore di shader in linguaggio HLSL (High-Level Shader Language), disponibile sin da DirectX 9.0. Tra i miglioramenti legati all'HLSL:

  • È stato implementato il supporto iniziale per gli shader di calcolo.
  • È stato migliorato il supporto per l'inizializzazione e l'assegnazione di oggetti compositi, come strutture e array.
  • È stata aggiunta la possibilità di caricare e salvare risorse texture, utilizzando l'accesso non ordinato (UAV).
  • È stato aggiunto il supporto per gli attributi delle funzioni e sono state implementate le funzioni incorporate asuint(), length(), normalize().
  • È stato aggiunto il supporto per i moduli per calcoli in virgola mobile.
  • È stato implementato il flag VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS per indicare operazioni atomiche sui descrittori di accesso non ordinato (UAV).

Fonte: opennet.ru

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