È stata rilasciata una versione gratuita dell'API OpenGL e Vulkan — Mesa 21.1.0. Il primo rilascio della serie Mesa 21.1.0 ha uno stato sperimentale; dopo il completamento della stabilizzazione del codice sarà rilasciata la versione stabile 21.1.1. In Mesa 21.1 è implementato il pieno supporto per OpenGL 4.6 per i driver 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. Il supporto per OpenGL 4.5 è disponibile per le GPU AMD (r600) e NVIDIA (nvc0), mentre OpenGL 4.3 è disponibile per virgl (GPU virtuale Virgil3D per QEMU/KVM). Il supporto per Vulkan 1.2 è implementato per le schede Intel e AMD, Vulkan 1.1 per le GPU Qualcomm e il rasterizzatore software lavapipe, e Vulkan 1.0 per le GPU Broadcom VideoCore VI (Raspberry Pi 4).
Novità principali:
- Nei driver Vulkan RADV (AMD) e ANV (Intel) è stato aggiunto il supporto per le estensioni VK_KHR_workgroup_memory_explicit_layout e VK_KHR_zero_initialize_workgroup_memory.
- Nel driver RADV (per schede AMD GFX9) è stato aggiunto il supporto per i modificatori di formato DRM (inclusa l'estensione VK_EXT_image_drm_format_modifier).
- Nel driver RADV è stato implementato il supporto per VRS (Variable Rate Shading) da utilizzare con qualsiasi buffer di profondità. VRS consente di migliorare le prestazioni a scapito della qualità.
- Aggiunto il supporto per la GPU AMD Aldebaran (gfx90a).
- Aggiunto un nuovo driver venus con implementazione di una GPU virtuale (virtio-gpu) basata sull'API Vulkan.
- Nel driver Zink (implementazione dell'API OpenGL sopra Vulkan) è stata inclusa la supporto per OpenGL 4.6 e OpenGL ES 3.1. Zink consente di ottenere OpenGL accelerato dall'hardware quando i driver nel sistema sono limitati al supporto solo per l'API Vulkan. Le prestazioni di Zink sono vicine a quelle delle implementazioni native di OpenGL.
- Nel driver lavapipe, con l'implementazione di un rasterizzatore software per l'API Vulkan (simile a llvmpipe, ma per Vulkan), è stata aggiunta la supporto per Vulkan 1.1 e implementata l'estensione Vulkan VK_KHR_copy_commands2. L'implementazione software in lavapipe si basa sul riflesso delle chiamate dell'API Vulkan nell'API Gallium.
- Aggiunta la supporto per la memorizzazione della cache degli shader in un unico file.
- Nei driver Virgl (GPU virtuale Virgil3D per QEMU/KVM) e Lima (GPU ARM Mali) è stata implementata la supporto per la cache degli shader su disco.
- Nel driver Gallium D3D12 con un'interfaccia per gestire OpenGL sopra l'API DirectX 12 (D3D12) è garantita la compatibilità con OpenGL 3.3 quando si utilizza sopra i driver D3D12 WARP (rasterizzatore software) e NVIDIA. Il driver viene utilizzato nell'interfaccia WSL2 per eseguire applicazioni grafiche Linux su Windows.
- Aggiunte nuove estensioni OpenGL:
- GL_EXT_depth_bounds_test per i driver softpipe e zink
- GL_EXT_texture_filter_minmax per il driver nvc0 (gm200+)
- GL_ARB_texture_filter_minmax per il driver nvc0 (gm200+)
- GL_ARB_post_depth_coverage per il driver zink.
Fonte: opennet.ru
