El controlador RADV Vulkan se ha cambiado para utilizar el backend de compilación del sombreador ACO

En el código base utilizado para formar la versión Mesa 20.2, llevado a cabo cambiando RADV, el controlador Vulkan para chips AMD, para usar el backend predeterminado para compilar sombreadores "ACO“, que está siendo desarrollado por Valve como una alternativa al compilador de sombreadores LLVM. Este cambio conducirá a un mayor rendimiento del juego y a una reducción del tiempo de inicio. Para devolver el backend anterior, se proporciona la variable de entorno "RADV_DEBUG=llvm".

Cambiar el controlador RADV al nuevo backend fue posible después de que ACO logró la paridad en funcionalidad con el antiguo backend desarrollado por AMD para el controlador AMDGPU, que continúa utilizándose en el controlador RadeonSI OpenGL. Prueba por válvula mostróEse ACO es casi el doble de rápido que el compilador de sombreadores AMDGPU en términos de velocidad de compilación y demuestra un aumento en FPS en algunos juegos cuando se ejecutan en sistemas con el controlador RADV.

El controlador RADV Vulkan se ha cambiado para utilizar el backend de compilación del sombreador ACO

El controlador RADV Vulkan se ha cambiado para utilizar el backend de compilación del sombreador ACO

El backend de ACO tiene como objetivo proporcionar una generación de código lo más óptima posible para sombreadores de aplicaciones de juegos, además de lograr una velocidad de compilación muy alta. ACO está escrito en C++, diseñado teniendo en cuenta la compilación JIT y utiliza estructuras de datos iterativas rápidas, evitando estructuras basadas en punteros. La representación intermedia del código se basa completamente en SSA (Asignación única estática) y permite la asignación de registros calculando previamente con precisión el registro según el sombreador.

Adición: Por el momento, ACO solo funciona para el controlador Mesa RADV Vulkan. Pero los desarrolladores de ACO confirmado, que su próximo paso será comenzar a trabajar en la expansión de las capacidades de ACO para brindar soporte para el controlador RadeonSI OpenGL, de modo que en el futuro, para este controlador, ACO pueda reemplazar el compilador de sombreador LLVM predeterminado.

Fuente: opennet.ru

Añadir un comentario