Mesa 20.3.0

Mesa ориентирована на обеспечение высокой производительности при работе с 3D-графикой, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого графическими процессорами. 

В Mesa 20.3 реализована полная поддержка 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.
  • В трекер состояний Clover c реализацией OpenCL добавлена поддержка спецификации OpenCL 1.2.
  • В бэкенд для компиляции шейдеров "ACO", который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, добавлена поддержка движков NGG (Next-Gen Geometry) при работе с геометрическими шейдерами. Возможность реализована в драйвере RADV (для карт AMD).
  • В driconf добавлены настройки glx_extension_override и indirect_gl_extension_override при помощи которых можно переопределить список доступных GLX-расширений.
  • Добавлен слой для трансляции промежуточного представления (IR) шейдеров NIR в промежуточное представление TGSI (Tungsten Graphics Shader Infrastructure). Применение указанного слоя позволяет добавить поддержку TGSI в драйверы, уже поддерживающие NIR.
  • В драйвер RadeonSI добавлена начальная поддержка графических карт AMD Dimgrey Cavefish (NAVI 23) и APU Van Gogh (RDNA2).
  • В драйверах Nouveau (NVIDIA NVC0) и Etnaviv (GPU Vivante) появилась поддержка кэширования скомпилированных шейдеров на диске.
  • Добавлены новые расширения OpenGL:
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:

Помимо 3D-приложений, таких как, например, игры, современные менеджеры окон (X.org/Glamor или Wayland/Weston) тоже используют Vulkan/OpenGL/EGL, реализацию которых предоставляет Mesa.

 

Последние материалы