Реліз Mesa 19.3.0, вільної реалізації OpenGL та Vulkan

представлений реліз вільної реалізації 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 та 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:
  • У Vulkan-драйвер RADV (для карт AMD) додані розширення:
  • У Vulkan-драйвер ANV (для карт Intel) додані розширення:

Додатково можна відзначити публікації компанією AMD документації з архітектури команд APU Vega 7nm на базі мікроархітектури GCN (Graphics Core Next).

Джерело: opennet.ru

Додати коментар або відгук