В Mesa 26.2 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, HoneyKrisp (hk) для GPU Apple, kk (KosmicKrisp, Vulkan поверх Metal), Turnip для GPU Qualcomm, PanVK для GPU ARM Mali, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0, а драйвере pvr (GPU Imagination PowerVR) — Vulkan 1.2.
В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7.5), AMD (r600), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50). В драйверах panfrost (GPU ARM Mali) и v3d (GPU Broadcom VideoCore) поддерживается OpenGL 3.1.
Основные новшества:
- По умолчанию при сборке задействован собственный форк библиотеки libclc, в котором обеспечено прохождение тестов OpenCL CTS при использовании OpenCL-драйвера rusticl и будут исправляться ошибки после окончания официальной поддержки текущей ветки библиотеки.
- Добавлена утилита Gamma для инспектирования структуры дерева группировки объектов и диспетчеризации трассировки лучей. В настоящее время поддерживается только работа с драйвером RADV.
- В драйвере NVK, реализующем API Vulkan для GPU NVIDIA, реализована поддержка mesh-шейдеров, предоставляющих альтернативный способ генерации коллекций геометрических примитивов.
- В драйвере KosmicKrisp (kk), реализующем Vulkan поверх API Metal, обеспечена поддержка Vulkan 1.4.
- В драйвере rusticl обеспечена поддержка OpenCL 3.1 при работе поверх драйверов asahi, iris, radeonsi, llvmpipe и zink.
- В драйверы Panfrost и PanVK добавлена поддержка GPU ARM Mali
G1-Ultra, G1-Premium и G1-Pro. - Добавлена поддержка Vulkan-расширений:
- VK_EXT_shader_uniform_buffer_unsized_array для panvk
- VK_KHR_shader_constant_data для RADV
- VK_EXT_dynamic_rendering_unused_attachments для panvk
- VK_KHR_performance_query для RADV/GFX11
- VK_EXT_conservative_rasterization для panvk
- VK_EXT_pipeline_protected_access для RADV
- VK_EXT_extended_dynamic_state3 для panvk
- VK_KHR_maintenance11 для RADV
- VK_KHR_workgroup_memory_explicit_layout для pvr
- VK_KHR_maintenance5 для pvr
- VK_KHR_calibrated_timestamps для hasvk
- VK_KHR_present_id для pvr
- VK_KHR_present_wait для pvr
- VK_KHR_present_id2 для hasvk
- VK_KHR_present_wait2 для hasvk
- VK_KHR_shader_fma для RADV
- VK_EXT_shader_split_barrier для RADV/GFX12
- VK_KHR_shader_fma для nvk
- VK_EXT_shader_atomic_float для nvk
- VK_{KHR,EXT}_index_type_uint8 для pvr
- VK_EXT_debug_marker для vulkan runtime
- VK_EXT_mesh_shader для NVK
- VK_KHR_device_fault для RADV
- VK_EXT_present_timing для also on x11
- VK_EXT_present_timing для hasvk
- VK_GOOGLE_display_timing для anv, hasvk, hk, nvk, panvk, pvr, radv,
- VK_KHR_shader_abort для RADV
- VK_KHR_shader_fma для panvk
- VK_NV_shader_atomic_float16_vector для NVK
- VK_KHR_compute_shader_derivatives для panvk
- VK_EXT_shader_subgroup_ballot для pvr
- VK_EXT_shader_subgroup_vote для pvr
- VK_KHR_shader_subgroup_rotate для pvr
- VK_KHR_shader_subgroup_uniform_control_flow для pvr
- VK_EXT_subgroup_size_control для pvr
- VK_EXT_rasterization_order_attachment_access
- VK_ARM_rasterization_order_attachment_access для panvk
- VK_NVX_binary_import для NVK
- VK_EXT_image_sliced_view_of_3d для panvk
- VK_EXT_shader_tile_image для panvk
- VK_KHR_internally_synchronized_queues для panvk
- VK_KHR_workgroup_memory_explicit_layout для panvk
- VK_EXT_device_memory_report для pvr
- VK_EXT_descriptor_heap для anv, RADV
- VK_EXT_device_address_binding_report для panvk
- VK_EXT_multisampled_render_to_single_sampled для RADV/Android
- VK_KHR_shader_fma для anv
- VK_KHR_extended_flags для RADV
- VK_EXT_display_surface_counter для pvr
- VK_EXT_display_control для pvr
- VK_EXT_direct_mode_display для pvr
- VK_KHR_surface_maintenance1 для pvr
- VK_EXT_surface_maintenance1 для pvr
- VK_KHR_swapchain_maintenance1 для pvr
- VK_EXT_swapchain_maintenance1 для pvr
- VK_EXT_swapchain_colorspace для pvr
- VK_EXT_acquire_drm_display для pvr
- VK_KHR_unified_image_layouts для pvr
- VK_KHR_shader_quad_control для v3dv
- VK_KHR_shader_subgroup_rotate для v3dv
- VK_KHR_shader_maximal_reconvergence для v3dv
- VK_EXT_shader_image_atomic_int64 для panvk
- VK_EXT_host_image_copy для RADV/GFX10.3+
- В драйвер panfrost добавлена поддержка OpenGL-расширения GL_ARB_texture_query_lod.
- В драйверах iris и radeonsi реализовано OpenCL-расширение cl_khr_subgroup_rotate.
Источник: http://www.opennet.ru/opennews/art.shtml?num=66033
