Опубликован релиз свободной реализации API OpenGL и Vulkan – Mesa 24.1.0. Первый выпуск ветки Mesa 24.1.0 имеет экспериментальный статус – после проведения окончательной стабилизации кода будет выпущена стабильная версия 24.1.1.
В Mesa 24.0 доступна поддержка графического API Vulkan 1.3 в драйверах anv для GPU Intel, radv для GPU AMD, NVK для GPU NVIDIA, tu для GPU Qualcomm, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). Поддержка Vulkan 1.0 реализована в драйверах v3dv (GPU Broadcom VideoCore VI из Raspberry Pi 4) и dzn (реализация Vulkan поверх Direct3D 12).
В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU AMD (r600) и NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50).
- В драйвере asahi, развиваемом для GPU AGX, используемом в ARM-чипах Apple, обеспечена поддержка OpenGL 4.6 и OpenGL ES 3.2.
- Значительно улучшена работа драйвера NVK для GPU NVIDIA на базе микроархитектур Turing (серии GeForce GTX 16xx, RTX 20xx и Quadro RTX), Ampere (серии GeForce RTX 30xx и RTX A2000/4000/5000/6000) и Ada (серии GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada). Драйвер признан готовым к повседневному использованию широким кругом пользователей. Поддержка Vulkan 1.3 в NVK сертифицирована консорциумом Khronos. Улучшена работа поверх NVK прослойки DXVK, предоставляющей реализацию Direct3D 9, 10 и 11.
- Добавлено изменение, позволяющее задействовать драйвер Zink (реализация OpenGL поверх Vulkan) для обеспечения поддержки OpenGL 4.6 на системах с новыми сериями видеокарт NVIDIA (начиная с GeForce RTX 20xx), с которыми могут наблюдаться проблемы в штатном OpenGL-драйвере Nouveau (NVC0). Для включения Zink вместо NVC0 следует выставить переменную окружения “NOUVEAU_USE_ZINK=1”.
- В драйвере Panfrost добавлена поддержка GPU Mali G610, Mali G310 и
Mali T600. - Добавлена поддержка новых расширений Vulkan:
- VK_EXT_map_memory_placed для драйверов RADV, ANV и NVK
- VK_KHR_shader_subgroup_rotate для RADV, ANV и NVK
- VK_KHR_load_store_op_none для RADV, ANV, NVK и Turnip
- VK_KHR_line_rasterization для RADV, ANV, NVK и Turnip
- VK_KHR_index_type_uint8 для RADV, ANV, NVK и Turnip
- VK_KHR_shader_expect_assume для всех Vulkan-драйверов
- VK_KHR_shader_maximal_reconvergence для RADV, ANV и NVK
- VK_KHR_shader_quad_control для RADV
- VK_KHR_shader_subgroup_uniform_control_flow для NVK
- VK_EXT_device_address_binding_report для RADV
- VK_EXT_external_memory_dma_buf для lavapipe
- VK_EXT_queue_family_foreign для lavapipe
- VK_EXT_shader_object для RADV
- VK_EXT_nested_command_buffer для NVK и RADV
- VK_EXT_queue_family_foreign для NVK
- VK_EXT_image_drm_format_modifier для NVK