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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз Mesa 19.3.0, свободной реализации OpenGL и Vulkan», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.