Llegan los controladores Mesa 19.3.0 con mas extensiones, mayor soporte y mucho mas

Mesa Drivers

Los controladores Mesa son software para Linux de código abierto disponibles para hardware AMD, NVIDIA e Intel. El proyecto de Mesa comenzó como una implementación de código abierto de la especificación OpenGL (un sistema para la representación de gráficos 3D interactivos).

A través de los años, el proyecto creció a implementar más API de gráficos, incluyendo OpenGL ES (versiones 1, 2, 3), OpenCL, OpenMAX, VDPAU, VA API, XvMC y Vulkan. Una variedad de controladores de dispositivos permite a las bibliotecas Mesa ser utilizada en muchos entornos diferentes, desde la emulación de software para completar la aceleración de hardware para las GPU modernas.

Mesa implementa una capa de traducción independiente del fabricante entre un API de gráficos como OpenGL y los controladores de gráficos en el núcleo del sistema operativo.

¿Qué hay de nuevo en Mesa 19.3.0?

Se dio a conocer recientemente el lanzamiento de la Mesa 19.3.0, siendo esta la primera versión de la rama Mesa que tiene un estado experimental, la cual después de la estabilización final del código, se lanzará una versión estable en Mesa 19.3.1.

Mesa 19.3.0 proporciona soporte completo OpenGL 4.6 para GPU Intel (i965, controladores de iris), soporte OpenGL 4.5 para GPU AMD (r600, radeonsi) y NVIDIA (nvc0), así como soporte Vulkan 1.1 para tarjetas Intel y AMD.

Para RADV (controlador Vulkan para chips AMD) un nuevo backend para compilar sombreadores » ACO», que está desarrollando Valve como una alternativa al compilador de sombreadores LLVM. El objetivo del backend es garantizar que el código se genere de la manera mejor posible para los sombreadores de aplicaciones de juegos y lograr una velocidad de compilación muy alta.

ACO está escrito en C ++ y se está desarrollando con el objetivo de poder usar para la compilación JIT y utiliza estructuras de datos rápidas para iterar, evitando estructuras basadas en punteros.

La representación de código intermedio se basa completamente en SSA (asignación única estática) y permite asignación de registro, precalculando con precisión el registro dependiendo del sombreador ACO se puede activar para la GPU Vega 8, Vega 9, Vega 10, Vega 20 y Navi 10 configurando la variable de entorno «RADV_PERFTEST = aco»;

El controlador Zink Gallium3D está incluido en la base del código, que implementa la API OpenGL encima de Vulkan. Zink le permite obtener OpenGL acelerado por hardware si hay controladores en el sistema que se limitan a admitir solo la API de Vulkan.

El controlador ANV Vulkan y el controlador iris OpenGL proporcionan soporte inicial para la 12a generación de chips Intel (Tiger Lake, gen12). En el kernel de Linux, los componentes de soporte de Tiger Lake se han incluido desde la versión 5.4;

Los controladores i965 e iris proporcionaron soporte para la presentación intermedia de los sombreadores SPIR-V, lo que permitió lograr un soporte completo para OpenGL 4.6 en estos controladores.

Se ha agregado soporte para GPU AMD Navi 14 al controlador RadeonSI y se han mejorado las herramientas de aceleración de decodificación de video, por ejemplo, se ha agregado soporte para decodificación de video 8K en formatos H.265 y VP9;

La compatibilidad con el modo de compilación protegido se ha agregado al controlador Vulkan de RADV, en el que las secuencias que se ejecutan para compilar sombreadores se aíslan mediante el mecanismo seccomp.

Los controladores para chips AMD usan la interfaz del programa para restablecer la GPU que apareció en el módulo del núcleo AMDGPU.

Se ha trabajado para mejorar el rendimiento en sistemas con APU AMD Radeon. También mejoró el rendimiento del controlador Gallium3D Iris para las GPU Intel;

De las nuevas extensiones OpenGL agregadas que se destacan en el anuncio podremos encontrar:

  • GL_ARB_gl_spirv para i965
  • GL_ARB_spirv _para i965
  • GL_EXT_demote_to_helper_invocation para i965

Extensiones Vulkan RADV para tarjetas AMD:

  • VK_ANDROID_external_memory_android_hardware_buffer
  • VK_EXT_shader_demote_to_helper_invocation
  • VK_KHR_shader_clock
  • VK_KHR_shader_float_controls
  • VK_KHR_spirv_1_4
  • VK_KHR_timeline_semaphore
  • VK_EXT_texel_buffer_alignment

Extensiones ANV Vulkan para tarjetas Intel:

  • VK_INTEL_performance_query
  • VK_KHR_vulkan_memory_model
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_KHR_spirv_1_4
  • VK_KHR_shader_clock
  • VK_KHR_shader_float_controls

Además, podemos observar la publicación por parte de AMD de la documentación sobre la arquitectura de los equipos APU «Vega» de 7 nm basados ​​en la microarquitectura GCN (Graphics Core Next).

Finalmente toca espera a que esta nueva versión de los controladores Mesa comience a ser distribuido en las principales distribuciones de Linux durante los próximos días.


2 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Antonio dijo

    hola. He leido en muchos sitios lo de configurar la variable de sistema RADV_PERFTEST=aco pero nadie explica cómo se hace eso… sería un detalle que alguien comentara cómo activar o configurar esa variable. Gracias

    1.    David Naranjo dijo

      ACO es un compilador para sombreadores que en teoría se «habilita de forma predeterminada» (es decir no se tiene que realizar nada) solo basta con tener la última version de los controladores Mesa o en el caso de Steam se puede forzar el uso del compilador añadiendo al lanzador del juego la opción `RADV_PERFTEST = aco% command%`

      O para activar la opción en todo el sistema simplemente se tiene que añadir la variable de entorno RADV_PERFTEST=aco al archivo ~/.profile.

      Solo hay que tomar en cuenta que no todas las GPU son compatibles y por ende simplemente no se puede poner en marcha este compilador.

      En la red hay más información sobre como configurar la variable en cada distribución de Linux o sobre algunas aplicaciones como el caso de Steam, Lutris, etc.

      Saludos!