Релиз Mesa 25.0, свободной реализации OpenGL и Vulkan

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3807
Зарегистрирован: 20.08.2022

#

Релиз Mesa 25.0, свободной реализации OpenGL и Vulkan
Дата публикации:Wed, 19 Feb 2025 21:57:34 +0300




После трёх месяцев разработки опубликован релиз свободной реализации API OpenGL и Vulkan - Mesa 25.0.0. Первый выпуск ветки Mesa 25.0.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 25.0.1.



В Mesa 25.0 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, Asahi для GPU Apple,
Turnip для GPU Qualcomm и в программном растеризаторе lavapipe (lvp).
В режиме эмулятора (vn) поддерживается API Vulkan 1.3, в драйвере PanVK для GPU ARM Mali - Vulkan 1.1, а в драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) - Vulkan 1.0.




В 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).




Основные новшества:


В Vulkan-драйверах ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) и Turnip (Qualcomm), а также программном растеризаторе lavapipe (lvp) заявлена поддержка API Vulkan 1.4 (ранее поддерживалась версия Vulkan 1.3).


В Vulkan-драйвере RADV добавлена начальная поддержка GPU AMD RDNA4 (GFX12, серия AMD Radeon RX 9000).


Драйвер RadeonSI переведён на использование бэкенда компиляции шейдеров ACO, созданный компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Бэкенд ACO нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и использует быстрые для перебора структуры данных, избегая структур на основе указателей.



Добавлен драйвер amdgpu_virtio, позволяющий гостевой системе использовать OpenGL- и Vulkan-драйверы radeonsi, radeonsi_drv_video и radv, предоставляемые хост-окружением. Доступ осуществляется через VirtIO, что обеспечивает высокую производительность 3D-ускорения в виртуальной машине. Заявлено, что производительность amdgpu_virtio выше, чем при использовании драйверов virgl и venus, ранее разработанных для доступа к Vulkan и OpenGL из гостевых систем.


Расширены возможности OpenGL-драйвера Panfrost для GPU ARM Mali.
  • Включён по умолчанию механизм "transaction elimination", отбрасывающий избыточные операции (например, отбрасываются операции перезаписи фрагментов, не изменившимися с прошлой отрисовки).
    Добавлена поддержка инкрементальной отрисовки, позволяющая снизить потребление памяти при рендеринге большого числа объектов за счёт раздельной обработки фрагментов (tile).
    Добавлена поддержка режима AFBC 32x8, применяемого для оптимизации работы с буфером вывода (scan-out buffer) в некоторых дисплейных контроллерах.
    Максимально поддерживаемая ширина и высота текстур увеличена с 8192 до 32768 пикселей.
    Добавлена поддержка режима текстурирования MTK_FMT_MOD_TILE_16L32S, при котором фрагментированные данные копируются во временный нефрагментированный буфер перед отрисовкой (используется для работы с аппаратными декодировщиками видео, присутствующими в SoC MediaTek).
В драйвер ANV (Intel) добавлена поддержка Vulkan-расширений для декодирования видео в формате AV1.

В Vulkan-драйвере PanVK для GPU ARM Mali на базе архитектуры V10, таких как Mali-G610 и Mali-G310, реализована поддержка API Vulkan 1.1 (ранее поддерживалась версия Vulkan 1.0). PanVK включён в список драйверов, доступных для использования в Mesa по умолчанию (ранее PanVK не отображался в списке драйверов и для его использования нужно было выставлять переменную окружения). На системах ARM сборка PanVK включена по умолчанию.



В драйвере PanVK реализованы Vulkan-расширения:
    • VK_KHR_8bit_storage
      [/url]
      [/url]
    • VK_KHR_dedicated_allocation
      [/url]
    • VK_KHR_global_priority
      [/url] 
      [/url]
    • VK_KHR_index_type_uint8
      [/url]
    • [url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_KHR_map_memory2.html]VK_KHR_map_memory2[/url]
       
    • VK_KHR_multiview
      [/url]
    • VK_KHR_shader_draw_parameters
      [/url]
      [/url]
    • VK_KHR_shader_float16_int8
      [/url]
      [/url]
    • VK_KHR_shader_non_semantic_info
      [/url]
      [/url]
    • VK_KHR_shader_relaxed_extended_instruction
      [/url]
    • VK_KHR_shader_subgroup_rotate
      [/url]
      [/url]
    • VK_KHR_vertex_attribute_divisor
      [/url]
    • VK_EXT_4444_formats
      [/url]
    • VK_EXT_global_priority_query
      [/url]
    • [url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_global_priority.html]VK_EXT_global_priority[/url]
       
    • VK_EXT_host_query_reset
      [/url]
      [/url]
    • VK_EXT_image_robustness
      [/url] 
    • [url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_pipeline_robustness.html]VK_EXT_pipeline_robustness[/url]
    • [url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_provoking_vertex.html]VK_EXT_provoking_vertex[/url]
       
    • VK_EXT_queue_family_foreign
      [/url]
      [/url]
    • VK_EXT_sampler_filter_minmax
      [/url]
      [/url]
    • VK_EXT_scalar_block_layout
      [/url]
    • [url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_subgroup_size_control.html]VK_EXT_su[/url]
      bgroup_size_control
      [/url]
    • VK_EXT_tooling_info
      VK_EXT_subgroup_size_control
      [/url]
В драйвер RADV (AMD) добавлена поддержка Vulkan-расширений
VK_KHR_maintenance8 и VK_KHR_depth_clamp_zero_one.


В драйвер rusticl добавлена поддержка OpenCL-расширения cl_khr_depth_images.



Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62752

Жизнь за Нер'зула!

Ответить