Après trois mois de développement, une version de l'implémentation libre de l'API Vulkan, OpenGL, OpenGL ES et OpenCL — Mesa 26.3.0 a été publiée. La première version de la branche Mesa 26.3.0 a un statut expérimental — une version stable 26.3.1 sera publiée après la stabilisation finale du code.
Mesa 26.3 offre le support de l'API graphique Vulkan 1.4 dans les pilotes ANV pour les GPU Intel, RADV pour les GPU AMD, NVK pour les GPU NVIDIA, HoneyKrisp (hk) pour les GPU Apple, Turnip pour les GPU Qualcomm, PanVK pour les GPU ARM Mali, dans le rasteriseur logiciel lavapipe (lvp) et en mode émulation (vn). Dans les pilotes v3dv (GPU Broadcom VideoCore pour Raspberry Pi 4+) et dzn (implémentation de Vulkan sur Direct3D 12), Vulkan 1.0 est supporté ; dans le pilote kk (KosmicKrisp, Vulkan sur Metal) — Vulkan 1.1 ; et dans le pilote pvr (GPU Imagination PowerVR) — Vulkan 1.2.
Mesa assure également un support complet d'OpenGL 4.6 pour les pilotes iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (anciens GPU Intel Gen4-Gen7.5), AMD (r600), zink, llvmpipe, virgl (GPU virtuel Virgil3D pour QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (couche pour faire fonctionner OpenGL sur DirectX 12) et asahi (GPU AGX utilisé dans les puces Apple M1 et M2). Le support d'OpenGL 4.5 est disponible pour les GPU NVIDIA (nvc0). Le support d'OpenGL 3.3 est présent dans les pilotes softpipe (rasteriseur logiciel) et nv50 (NVIDIA NV50). Dans les pilotes panfrost (GPU ARM Mali) et v3d (GPU Broadcom VideoCore), OpenGL 3.1 est supporté.
Les principales nouveautés :
- Des règles ont été ajoutées pour les assistants AI, stipulant que Mesa développe une communauté de personnes, donc les agents AI ne doivent pas ouvrir de demandes de tirage ou publier des commentaires. Pour les commits envoyés par des personnes mais créés à l'aide d'AI, il est requis d'indiquer explicitement le tag « Generated-by: LLM » ou « Assisted-by: LLM ». Pour les pilotes asahi, nouveau, panfrost, imagination, jay et poly, des restrictions spécifiques ont été appliquées concernant l'utilisation de l'AI.
- Le pilote panvk pour les GPU ARM Mali v6-7 a implémenté le support de
Vulkan 1.3. - Le pilote Etnaviv pour les GPU Vivante de la série HALTI5 a implémenté le support d'OpenGL ES 3.0 et du langage de shaders GLSL 1.30.
- Dans le pilote OpenGL Panfrost, le support des GPU Mali G68, G715 et G615 a été ajouté.
- Dans le pilote Vulkan PanVK, le support des GPU Mali G715 et G615 a été ajouté.
- Dans le pilote Vulkan pvr, le support des GPU Imagination PowerVR BXM-4-64 a été ajouté.
- Pour les GPU Intel Xe2 et Xe3, le compilateur de shaders Intel Jay est activé par défaut.
- La prise en charge du subsystem graphique pour les puces Intel Nova Lake a été stabilisée et activée par défaut.
- Dans le pilote NVK (NVIDIA), le support des extensions Vulkan pour l'accélération du traitement vidéo a été ajouté.
- Pour les GPU Intel, la compression des tampons a été activée, permettant d'améliorer les performances dans les jeux lors de leur lancement en utilisant DXVK.
- Ajout du support GPU AMD GFX1171 basé sur l'architecture micro-architecturale RDNA 4m.
- Ajout du support des extensions Vulkan :
- VK_AMD_anti_lag pour RADV ;
- VK_IMG_filter_linear_2d pour pvr ;
- VK_KHR_maintenance7 pour pvr ;
- VK_KHR_maintenance4 pour panvk/v6-7 ;
- VK_KHR_maintenance5 pour panvk/v6-7 ;
- VK_KHR_maintenance7 pour panvk/v6-7 ;
- VK_KHR_maintenance8 pour panvk/v6-7 ;
- VK_KHR_shader_float_controls2 pour panvk/v6-7 ;
- VK_KHR_shader_subgroup_extended_types pour panvk/v6-7 ;
- VK_EXT_subgroup_size_control pour panvk/v6-7 ;
- VK_ARM_shader_core_builtins pour panvk/v6-7 ;
- VK_ARM_shader_core_properties pour panvk/v6-7 ;
- VK_ARM_scheduling_controls pour panvk/v6-7 ;
- VK_KHR_synchronization2 pour pvr ;
- VK_KHR_copy_memory_indirect pour panvk ;
- VK_KHR_maintenance6 pour panvk/v6-7 ;
- VK_KHR_spirv_1_4 pour panvk/v6-7 ;
- VK_EXT_device_memory_report pour v3dv ;
- VK_KHR_video_encode_feedback2 pour RADV ;
- VK_EXT_global_priority pour pvr ;
- VK_EXT_global_priority_query pour pvr ;
- VK_KHR_global_priority pour pvr ;
- VK_KHR_cooperative_matrix pour panvk ;
- VK_EXT_inline_uniform_block pour pvr ;
- VK_KHR_shader_fma pour pvr ;
- VK_EXT_cooperative_matrix_maintenance1 pour radv, lavapipe ;
- VK_KHR_device_address_commands pour nvk ;
- VK_KHR_shader_constant_data pour panvk ;
- VK_KHR_shader_float_controls2 pour pvr ;
- VK_KHR_performance_query pour GFX12 ;
- VK_EXT_primitive_topology_list_restart pour pvr ;
- VK_KHR_incremental_present pour panvk ;
- VK_EXT_swapchain_colorspace pour panvk ;
- VK_KHR_push_descriptor pour pvr ;
- VK_EXT_image_sliced_view_of_3d pour pvr ;
- VK_EXT_image_compression_control pour panvk ;
- VK_KHR_shader_untyped_pointers pour HK ;
- VK_KHR_maintenance10 pour HK ;
- VK_KHR_shader_fma pour HK ;
- VK_EXT_primitive_restart_index pour HK ;
- VK_QCOM_rotated_copy_commands pour Turnip ;
- VK_KHR_maintenance10 pour panvk ;
- VK_KHR_map_memory2 pour v3dv ;
- VK_KHR_unified_image_layouts pour v3dv ;
- VK_INTEL_shader_integer_functions2 pour panvk ;
- VK_KHR_internally_synchronized_queues pour NVK ;
- VK_KHR_maintenance11 pour NVK ;
- VK_EXT_primitive_restart_index pour NVK ;
- VK_KHR_maintenance11 pour NVK ;
- VK_EXT_transform_feedback pour pvr.
- Dans le pilote OpenGL radeonsi, le support de l'extension EGL EGL_NV_context_priority_realtime a été ajouté.
- Dans le pilote panfrost pour les GPU Vivante de la série HALTI5, le support des extensions OpenGL a été ajouté :
- GL_ARB_texture_multisample ;
- GL_EXT_color_buffer_float ;
- GL_EXT_conservative_depth ;
- GL_EXT_draw_buffers_indexed ;
- GL_EXT_EGL_image_storage ;
- GL_EXT_EGL_image_storage_compression ;
- GL_EXT_shader_integer_mix ;
- GL_EXT_sRGB_write_control ;
- GL_EXT_texture_compression_rgtc ;
- GL_EXT_texture_sRGB_decode ;
- GL_EXT_texture_sRGB_R8 ;
- GL_EXT_texture_sRGB_RG8 ;
- GL_EXT_texture_storage_compression ;
- GL_MESA_framebuffer_flip_y ;
- GL_MESA_shader_integer_functions ;
- GL_OES_draw_buffers_indexed ;
- GL_OES_EGL_image_external_essl3 ;
- GL_EXT_texture_integer ;
- GL_ARB_shader_bit_encoding ;
- GL_ARB_texture_rgb10_a2ui.
- Ajout du support des extensions OpenCL :
- cl_ext_float_atomics pour iris, llvmpipe et zink ;
- cl_khr_semaphore pour iris ;
- cl_khr_external_semaphore pour iris ;
- cl_khr_external_semaphore_sync_fd pour iris.
Source : opennet.ru
