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

Після двох місяців розробки опубліковано реліз вільної реалізації API OpenGL та Vulkan - Mesa 22.1.0. Перший випуск гілки Mesa 22.1.0 має експериментальний статус – після проведення остаточної стабілізації коду буде випущено стабільну версію 22.1.1.

У Mesa 22.1 доступна підтримка графічного API Vulkan 1.3 у драйверах anv для GPU Intel, radv для GPU AMD та програмному розтеризаторі lavapipe. Підтримка Vulkan 1.2 реалізована в режимі емулятора (vn), Vulkan 1.1 – у драйвері для GPU Qualcomm (tu). а Vulkan 1.0 у драйвері для GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa також забезпечується повна підтримка OpenGL 4.6 для драйверів 965, iris (Intel), radeonsi (AMD), zink і llvmpipe. Підтримка OpenGL 4.5 доступна для GPU AMD (r600) та NVIDIA (nvc0), а OpenGL 4.3 для virgl (віртуальний GPU Virgil3D для QEMU/KVM) та vmwgfx (VMware).

Основні нововведення:

  • У Vulkan-драйвері ANV (Intel) та OpenGL-драйвері Iris реалізована підтримка дискретних відеокарт Intel DG2 (Arc Alchemist) та Arctic Sound-M.
  • У драйвері D3D12 з прошарком для роботи OpenGL поверх API DirectX 12 (D3D12) забезпечена сумісність з OpenGL 4.2. Драйвер застосовується у прошарку WSL2 для запуску графічних програм Linux у Windows.
  • У драйвері lavapipe з реалізацією програмного розтеризатора для API Vulkan (аналог llvmpipe, але для Vulkan, що виконує трансляцію викликів API Vulkan API Gallium) реалізована підтримка Vulkan 1.3.
  • Додана підтримка GPU AMD GFX1036 та GFX1037.
  • У драйвері RADV (AMD) реалізовано можливість відсіювання примітивів при трасуванні променів (ray primitive culling), що покращило підтримку трасування променів для ігор, таких як DOOM Eternal.
  • Запропоновано початкову реалізацію драйвера Vulkan для GPU на базі архітектури PowerVR Rogue, що розвивається компанією Imagination.
  • Драйвер Nouveau для старих GPU GeForce 6/7/8 переведений на використання безтипового проміжного подання (IR) шейдерів NIR. Підтримка NIR також дозволяє отримати підтримку проміжного подання TGSI (Tungsten Graphics Shader Infrastructure) через залучення шару для трансляції NIR TGSI.
  • До складу включено компактний компілятор OpenCL, запропонований компанією Intel і використовуваний при трасуванні променів.
  • В OpenGL-драйвері v3d, що розвивається для графічного прискорювача VideoCore VI, який застосовується починаючи з моделі Raspberry Pi 4, реалізована підтримка кешування шейдерів на диску.
  • Для GPU AMD, оснащеним двигуном обробки відео VCN 2.0, реалізована підтримка EFC (Encoder Format Conversion), що дозволяє використовувати апаратний кодувальник відео для прямого читання RGB-поверхень без перетворень RGB->YUV, що виконуються шейдерами.
  • У драйвері Crocus, що розвивається для старих GPU Intel на базі мікроархітектур Gen4-Gen7, що не підтримуються драйвером Iris, включений профіль сумісності зі старими версіями OpenGL.
  • У драйвері PanVk, що надає підтримку графічного API Vulkan для GPU ARM Mali Midgard та Bifrost, розпочалася робота з підтримки обчислювальних шейдерів.
  • У драйвер Venus з реалізацією віртуального GPU (virtio-gpu) на базі API Vulkan додана підтримка прошарку ANGLE, що відповідає за трансляцію викликів OpenGL ES OpenGL, Direct3D 9/11, Desktop GL і Vulkan.
  • Додано підтримку запропонованого компанією NVIDIA OpenGL-розширення GL_NV_pack_subimage, призначеного для оновлення прямокутників у пам'яті хоста з використанням даних із фреймбуфера або текстури.
  • До Vulkan-драйверів RADV (AMD), ANV (Intel) і lavapipe додано підтримку розширень:
    • VK_EXT_depth_clip_control для lavapipe та RADV.
    • VK_EXT_graphics_pipeline_library для lavapipe.
    • VK_EXT_primitives_generated_query для lavapipe.
    • VK_EXT_image_2d_view_of_3d для ANV та lavapipe.
    • VK_KHR_swapchain_mutable_format для lavapipe.

Джерело: opennet.ru

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