Lanzamiento de Mesa 21.3, una implementación gratuita de OpenGL y Vulkan

Después de cuatro meses de desarrollo, se publicó el lanzamiento de una implementación gratuita de las API OpenGL y Vulkan: Mesa 21.3.0. La primera versión de la rama Mesa 21.3.0 tiene un estado experimental: después de la estabilización final del código, se lanzará una versión estable 21.3.1.

Mesa 21.3 incluye soporte completo para OpenGL 4.6 para los controladores 965, iris (Intel), radeonsi (AMD), zink y llvmpipe. La compatibilidad con OpenGL 4.5 está disponible para las GPU AMD (r600) y NVIDIA (nvc0), y la compatibilidad con OpenGL 4.3 para virgl (GPU virtual Virgil3D para QEMU/KVM). La compatibilidad con Vulkan 1.2 está disponible para tarjetas Intel y AMD, así como en modo emulador (vn) y en el rasterizador del software lavapipe, la compatibilidad con Vulkan 1.1 está disponible para la GPU Qualcomm y el rasterizador del software lavapipe, y Vulkan 1.0 está disponible para Broadcom GPU VideoCore VI (Raspberry Pi 4).

Principales novedades:

  • El controlador Zink (una implementación de la API de OpenGL sobre Vulkan, que le permite obtener OpenGL acelerado por hardware si el sistema tiene controladores limitados a admitir solo la API de Vulkan) es compatible con OpenGL ES 3.2.
  • El controlador Panfrost, diseñado para funcionar con GPU basadas en las microarquitecturas Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) y Bifrost (Mali G3x, G5x, G7x), está certificado oficialmente para su compatibilidad con OpenGL ES 3.1.
  • El controlador v3dv, desarrollado para el acelerador de gráficos VideoCore VI, utilizado a partir del modelo Raspberry Pi 4, tiene soporte certificado para la API de gráficos Vulkan 1.1 y también soporte agregado para sombreadores de geometría. El rendimiento del código generado por el compilador de sombreadores se ha mejorado significativamente, lo que tiene un efecto positivo en la velocidad de los programas que utilizan sombreadores activamente, como los juegos basados ​​en Unreal Engine 4.
  • El controlador RADV Vulkan (AMD) ha agregado soporte experimental para trazado de rayos y sombreadores de trazado de rayos. Para las tarjetas GFX10.3, la compatibilidad con la selección primitiva mediante motores de sombreado NGG (Geometría de próxima generación) está habilitada de forma predeterminada.
  • El controlador Iris OpenGL (un nuevo controlador para GPU Intel) ha agregado la capacidad de compilación de sombreadores de subprocesos múltiples.
  • El controlador lavapipe, que implementa un rasterizador de software para la API de Vulkan (similar a llvmpipe, pero para Vulkan, que traduce las llamadas de la API de Vulkan a la API de Gallium) ha implementado soporte para el filtrado de texturas anisotrópicas y ha agregado soporte para Vulkan 1.2.
  • El controlador OpenGL llvmpipe, diseñado para renderizado de software, ha aumentado el rendimiento de 2 a 3 veces al realizar acciones relacionadas con operaciones 2D. Se agregó soporte para operaciones FP16, filtrado de texturas anisotrópicas (GL_ARB_texture_filter_anisotropic) y áreas de memoria ancladas (GL_AMD_pinned_memory). Se proporciona soporte para el perfil de compatibilidad OpenGL 4.5.
  • El rastreador de estado VA-API (API de aceleración de video) brinda soporte para acelerar la codificación y decodificación de video AV1 cuando se usan controladores de GPU AMD.
  • Se ha implementado compatibilidad con EGL para la plataforma Windows.
  • Se agregó soporte para la extensión EGL_EXT_present_opaque para Wayland. Se han resuelto los problemas con la visualización de transparencia en juegos que se ejecutan en entornos basados ​​​​en el protocolo Wayland.
  • Se agregó soporte para extensiones a los controladores Vulkan RADV (AMD), ANV (Intel) y lavapipe:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (pipa de lava).
    • VK_KHR_spirv_1_4 (pipa de lava).
    • VK_KHR_timeline_semaphore (pipa de lava).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_profundidad_stencil_resolve (pipa de lava).
    • VK_KHR_shader_float16_int8 (pipa de lava).
    • VK_EXT_color_write_enable (pipa de lava).

Fuente: opennet.ru

Añadir un comentario