22.09.2020

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


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

Среди изменений:

  • В драйверы i965 и iris для GPU Intel добавлена поддержка ожидаемых в следующем году чипов на базе новой микроархитектуры Rocket Lake.
  • В бэкенд для компиляции шейдеров «ACO«, который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, для GPU GFX9+ добавлена поддержка типа shaderInt16, позволяющего использовать 16-разрядные целые числа в коде шейдеров. Для GPU AMD Navi (GFX10) обеспечено применение движков NGG (Next-Gen Geometry) при работе с вершинными и тесселяционными шейдерами.
  • В развиваемый для GPU Intel Vulkan-драйвер ANV добавлена оптимизация для чипов на базе микроархитектуры Icelake (Gen11), допускающая использование чистых цветов при текстурировании. При тестировании в Dota2 изменение позволило снизить число операций преобразования цветов на 95% и повысить производительность на 3.5%.
  • В Vulkan-драйвере ANV повышена эффективность использования кэша на системах с чипами Intel Ivybridge и Haswell. Использование тестов вычислительных функций Vulkan из набора Geekbench 5 показало прирост производительности на 330% на оборудовании Haswell GT3 (прирост за счёт того, что раньше кэш в некоторых условиях не использовался).
  • Добавлена прослойка для выбора активного устройства для API Vulkan в системах с несколькими GPU с поддержкой Vulkan, работающая по аналогии с DRI_PRIME для OpenGL. Для выбора активного драйвера и GPU предусмотрена переменная окружения MESA_VK_DEVICE_SELECT (если не установлена используется DRI_PRIME).
  • В драйвере Panfrost реализована экспериментальная поддержка OpenGL ES 3.0 и обеспечена поддержка 3D-рендеринга для GPU Bifrost (Mali G31). Подготовлена начальная реализация компилятора шейдеров, поддерживающего специфичный для GPU Bifrost набор внутренних инструкций.
  • В Vulkan-драйвер TURNIP, развиваемый для GPU Qualcomm Adreno, добавлена поддержка геометрических шейдеров и чипов Adreno 650.
  • В Gallium3D-драйвере LLVMpipe, обеспечивающем программную отрисовку, появилась поддержка тесселяционных шейдеров.
  • Драйверы для GPU Intel (i965, iris) добавлен режим «чёрной дыры» (OpenGL-расширение INTEL_blackhole_render), отключающий все операции рендеринга, передаваемые GPU, но сохраняющий обработку операций OpenGL.
  • Добавлена опция allow_draw_out_of_orde (включается через driconf) для включения оптимизаций для ускорения операций неупорядоченной отрисовки, характерных для САПР. При включении опции в тесте Viewperf11 Catia наблюдается ускорение в 7%.
  • Для GPU AMD Navi 12 и Navi 14 включена поддержка режима отображаемого DCC (Delta Сolor Сompression), обеспечивающего работу со сжатыми данными цветов при организации вывода на экран.
  • Для графических чипов Intel портирована ранее добавленная для чипов AMD поддержка векторизации NIR, бестипового промежуточного представления (IR) шейдеров, нацеленного на работу на самом нижнем уровне, под GLSL IR и внутренним IR Mesa. С практической стороны за счёт более качественной оптимизации шейдеров изменение позволило поднять производительность работы OpenGL и Vulkan во многих играх на системах с GPU Intel. Например, в игре Rise of the Tomb Raider отмечается прирост производительности на 3%, а в Shadow of the Tomb Raider на 10%.
  • Добавлена экспериментальная поддержка NIR для классического Gallium3D-драйвера R600 (AMD Radeon HD 2000-6000) с поддержкой геометрических, фрагментных, вершинных и тесселяционных шейдеров.
  • В Vulkan драйвер RADV добавлен патч для увеличения производительности игр Id Tech на системах с APU AMD за счёт оптимизации работы с памятью.
  • Добавлены новые расширения OpenGL:
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:

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

Добавить комментарий