Veröffentlichung der freien Implementierung der APIs OpenGL und Vulkan — . In Mesa 20.2 vollständige Unterstützung von OpenGL 4.6 für Intel-GPUs (i965-, iris-Treiber) und AMD (radeonsi), Unterstützung von OpenGL 4.5 für AMD-GPUs (r600), NVIDIA (nvc0) und llvmpipe, OpenGL 4.3 für virgl (virtuelle GPU für QEMU/KVM), sowie Unterstützung von Vulkan 1.2 für Intel- und AMD-Karten.
:
- Im Treiber , der für softwarebasierte Grafikberechnungen gedacht ist, wird OpenGL 4.5 unterstützt.
- Im Vulkan-Treiber RADV (für AMD-Karten) wird standardmäßig der Shader-Compiler ““ verwendet, der von Valve als Alternative zum LLVM Shader-Compiler entwickelt wird. ACO ist in C++ geschrieben, wird mit Blick auf die Verwendung für JIT-Kompilierung entwickelt und zielt darauf ab, Code zu generieren, der so optimal wie möglich für Shader von Spieleanwendungen ist, sowie eine sehr hohe Kompilierungsgeschwindigkeit zu erreichen.
- Erste Unterstützung für AMD Navi 21 (Navy Flounder) und Navi 22 (Sienna Cichlid) hinzugefügt.
- Die Treiber für Intel-GPUs haben die Unterstützung von Chips basierend auf der Mikroarchitektur und erste Unterstützung für diskrete Karten .
- Die Möglichkeiten des Gallium3D-Treibers , der die OpenGL-API über Vulkan implementiert. Zink ermöglicht hardwarebeschleunigtes OpenGL, wenn im System Treiber vorhanden sind, die nur die Vulkan-API unterstützen.
- Im Gallium3D-Treiber Nouveau NVC0 wird HMM (heterogeneous memory management) für die Unterstützung aktiviert. (Shared Virtual Memory).
- Im Treiber hat die Unterstützung für 3D-Rendering auf Midgard-GPUs (Mali-T6xx, Mali-T7xx, Mali-T8xx) stabilisiert.
- In RadeonSI wurden Verbesserungen in Bezug auf die Virtualisierung von GPUs vorgenommen.
- Es wurde Unterstützung für die Zwischenspeicherung von TGSI (Tungsten Graphics Shader Infrastructure) auf der Festplatte hinzugefügt.
- Neue OpenGL-Erweiterungen wurden hinzugefügt:
- GL_ARB_compute_variable_group_size für Intel Iris.
- GL_ARB_gl_spirv für Nouveau nvc0.
- GL_NV_half_float für Nouveau nvc0.
- GL_NV_copy_depth_to_color für Nouveau nvc0.
- GL_ARB_spirv_extensions für Nouveau nvc0.
- GL_EXT_shader_group_vote für llvmpipe.
- GL_ARB_gpu_shader5 für llvmpipe.
- GL_ARB_post_depth_coverage für llvmpipe.
- GL_EXT_texture_shadow_lod für llvmpipe.
- Die Unterstützung für das EGL-Erweiterung EGL_KHR_swap_buffers_with_damage (für X11 DRI3) sowie die GLX-Erweiterungen GLX_EXT_swap_control (DRI2, DRI3) und GLX_EXT_swap_control_tear (DRI3) wurde hinzugefügt.
- Im Vulkan-Treiber RADV (für AMD-Karten) wurden folgende Erweiterungen hinzugefügt:
- VK_EXT_4444_formats
- VK_KHR_memory_model
- VK_AMD_texture_gather_bias_lod
- VK_AMD_gpu_shader_half_float
- VK_AMD_gpu_shader_int16
- VK_EXT_extended_dynamic_state
- VK_EXT_image_robustness
- VK_EXT_private_data
- VK_EXT_custom_border_color
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_subgroup_size_control
- VK_GOOGLE_user_type
- VK_KHR_shader_subgroup_extended_types
- Im Vulkan-Treiber ANV (für Intel-Karten) wurden Erweiterungen hinzugefügt:
- VK_EXT_image_robustness
- VK_EXT_shader_atomic_float
- VK_EXT_4444_formats
- VK_EXT_extended_dynamic_state
- VK_EXT_private_data
- VK_EXT_custom_border_color
- VK_EXT_pipeline_creation_cache_control
Quelle: opennet.ru
