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

Представлен релиз свободной реализации API OpenGL и Vulkan — Mesa 20.3.0. Первый выпуск ветки Mesa 20.3.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 20.3.1. В Mesa 20.2 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris) и AMD (radeonsi), поддержка OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) и llvmpipe, OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM), а также поддержка Vulkan 1.2 для карт Intel и AMD, и Vulkan 1.0 для VideoCore VI (Raspberry Pi 4).

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

  • В состав принят драйвер v3dv с поддержкой графического ускорителя VideoCore VI, применяемого в платах Raspberry Pi 4, Raspberry Pi 400 и Compute Module 4 на базе чипа Broadcom BCM2711. Драйвер признан организацией Kronos полностью совместимым со спецификацией Vulkan 1.0.
  • В драйвере llvmpipe, предназначенном для программной отрисовки OpenGL, обеспечена поддержка OpenGL 4.5.
  • В состав включён новый драйвер lavapipe с реализацией программного растеризатора для API Vulkan (аналог llvmpipe, но для Vulkan). Программная реализация основана на отражении вызовов API Vulkan в API Gallium.
  • Существенно увеличена производительность и расширена функциональность Gallium-драйвера Zink с реализацией API OpenGL поверх Vulkan (драйвер позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan). Производительность Zink теперь близка к производительности родных реализаций OpenGL и отстаёт от них лишь примерно на 5%. Обеспечена полноценная поддержка OpenGL 3.3.
  • В драйвере OpenGL и Vulkan драйверах для GPU Intel добавлена поддержка семейства процессоров Alder Lake (12 поколение).
  • Проведена оптимизация производительности графических операций на чипах Tiger Lake / Rocket Lake (в некоторых играх и тестах, таких как Unreal Engine 4 Vulkan Demo, отмечается ускорение на 9–12%).
  • Для GPU Intel Haswell в драйвере ANV добавлена поддержка Vulkan-расширения Transform Feedback, которое позволяет проекту DXVK использовать API Direct3D Stream Output, отвечающий за отображение многих поверхностей в играх.
  • В драйвере Iris для GPU Intel реализована поддержка ядер OpenCL (MESA_SHADER_KERNEL) для выноса вычислений на сторону GPU.
  • В бэкенд для компиляции шейдеров «ACO», который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, добавлена поддержка движков NGG (Next-Gen Geometry) при работе с геометрическими шейдерами. Возможность реализована в драйвере RADV (для карт AMD).
  • В driconf добавлены настройки glx_extension_override и indirect_gl_extension_override при помощи которых можно переопределить список доступных GLX-расширений.
  • В драйвер RadeonSI добавлена начальная поддержка графических карт AMD Dimgrey Cavefish (NAVI 23) и APU Van Gogh (RDNA2).
  • В драйверах Nouveau (NVIDIA NVC0) и Etnaviv (GPU Vivante) добавлена поддержка кэширования скомпилированных шейдеров на диске.
  • Добавлены новые расширения OpenGL:
    • GL_INTEL_blackhole_render для драйвера radeonsi
    • GL_NV_copy_depth_to_colorдля промежуточного представления шейдеров NIR
    • GL_NV_half_float
    • GL_NV_shader_atomic_int64 для radeonsi
    • GLX_EXT_swap_control для DRI2 и DRI3
    • GLX_EXT_swap_control_tear для DRI3
    • GL_MESA_pack_invert для r100 и vieux
    • GL_ANGLE_pack_reverse_row_order
    • EGL_KHR_swap_buffers_with_damage для X11 (DRI3)
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
    • VK_KHR_copy_commands2
    • VK_KHR_shader_terminate_invocation
    • VK_EXT_shader_image_atomic_int64
    • VK_PRESENT_MODE_FIFO_RELAXED для X11
    • VK_AMD_mixed_attachment_samples для GPU GFX6-GFX7.
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
    • VK_PRESENT_MODE_FIFO_RELAXED для X11
    • VK_KHR_shader_terminate_invocation



Источник: http://www.opennet.ru/opennews/art.shtml? num=54193

© OpenNet