Релиз 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