Дата публикации:Thu, 07 May 2026 22:54:24 +0300
После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 26.1.0. Первый выпуск ветки Mesa 26.1.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 26.1.1.
В Mesa 26.1 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, HoneyKrisp (hk) для GPU Apple, Turnip для GPU Qualcomm, PanVK для GPU ARM Mali, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0, в драйвере kk (KosmicKrisp, Vulkan поверх Metal) - Vulkan 1.1, а драйвере pvr (GPU Imagination PowerVR) - Vulkan 1.2.
В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7), 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.
Основные новшества:
- В драйверы для GPU Intel (Iris, Crocus и ANV) добавлена возможность напрямую работать с GPU из виртуальных машин, используя нативные контексты (native context) в VirtIO-GPU. Нативные контексты позволяют повысить производительность работы с виртуальным GPU (virtio-gpu-gl) из гостевой системы за счёт прямой передачи команд в реальный хостовый GPU. Для GPU PowerVR добавлена поддержка OpenGL ES 2.0, реализованная через драйвер Zink, позволяющий получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan. Для OpenCL-драйвера rusticl теперь требуется статически собранная библиотека C++ stdlib для корректной работы с приложениями, использующими собственные C++ stdlib. В драйвер radeonsi (AMD) добавлена поддержка OpenGL-расширения GL_NV_timeline_semaphore. В драйвер panfrost (ARM Mali) добавлена поддержка OpenGL-расширения GL_EXT_shader_image_load_store. В драйвер v3d (Broadcom VideoCore) добавлена поддержка OpenGL-расширения GL_ARB_sample_shading. Добавлена поддержка Vulkan-расширений: VK_ARM_scheduling_controls для panvk VK_EXT_acquire_drm_display для panvk VK_EXT_astc_decode_mode для panvk VK_EXT_attachment_feedback_loop_dynamic_state для panvk VK_EXT_attachment_feedback_loop_layout для panvk VK_EXT_blend_operation_advanced для lavapipe VK_EXT_color_write_enable для panvk VK_EXT_conditional_rendering для panvk VK_EXT_depth_clamp_control для panvk VK_EXT_descriptor_heap для RADV (при выставлении 'export RADV_EXPERIMENTAL=heap') VK_EXT_hdr_metadata для v3dv VK_EXT_image_drm_format_modifier для pvr VK_EXT_image_view_min_lod для panvk VK_EXT_legacy_dithering для panvk VK_EXT_map_memory_placed для panvk VK_EXT_nested_command_buffer для panvk VK_EXT_non_seamless_cube_map для pvr VK_EXT_present_timing для RADV, NVK, Turnip, ANV, Honeykrisp, panvk VK_EXT_primitive_restart_index для RADV VK_EXT_rgba10x6_formats для panvk VK_EXT_shader_atomic_float для panvk VK_EXT_shader_stencil_export для panvk VK_EXT_zero_initialize_device_memory для panvk VK_KHR_copy_memory_indirect для nvk, RADV/GFX8+ VK_KHR_device_address_commands для RADV VK_{KHR,EXT}_{surface,swapchain}_maintenance1 для panvk VK_KHR_get_display_properties2 для panvk VK_KHR_get_surface_capabilities2 для panvk VK_KHR_internally_synchronized_queues для RADV VK_KHR_maintenance4 для pvr VK_KHR_pipeline_executable_properties для pvr VK_KHR_present_id для panvk, v3dv VK_KHR_present_wait для panvk, v3dv VK_KHR_sampler_ycbcr_conversion для pvr VK_KHR_shader_integer_dot_product для pvr VK_KHR_shader_untyped_pointers для panvk VK_KHR_swapchain_mutable_format для panvk VK_QCOM_image_processing для Turnip VK_VALVE_mutable_descriptor_type для panvk VK_VALVE_shader_mixed_float_dot_product для RADV (Vega20, Navi14, RDNA2+)
- cl_khr_subgroup_ballot для asahi, iris, llvmpipe, radeonsi и zink cl_khr_subgroup_clustered_reduce для asahi, llvmpipe, radeonsi и zink cl_khr_subgroup_extended_types для asahi, iris, llvmpipe, radeonsi и zink cl_khr_subgroup_non_uniform_arithmetic для asahi, llvmpipe, radeonsi и zink cl_khr_subgroup_non_uniform_vote для asahi, iris, llvmpipe, radeonsi и zink cl_khr_subgroup_rotate для asahi, llvmpipe и zink
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65390