Verëffentlechung vu Mesa 20.1.0, eng gratis Ëmsetzung vun OpenGL a Vulkan
Agefouert Verëffentlechung vun enger gratis Ëmsetzung vun der OpenGL a Vulkan API - Mesa 20.1.0. Déi éischt Verëffentlechung vun der Mesa 20.1.0 Branche huet en experimentelle Status - no der definitiver Stabiliséierung vum Code gëtt eng stabil Versioun 20.1.1 verëffentlecht. Am Mesa 20.1 ëmgesat полная поддержка 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.
Dobäigesat прослойка для выбора активного устройства для API Vulkan в системах с несколькими GPU с поддержкой Vulkan, работающая по аналогии с DRI_PRIME для OpenGL. Для выбора активного драйвера и GPU предусмотрена переменная окружения MESA_VK_DEVICE_SELECT (если не установлена используется DRI_PRIME).
В драйверы i965 и iris для GPU Intel добавлена поддержка ожидаемых в следующем году чипов на базе новой микроархитектуры Rakéit Lake.
В развиваемый для GPU Intel Vulkan-драйвер ANV dobäi оптимизация для чипов на базе микроархитектуры Icelake (Gen11), допускающая использование чистых цветов при текстурировании. При тестировании в Dota2 изменение позволило снизить число операций преобразования цветов на 95% и повысить производительность на 3.5%.
В Vulkan-драйвере ANV повышена эффективность использования кэша на системах с чипами Intel Ivybridge и Haswell. Использование тестов вычислительных функций Vulkan из набора Geekbench 5 показало прирост производительности на 330% на оборудовании Haswell GT3 (прирост за счёт того, что раньше кэш в некоторых условиях не использовался).
В драйверы для GPU Intel (i965, Iris) dobäigesat режим «чёрной дыры» (OpenGL-расширение INTEL_blackhole_render), отключающий все операции рендеринга, передаваемые GPU, но сохраняющий обработку операций OpenGL.
Для графических чипов Intel портирована ранее добавленная для чипов AMD поддержка векторизации NIR, бестипового промежуточного представления (IR) шейдеров, нацеленного на работу на самом нижнем уровне, под GLSL IR и внутренним IR Mesa. С практической стороны за счёт более качественной оптимизации шейдеров изменение позволило поднять производительность работы OpenGL и Vulkan во многих играх на системах с GPU Intel. Например, в игре
Rise vun der Graf Raider gëtt gefeiert прирост производительности на 3%, а в Shadow of the Tomb Raider на 10%.
В бэкенд для компиляции шейдеров «Aco«, который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, для GPU GFX9+ добавлена поддержка типа shaderInt16, позволяющего использовать 16-разрядные целые числа в коде шейдеров. Для
GPU AMD Navi (GFX10) geséchert применение движков NGG (Next-Gen Geometry) при работе с вершинными и тесселяционными шейдерами.
Для GPU AMD Navi 12 и Navi 14 abegraff поддержка режима отображаемого DCC (Delta Сolor Сompression), обеспечивающего работу со сжатыми данными цветов при организации вывода на экран.
Dobäigesat экспериментальная поддержка NIR для классического Gallium3D-драйвера R600 (AMD Radeon HD 2000-6000) с поддержкой геометрических, фрагментных, вершинных и тесселяционных shaders.
В Vulkan драйвер RADV dobäigesat патч за счёт оптимизации работы с памятью увеличивающий производительность игр Id Tech на системах с APU AMD.
В драйвере Panfrost ëmgesat экспериментальная поддержка OpenGL ES 3.0 и virgesinn поддержка 3D-рендеринга для GPU Bifrost (Mali G31). Подготовлена начальная реализация компилятора шейдеров, поддерживающего специфичный для GPU Bifrost набор внутренних инструкций.
В Vulkan-драйвер TURNIP, развиваемый для GPU Qualcomm Adreno, dobäi поддержка геометрических шейдеров и чипов Adreno 650.
Am Gallium3D Treiber LLVMpipe, deen Software Rendering ubitt, erschéngt поддержка тесселяционных шейдеров.
Внесена grouss ass Deeloptimizations в glthread (многопоточная реализация OpenGL). После внесения изменений производительность гоночного симулятора Torcs выросла на 16% в конфигурации по умолчанию и на 40% при включении glthread.
Dobäigesat опция allow_draw_out_of_order (включается через driconf) для включения оптимизаций для ускорения операций неупорядоченной отрисовки, характерных для САПР. При включении опции в тесте Viewperf11 Catia наблюдается ускорение в 7%.