Релиз Mesa 19.3.0, свободной реализации OpenGL и Vulkan
13 декабря 2019 года
Представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 19.3.0. Первый выпуск ветки Mesa 19.3.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 19.3.1. В Mesa 19.3 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris), поддержка OpenGL 4.5 для GPU AMD (r600, radeonsi) и NVIDIA (nvc0), а также поддержка Vulkan 1.1 для карт Intel и AMD. Вчера изменения для поддержки OpenGL 4.6 также добавлены в драйвер radeonsi, но в ветку Mesa 19.3 они не вошли.
Среди изменений(недоступная ссылка):
- Для RADV (Vulkan-драйвер для чипов AMD) предложен новый бэкенд для компиляции шейдеров " ACO", который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Бэкенд нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и использует быстрые для перебора структуры данных, избегая структур на основе указателей. Промежуточное представление кода полностью основывается на SSA (Static Single Assignment) и позволяет выполнять распределение регистров, точно предварительно вычисляя регистр в зависимости от шейдера. ACO может быть активирован для GPU Vega 8, Vega 9, Vega 10, Vega 20 и Navi 10 через выставление переменной окружения "RADV_PERFTEST=aco";
- В кодовую базу включён Gallium3D-драйвер Zink, реализующий API OpenGL поверх Vulkan. Zink позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan;
- В Vulkan-драйвере ANV и OpenGL-драйвере iris реализована начальная поддержка 12 поколения чипов Intel (Tiger Lake, gen12). В ядро Linux, компоненты для поддержки Tiger Lake, включены начиная с выпуска 5.4;
- В драйверах i965 и iris обеспечена поддержка промежуточного представления шейдеров SPIR-V, что позволило добиться в данных драйверах полной поддержки OpenGL 4.6;
- В драйвер RadeonSI добавлена поддержка GPU AMD Navi 14 и улучшены средства ускорения декодирования видео, например, добавлена поддержка декодирования видео с разрешением 8K в форматах H.265 и VP9;
- В Vulkan-драйвер RADV добавлена поддержка режима защищённой компиляции, в котором запускаемые для компиляции шейдеров потоки изолируются при помощи механизма seccomp. Режим включается при помощи переменной окружения RADV_SECURE_COMPILE_THREADS;
- В драйверах для чипов AMD задействован появившийся в модуле ядра AMDGPU программный интерфейс для сброса GPU;
- Проведена работа по повышению производительности на системах с APU AMD Radeon. Также повышена производительность Gallium3D-драйвера Iris для GPU Intel;
- В Gallium3D-драйвере LLVMpipe, обеспечивающем программную отрисовку, появилась поддержка вычислительных шейдеров;
- Система кэширования шейдеров на диске оптимизирована для систем, включающих больше 4 ядер CPU;
- Обеспечено применение системы сборки Meson для компиляции в Windows с использованием MSVC и MinGW. Использование для сборки scons объявлено устаревшим для систем, отличных от Windows;
- Реализовано EGL-расширение EGL_EXT_image_flush_external;
- Добавлены новые расширения OpenGL:
- GL_ARB_gl_spirv для драйверов i965 и iris;
- GL_ARB_spirv_для драйверов i965 и iris;
- GL_EXT_demote_to_helper_invocation для драйверов i965 и iris;
- В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
- VK_ANDROID_external_memory_android_hardware_buffer
- VK_EXT_shader_demote_to_helper_invocation
- VK_KHR_shader_clock
- VK_KHR_shader_float_controls
- VK_KHR_spirv_1_4
- VK_KHR_timeline_semaphore
- VK_EXT_texel_buffer_alignment
- В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
- VK_INTEL_performance_query
- VK_KHR_vulkan_memory_model
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_spirv_1_4
- VK_KHR_shader_clock
- VK_KHR_shader_float_controls
Дополнительно можно отметить публикацию компанией AMD документации по архитектуре команд APU "Vega" 7nm на базе микроархитектуры GCN (Graphics Core Next).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.