След четири месеца разработка беше публикувано изданието на безплатна реализация на API на OpenGL и Vulkan - Mesa 22.2.0. Първото издание на клона Mesa 22.2.0 има експериментален статус - след окончателното стабилизиране на кода ще бъде пусната стабилна версия 22.2.1.
В Mesa 22.2 поддръжката за графичния API Vulkan 1.3 е налична в драйверите anv за графични процесори Intel, radv за графични процесори AMD и tu за графични процесори Qualcomm. Поддръжката на Vulkan 1.2 е внедрена в режим на емулатор (vn), Vulkan 1.1 в софтуерния растеризатор lavapipe (lvp) и Vulkan 1.0 в драйвера v3dv (Broadcom VideoCore VI GPU от Raspberry Pi 4). Mesa също така предоставя пълна поддръжка на OpenGL 4.6 за драйверите 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддръжката на OpenGL 4.5 е налична за графични процесори AMD (r600) и NVIDIA (nvc0), а поддръжката на OpenGL 4.3 за virgl (виртуален графичен процесор Virgil3D за QEMU/KVM) и vmwgfx (VMware).
Основни иновации:
- Драйверът на Qualcomm GPU (tu) осигурява поддръжка за графичния API Vulkan 1.3.
- Драйверът Panfrost добави поддръжка за графични процесори Mali, базирани на микроархитектурата Valhall (Mali-G57). Драйверът е съвместим със спецификацията OpenGL ES 3.1.
- Внедряването на драйвера Vulkan за GPU, базиран на архитектурата PowerVR Rogue, разработен от Imagination, продължи.
- Драйверът ANV Vulkan (Intel) и драйверът Iris OpenGL имат подобрена поддръжка за дискретни графични карти Intel DG2-G12 (Arc Alchemist). Драйверът Vulkan е увеличил значително (около 100 пъти) производителността на кода за проследяване на лъчи.
- Драйверът R600g за GPU на AMD от серията Radeon HD 2000 до HD 6000 е преобразуван, за да използва безтипово междинно представяне (IR) на NIR шейдъри. Поддръжката на NIR също ви позволява да получите поддръжка за междинното представяне на TGSI (Tungsten Graphics Shader Infrastructure) чрез използването на слой за преобразуване на NIR в TGSI.
- Започна работа в драйвера Nouveau OpenGL за внедряване на поддръжка за GPU RTX 30 “Ampere”.
- Драйверът Etnaviv за карти Vivante вече поддържа асинхронна компилация на шейдъри.
- Добавена поддръжка за Vulkan разширения:
- VK_EXT_robustness2 за драйвера на lavapipe.
- VK_EXT_image_2d_view_of_3d за RADV.
- VK_EXT_primitives_generated_query за RADV.
- VK_EXT_non_seamless_cube_map за RADV, ANV, lavapipe.
- VK_EXT_border_color_swizzle за lavapipe, ANV, turnip, RADV.
- VK_EXT_shader_module_identifier за RADV.
- VK_EXT_multisampled_render_to_single_sampled за lavapipe.
- VK_EXT_shader_subgroup_vote за lavapipe.
- VK_EXT_shader_subgroup_ballot за lavapipe
- VK_EXT_attachment_feedback_loop_layout за RADV.
- Добавена е поддръжка за OpenGL разширения:
- WGL_ARB_create_context_robustness.
- ARB_robust_buffer_access_behavior за d3d12.
- EGL_KHR_context_flush_control.
- GLX_ARB_context_flush_control
- GL_EXT_memory_object_win32 за zink и d3d12.
- GL_EXT_semaphore_win32 за zink и d3d12.
Източник: opennet.ru
