Издање Меса 19.3.0, бесплатна имплементација ОпенГЛ-а и Вулкана
Представио издавање бесплатне имплементације ОпенГЛ и Вулкан АПИ-ја - Меса КСНУМКС. Прво издање гране Меса 19.3.0 има експериментални статус - након коначне стабилизације кода, биће објављена стабилна верзија 19.3.1. У Меси 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) предложен новый бэкенд для компиляции шейдеров «АЦО«, который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Бэкенд нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и использует быстрые для перебора структуры данных, избегая структур на основе указателей. Промежуточное представление кода полностью основывается на SSA (Static Single Assignment) и позволяет выполнять распределение регистров, точно предварительно вычисляя регистр в зависимости от шейдера. ACO может быть активирован для GPU Vega 8, Vega 9, Vega 10 и Navi 10 через выставление переменной окружения «RADV_PERFTEST=aco»;
В кодовую базу включён Gallium3D-драйвер цинк, реализующий 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, что позволило добиться в данных драйверах полной поддержки ОпенГЛ КСНУМКС;
В драйвер 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;
У Галлиум3Д драјверу ЛЛВМпипе, који обезбеђује софтверско приказивање, појавио се поддержка вычислительных шейдеров;
Система кэширования шейдеров на диске оптимизовано для систем, включающих больше 4 ядер CPU;
Обеспечено применение системы сборки Meson для компиляции в Windows с использованием MSVC и MinGW. Использование для сборки scons объявлено устаревшим для систем, отличных от Windows;
Поред тога, може се приметити публикација компанией AMD документација по архитектуре команд APU «Vega» 7nm на базе микроархитектуры GCN (Graphics Core Next).