Dopo tre mesi di sviluppo, è stata pubblicata la versione del API Vulkan, OpenGL, OpenGL ES e OpenCL — Mesa 26.3.0. Il primo rilascio del ramo Mesa 26.3.0 ha uno stato sperimentale: dopo una definitiva stabilizzazione del codice, sarà rilasciata la versione stabile 26.3.1.
In Mesa 26.3 è disponibile il supporto per l'API grafica Vulkan 1.4 nei driver ANV per GPU Intel, RADV per GPU AMD, NVK per GPU NVIDIA, HoneyKrisp (hk) per GPU Apple, Turnip per GPU Qualcomm, PanVK per GPU ARM Mali, nel rasterizzatore software lavapipe (lvp) e nella modalità emulatore (vn). Nei driver v3dv (GPU Broadcom VideoCore per Raspberry Pi 4+) e dzn (implementazione di Vulkan su Direct3D 12) è supportato Vulkan 1.0, nel driver kk (KosmicKrisp, Vulkan su Metal) — Vulkan 1.1, mentre nel driver pvr (GPU Imagination PowerVR) — Vulkan 1.2.
Mesa fornisce anche supporto completo per OpenGL 4.6 nei driver iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (vecchie GPU Intel Gen4-Gen7.5), AMD (r600), zink, llvmpipe, virgl (GPU virtuale Virgil3D per QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (interfaccia per far funzionare OpenGL sopra DirectX 12) e asahi (GPU AGX, utilizzato nei chip Apple M1 e M2). Il supporto per OpenGL 4.5 è disponibile per GPU NVIDIA (nvc0). Il supporto per OpenGL 3.3 è presente nei driver softpipe (rasterizzatore software) e nv50 (NVIDIA NV50). Nei driver panfrost (GPU ARM Mali) e v3d (GPU Broadcom VideoCore) è supportato OpenGL 3.1.
Novità principali:
- Sono state aggiunte regole per gli assistenti AI, specificando che Mesa sviluppa una comunità di persone, quindi gli agenti AI non dovrebbero aprire pull request o pubblicare commenti. Per i commit inviati da persone ma creati con l'ausilio di AI, è richiesto di specificare esplicitamente il tag “Generated-by: LLM” o “Assisted-by: LLM”. Per i driver asahi, nouveau, panfrost, imagination, jay e poly, sono state introdotte limitazioni specifiche sull'uso dell'AI.
- Nel driver panvk per GPU ARM Mali v6-7 è stata implementata la supporto per
Vulkan 1.3. - Nel driver Etnaviv per GPU Vivante serie HALTI5 è stato implementato il supporto per OpenGL ES 3.0 e il linguaggio di shader GLSL 1.30.
- Nel driver OpenGL Panfrost è stato aggiunto il supporto per GPU Mali G68, G715 e G615.
- Nel driver Vulkan PanVK è stato aggiunto il supporto per GPU Mali G715 e G615.
- Nel driver Vulkan pvr è stato aggiunto il supporto per GPU Imagination PowerVR BXM-4-64.
- Per le GPU Intel Xe2 e Xe3 è stato attivato per default il compilatore di shader Intel Jay.
- È stata stabilizzata e attivata per default la supporto per il sottosistema grafico dei chip Intel Nova Lake.
- Nel driver NVK (NVIDIA) è stato aggiunto il supporto per le estensioni Vulkan per accelerare l'elaborazione video.
- Per le GPU Intel è stata inclusa la compressione dei buffer, consentendo di migliorare le prestazioni nei giochi avviandoli con DXVK.
- Aggiunta la supporto GPU AMD GFX1171 basata sull'architettura micro RDNA 4m.
- Aggiunta la supporto per le estensioni Vulkan:
- VK_AMD_anti_lag per RADV;
- VK_IMG_filter_linear_2d per pvr;
- VK_KHR_maintenance7 per pvr;
- VK_KHR_maintenance4 per panvk/v6-7;
- VK_KHR_maintenance5 per panvk/v6-7;
- VK_KHR_maintenance7 per panvk/v6-7;
- VK_KHR_maintenance8 per panvk/v6-7;
- VK_KHR_shader_float_controls2 per panvk/v6-7;
- VK_KHR_shader_subgroup_extended_types per panvk/v6-7;
- VK_EXT_subgroup_size_control per panvk/v6-7;
- VK_ARM_shader_core_builtins per panvk/v6-7;
- VK_ARM_shader_core_properties per panvk/v6-7;
- VK_ARM_scheduling_controls per panvk/v6-7;
- VK_KHR_synchronization2 per pvr;
- VK_KHR_copy_memory_indirect per panvk;
- VK_KHR_maintenance6 per panvk/v6-7;
- VK_KHR_spirv_1_4 per panvk/v6-7;
- VK_EXT_device_memory_report per v3dv;
- VK_KHR_video_encode_feedback2 per RADV;
- VK_EXT_global_priority per pvr;
- VK_EXT_global_priority_query per pvr;
- VK_KHR_global_priority per pvr;
- VK_KHR_cooperative_matrix per panvk;
- VK_EXT_inline_uniform_block per pvr;
- VK_KHR_shader_fma per pvr;
- VK_EXT_cooperative_matrix_maintenance1 per radv, lavapipe;
- VK_KHR_device_address_commands per nvk;
- VK_KHR_shader_constant_data per panvk;
- VK_KHR_shader_float_controls2 per pvr;
- VK_KHR_performance_query per GFX12;
- VK_EXT_primitive_topology_list_restart per pvr;
- VK_KHR_incremental_present per panvk;
- VK_EXT_swapchain_colorspace per panvk;
- VK_KHR_push_descriptor per pvr;
- VK_EXT_image_sliced_view_of_3d per pvr;
- VK_EXT_image_compression_control per panvk;
- VK_KHR_shader_untyped_pointers per HK;
- VK_KHR_maintenance10 per HK;
- VK_KHR_shader_fma per HK;
- VK_EXT_primitive_restart_index per HK;
- VK_QCOM_rotated_copy_commands per Turnip;
- VK_KHR_maintenance10 per panvk;
- VK_KHR_map_memory2 per v3dv;
- VK_KHR_unified_image_layouts per v3dv;
- VK_INTEL_shader_integer_functions2 per panvk;
- VK_KHR_internally_synchronized_queues per NVK;
- VK_KHR_maintenance11 per NVK;
- VK_EXT_primitive_restart_index per NVK;
- VK_KHR_maintenance11 per NVK;
- VK_EXT_transform_feedback per pvr.
- Nel driver OpenGL radeonsi è stata aggiunta la supporto per l'estensione EGL EGL_NV_context_priority_realtime.
- Nel driver panfrost per GPU Vivante della serie HALTI5 è stata aggiunta la supporto per le estensioni OpenGL:
- 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.
- Aggiunta la supporto per le estensioni OpenCL:
- cl_ext_float_atomics per iris, llvmpipe e zink;
- cl_khr_semaphore per iris;
- cl_khr_external_semaphore per iris;
- cl_khr_external_semaphore_sync_fd per iris.
Fonte: opennet.ru
