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

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

En Mesa 22.1, la compatibilidad con la API de gráficos Vulkan 1.3 está disponible en los controladores anv para GPU Intel, radv para GPU AMD y el rasterizador de software lavapipe. La compatibilidad con Vulkan 1.2 se implementa en modo emulador (vn), Vulkan 1.1 se implementa en el controlador para GPU de Qualcomm (tu). y Vulkan 1.0 en el controlador para la GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa también proporciona soporte completo de OpenGL 4.6 para los controladores 965, iris (Intel), radeonsi (AMD), zink y llvmpipe. La compatibilidad con OpenGL 4.5 está disponible para GPU AMD (r600) y NVIDIA (nvc0), y la compatibilidad con OpenGL 4.3 para virgl (GPU virtual Virgil3D para QEMU/KVM) y vmwgfx (VMware).

Principales novedades:

  • El controlador ANV Vulkan (Intel) y el controlador Iris OpenGL admiten tarjetas gráficas discretas Intel DG2 (Arc Alchemist) y Arctic Sound-M.
  • El controlador D3D12 con una capa para organizar el trabajo OpenGL sobre la API DirectX 12 (D3D12) garantiza la compatibilidad con OpenGL 4.2. El controlador se utiliza en la capa WSL2 para ejecutar aplicaciones gráficas de Linux en Windows.
  • 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), es compatible con Vulkan 1.3.
  • Se agregó soporte para las GPU AMD GFX1036 y GFX1037.
  • El controlador RADV (AMD) ha implementado la selección de primitivos de rayos, lo que mejora la compatibilidad con el trazado de rayos para juegos como DOOM Eternal.
  • Se ha propuesto una implementación inicial del controlador Vulkan para GPU basado en la arquitectura PowerVR Rogue desarrollada por Imagination.
  • El controlador Nouveau para GPU GeForce 6/7/8 más antiguas se ha convertido para utilizar una representación intermedia (IR) sin tipo de sombreadores NIR. La compatibilidad con NIR también le permite obtener compatibilidad con la representación intermedia TGSI (Tungsten Graphics Shader Infrastructure) mediante el uso de una capa para traducir NIR a TGSI.
  • La composición incluye un compilador OpenCL compacto, propuesto por Intel y utilizado para el trazado de rayos.
  • El controlador OpenGL v3d, desarrollado para el acelerador de gráficos VideoCore VI, utilizado a partir del modelo Raspberry Pi 4, implementa soporte para el almacenamiento en caché de sombreadores en disco.
  • Para las GPU AMD equipadas con el motor de procesamiento de video VCN 2.0, se implementó la compatibilidad con EFC (Conversión de formato de codificador), lo que permite el uso de un codificador de video de hardware para leer directamente superficies RGB sin conversiones RGB->YUV realizadas por sombreadores.
  • El controlador Crocus, desarrollado para GPU Intel más antiguas basadas en microarquitecturas Gen4-Gen7 que no son compatibles con el controlador Iris, incluye un perfil de compatibilidad con versiones anteriores de OpenGL.
  • El controlador PanVk, que brinda soporte para la API de gráficos Vulkan para las GPU ARM Mali Midgard y Bifrost, ha comenzado a trabajar para admitir sombreadores informáticos.
  • El controlador Venus con la implementación de una GPU virtual (virtio-gpu) basada en la API de Vulkan ha agregado soporte para la capa ANGLE, que es responsable de traducir las llamadas de OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL y Vulkan.
  • Se agregó soporte para la extensión OpenGL de NVIDIA GL_NV_pack_subimage, diseñada para actualizar rectángulos en la memoria del host utilizando datos del framebuffer o la textura.
  • Se agregó soporte para extensiones a los controladores Vulkan RADV (AMD), ANV (Intel) y lavapipe:
    • VK_EXT_ Depth_clip_control para lavapipe y RADV.
    • VK_EXT_graphics_pipeline_library para lavapipe.
    • VK_EXT_primitives_generated_query para lavapipe.
    • VK_EXT_image_2d_view_of_3d para ANV y lavapipe.
    • VK_KHR_swapchain_mutable_format para lavapipe.

Fuente: opennet.ru

Añadir un comentario