Lanzamento de Mesa 20.2.0, unha implementación gratuíta de OpenGL e Vulkan
Presentado lanzamento dunha implementación gratuíta da API OpenGL e Vulkan - Mesa 20.2.0. Na Mesa 20.2 implementado soporte completo de OpenGL 4.6 para GPU Intel (i965, iris) e AMD (radeonsi), soporte OpenGL 4.5 para GPU AMD (r600), NVIDIA (nvc0) e llvmpipe, OpenGL 4.3 para virgl (GPU virtual) Virxilio 3D para QEMU/KVM), así como compatibilidade con Vulkan 1.2 para tarxetas Intel e AMD.
No condutor lvmpipe, deseñado para renderizar software, admite OpenGL 4.5.
O controlador RADV Vulkan (para tarxetas AMD) usa o compilador shader por defecto "ACO", que está a ser desenvolvido por Valve como unha alternativa ao compilador de shader LLVM. ACO está escrito en C++, deseñado pensando na compilación JIT, e ten como obxectivo proporcionar unha xeración de código o máis óptima posible para os sombreadores de xogos, ademais de acadar velocidades de compilación moi altas.
Engadiuse soporte inicial para as GPU AMD Navi 21 (Navy Flounder) e Navi 22 (Sienna Cichlid).
Os controladores de GPU Intel melloraron a compatibilidade con chips baseados na microarquitectura Lago foguete и engadido soporte inicial para tarxetas discretas Intel Xe DG1.
Ampliáronse as capacidades do controlador Gallium3D Zink, que implementa a API OpenGL enriba de Vulkan. Zink permítelle obter OpenGL acelerado por hardware se o sistema ten controladores limitados a admitir só a API Vulkan.
O controlador Gallium3D Nouveau NVC0 usa HMM (xestor de memoria heteroxénea) para soportar OpenCL SVM (Memoria Virtual Compartida).
No condutor panfrost Estabilizouse a compatibilidade de renderizado 3D para GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
RadeonSI inclúe melloras relacionadas coa virtualización da GPU.
Engadido soporte para almacenamento en caché de disco da representación intermedia TGSI (Tungsten Graphics Shader Infrastructure).
Engadíronse novas extensións OpenGL:
GL_ARB_compute_variable_group_size para Intel Iris.
GL_ARB_gl_spirv para Nouveau nvc0.
GL_NV_half_float para Nouveau nvc0.
GL_NV_copy_depth_to_color para Nouveau nvc0.
GL_ARB_spirv_extensions para Nouveau nvc0.
GL_EXT_shader_group_vote para llvmpipe.
GL_ARB_gpu_shader5 para llvmpipe.
GL_ARB_post_depth_coverage para llvmpipe.
GL_EXT_texture_shadow_lod para llvmpipe.
Engadiuse compatibilidade para a extensión EGL EGL_KHR_swap_buffers_with_damage (para X11 DRI3), así como as extensións GLX GLX_EXT_swap_control (DRI2, DRI3) e GLX_EXT_swap_control_tear (DRI3).
Engadíronse extensións ao controlador RADV Vulkan (para tarxetas AMD):
VK_EXT_4444_formats
Modelo_memoria_VK_KHR
VK_AMD_texture_gather_bias_lod
VK_AMD_gpu_shader_half_float
VK_AMD_gpu_shader_int16
VK_EXT_estado_dinámico_estendido
VK_EXT_robusteza da imaxe
VK_EXT_data_privados
VK_EXT_color_border_personalizado
VK_EXT_pipeline_creation_cache_control
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_control_tamaño_subgrupo
VK_GOOGLE_user_type
VK_KHR_shader_subgroup_extended_types
Engadíronse extensións ao controlador ANV Vulkan (para tarxetas Intel):