Despois de catro meses de desenvolvemento, publicouse o lanzamento dunha implementación gratuíta das API OpenGL e Vulkan - Mesa 22.2.0. A primeira versión da rama Mesa 22.2.0 ten un estado experimental: despois da estabilización final do código, lanzarase unha versión estable 22.2.1.
En Mesa 22.2, o soporte para a API de gráficos Vulkan 1.3 está dispoñible nos controladores anv para GPU Intel, radv para GPU AMD e tu para GPU Qualcomm. A compatibilidade con Vulkan 1.2 está implementada no modo emulador (vn), Vulkan 1.1 no rasterizador de software lavapipe (lvp) e Vulkan 1.0 no controlador v3dv (GPU Broadcom VideoCore VI de Raspberry Pi 4). Mesa tamén ofrece compatibilidade completa con OpenGL 4.6 para os controladores 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. A compatibilidade con OpenGL 4.5 está dispoñible para as GPU AMD (r600) e NVIDIA (nvc0), e con OpenGL 4.3 para virgl (GPU virtual Virgil3D para QEMU/KVM) e vmwgfx (VMware).
Principais novidades:
- O controlador de GPU Qualcomm (tu) ofrece soporte para a API de gráficos Vulkan 1.3.
- O controlador Panfrost engadiu soporte para as GPU Mali baseadas na microarquitectura Valhall (Mali-G57). O controlador é compatible coa especificación OpenGL ES 3.1.
- Continuou a implementación do controlador Vulkan para GPU baseado na arquitectura PowerVR Rogue, desenvolvida por Imagination.
- O controlador ANV Vulkan (Intel) e o controlador Iris OpenGL melloraron a compatibilidade con tarxetas gráficas discretas Intel DG2-G12 (Arc Alchemist). O controlador Vulkan aumentou significativamente (unhas 100 veces) o rendemento do código de trazado de raios.
- O controlador R600g para as GPU AMD da serie Radeon HD 2000 a HD 6000 converteuse para utilizar unha representación intermedia (IR) sen tipo de sombreadores NIR. A compatibilidade con NIR tamén permítelle obter soporte para a representación intermedia TGSI (Tungsten Graphics Shader Infrastructure) mediante o uso dunha capa para traducir NIR a TGSI.
- Comezou a traballar no controlador Nouveau OpenGL para implementar soporte para a GPU RTX 30 "Ampere".
- O controlador Etnaviv para tarxetas Vivante agora admite a compilación de sombreadores asíncronos.
- Engadido soporte para extensións Vulkan:
- VK_EXT_robustness2 para o controlador de lavapipe.
- VK_EXT_image_2d_view_of_3d para RADV.
- VK_EXT_primitives_generated_query para RADV.
- VK_EXT_non_seamless_cube_map para RADV, ANV, lavapipe.
- VK_EXT_border_color_swizzle para lavapipe, ANV, grelo, RADV.
- VK_EXT_shader_module_identifier para RADV.
- VK_EXT_multisampled_render_to_single_sampled para lavapipe.
- VK_EXT_shader_subgroup_vote para lavapipe.
- VK_EXT_shader_subgroup_ballot para lavapipe
- VK_EXT_attachment_feedback_loop_layout para RADV.
- Engadido soporte para extensións OpenGL:
- WGL_ARB_create_context_robusteza.
- ARB_robust_buffer_access_behavior para d3d12.
- EGL_KHR_context_flush_control.
- GLX_ARB_context_flush_control
- GL_EXT_memory_object_win32 para zink e d3d12.
- GL_EXT_semaphore_win32 para zink e d3d12.
Fonte: opennet.ru