Rilascio di Mesa 21.0, un'implementazione gratuita di OpenGL e Vulkan

Presentato il rilascio dell'implementazione gratuita delle API OpenGL e Vulkan - Mesa 21.0.0. La prima versione del ramo Mesa 21.0.0 ha uno stato sperimentale: dopo la stabilizzazione finale del codice verrà rilasciata una versione stabile 21.0.1. Mesa 21.0 include il supporto completo per OpenGL 4.6 per i driver 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. Il supporto OpenGL 4.5 è disponibile per le GPU AMD (r600) e NVIDIA (nvc0) e il supporto OpenGL 4.3 per virgl (GPU virtuale Virgil3D per QEMU/KVM). Il supporto Vulkan 1.2 è implementato per le schede Intel e AMD e Vulkan 1.0 per VideoCore VI (Raspberry Pi 4).

Principali innovazioni:

  • Il driver Zink (implementazione dell'API OpenGL su Vulkan) fornisce supporto per OpenGL 4.6. Zink ti consente di ottenere OpenGL con accelerazione hardware se il sistema ha driver limitati a supportare solo l'API Vulkan. Le prestazioni di Zink sono vicine a quelle delle implementazioni OpenGL native.
  • Il driver llvmpipe, progettato per il rendering del software, supporta OpenGL 4.6.
  • Il driver Freedreno, utilizzato per il sottosistema grafico dei chip Qualcomm, supporta OpenGL ES 6 per la GPU Adreno a3.0xx.
  • Il driver Panfrost per GPU Midgard (Mali-T7xx, Mali-T8xx) e Bifrost (Mali G3x, G5x, G7x) supporta OpenGL 3.1, nonché il supporto OpenGL ES 3.0 per GPU Bifrost.
  • Il driver radeonsi ora supporta le estensioni OpenGL GL_EXT_demote_to_helper_invocation e GL_NV_compute_shader_derivatives. Per il gioco "Counter-Strike: Global Offensive" la modalità di ottimizzazione "mesa_glthread" è abilitata per impostazione predefinita, consentendo di aumentare le prestazioni del 10-20%. Ottimizzazioni implementate che influenzano il superamento dei test SPECViewPerf. Aggiunto il supporto per lo strumento di profilazione Radeon GPU Profiler (RGP). Per GPU Zen 3 e RDNA 2 è stato aggiunto il supporto alla tecnologia Smart Access Memory. Aggiunto supporto per encoder HEVC SAO (Sample Adaptive Offset, per GPU con supporto per motori VCN2, VCN2.5 e VCN3) e decoder AV1 (per RDNA 2/RX 6000 e solo tramite l'interfaccia OpenMAX).
  • Il driver RADV Vulkan (per schede AMD) ha aggiunto il supporto per la tecnologia di matematica compressa Rapid (vettorializzazione a 16 bit) e memoria Sparse (consente di posizionare risorse come immagini e trame in modo incoerente e ricollegarle a diverse operazioni di allocazione della memoria). È stata effettuata l'ottimizzazione delle prestazioni per le schede della serie RX 6000. Sono state aggiunte le estensioni VK_VALVE_mutable_descriptor_type e VK_KHR_fragment_shading_rate (solo RDNA2).
  • I driver Intel ANV e Iris aggiungono ottimizzazioni delle prestazioni e offrono supporto iniziale per le estensioni di ray tracing Vulkan implementate nelle schede grafiche Xe HPG.
  • Aggiunto il supporto per l'estensione EGL_MESA_platform_xcb, che consente alle applicazioni di creare risorse EGL da risorse X11 senza accedere a Xlib.
  • Il driver Vulkan V3DV, sviluppato per l'acceleratore grafico VideoCore VI utilizzato nelle schede Raspberry Pi 4 basate sul chip Broadcom BCM2711, ha aggiunto il supporto per Wayland WSI (Windowing System Integration), consentendo l'accesso all'API Vulkan da ambienti basati su Wayland.
  • L'implementazione iniziale di un livello che traduce le chiamate OpenGL nell'API DirectX 12 è stata adottata per organizzare il lavoro delle applicazioni grafiche in un ambiente WSL (Windows Subsystem for Linux). Inoltre è inclusa la libreria spirv_to_dxil sviluppata da Microsoft per la conversione della rappresentazione intermedia degli shader SPIR-V in DXIL (DirectX Intermediate Language).
  • Supporto rielaborato e notevolmente migliorato per il sistema operativo Haiku.
  • Le impostazioni glx_disable_oml_sync_control, glx_disable_sgi_video_sync e glx_disable_ext_buffer_age sono state rimosse da driconf.
  • Rimosso il supporto per DRI1 e interrotto il caricamento dei driver DRI dalle versioni Mesa precedenti alla 8.0.
  • Il driver swrast, costruito sulla base della classica interfaccia DRI e destinato al rendering del software OpenGL, è stato rimosso (i restanti driver di rendering del software llvmpipe e softpipe sono notevolmente più avanti rispetto a swrast in termini di prestazioni e funzionalità). La rimozione di swrast è stata facilitata dalla presenza di molti problemi irrisolti e dal verificarsi di regressioni, nonostante questo driver non sia più utilizzato nelle distribuzioni.
  • La vecchia versione classica dell'interfaccia del software OSMesa è stata rimossa (rimane OSMesa basato su Gallium), che consente il rendering non sullo schermo, ma su un buffer in memoria.

    Fonte: opennet.ru

Aggiungi un commento