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

Dopo quattro mesi di sviluppo è stata pubblicata la versione gratuita dell'implementazione delle API OpenGL e Vulkan, Mesa 21.3.0. La prima versione del ramo Mesa 21.3.0 ha uno stato sperimentale: dopo la stabilizzazione finale del codice verrà rilasciata una versione stabile 21.3.1.

Mesa 21.3 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 è disponibile per le schede Intel e AMD, nonché in modalità emulatore (vn) e nel rasterizzatore software lavapipe, il supporto Vulkan 1.1 è disponibile per la GPU Qualcomm e il rasterizzatore software lavapipe e Vulkan 1.0 è disponibile per Broadcom GPU VideoCore VI (Raspberry Pi 4).

Principali innovazioni:

  • Il driver Zink (un'implementazione dell'API OpenGL su Vulkan, che consente di ottenere OpenGL con accelerazione hardware se il sistema ha driver limitati a supportare solo l'API Vulkan) supporta OpenGL ES 3.2.
  • Il driver Panfrost, progettato per funzionare con GPU basate sulle microarchitetture Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) e Bifrost (Mali G3x, G5x, G7x), è ufficialmente certificato per la compatibilità con OpenGL ES 3.1.
  • Il driver v3dv, sviluppato per l'acceleratore grafico VideoCore VI, utilizzato a partire dal modello Raspberry Pi 4, ha il supporto certificato per l'API grafica Vulkan 1.1 e ha anche aggiunto il supporto per gli shader geometrici. Le prestazioni del codice generato dal compilatore shader sono state notevolmente migliorate, il che ha un effetto positivo sulla velocità dei programmi che utilizzano attivamente gli shader, come i giochi basati sull'Unreal Engine 4.
  • Il driver Vulkan RADV (AMD) ha aggiunto il supporto sperimentale per ray tracing e shader di ray tracing. Per le schede GFX10.3, il supporto per l'eliminazione primitiva utilizzando i motori shader NGG (Next-Gen Geometry) è abilitato per impostazione predefinita.
  • Il driver Iris OpenGL (un nuovo driver per GPU Intel) ha aggiunto la possibilità di compilazione shader multi-thread.
  • Il driver lavapipe, che implementa un rasterizzatore software per l'API Vulkan (simile a llvmpipe, ma per Vulkan, traduce le chiamate API Vulkan all'API Gallium) ha implementato il supporto per il filtraggio delle texture anisotropiche e ha aggiunto il supporto per Vulkan 1.2.
  • Il driver OpenGL llvmpipe, progettato per il rendering del software, ha aumentato le prestazioni di 2-3 volte durante l'esecuzione di azioni relative alle operazioni 2D. Aggiunto il supporto per le operazioni FP16, il filtro anisotropico delle texture (GL_ARB_texture_filter_anisotropic) e le aree di memoria bloccate (GL_AMD_pinned_memory). Viene fornito il supporto per il profilo di compatibilità OpenGL 4.5.
  • Il tracker dello stato VA-API (Video Acceleration API) fornisce supporto per accelerare la codifica e decodifica video AV1 quando si utilizzano i driver GPU AMD.
  • Il supporto EGL è stato implementato per la piattaforma Windows.
  • Aggiunto il supporto per l'estensione EGL_EXT_present_opaque per Wayland. Sono stati risolti i problemi relativi alla visualizzazione della trasparenza nei giochi eseguiti in ambienti basati sul protocollo Wayland.
  • Aggiunto il supporto per le estensioni ai driver Vulkan RADV (AMD), ANV (Intel) e lavapipe:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_sincronizzazione2 (Intel).
    • VK_KHR_manutenzione4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (tubo di lava).
    • VK_KHR_spirv_1_4 (tubo di lava).
    • VK_KHR_timeline_semaphore (tubo di lava).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (tubo di lava).
    • VK_KHR_shader_float16_int8 (tubo di lava).
    • VK_EXT_color_write_enable(lavandino).

Fonte: opennet.ru

Aggiungi un commento