RadeonSI Gets Patches To Finally Tap The Parallel Shader Compile Extensions
Marek Olšák of AMD has published a set of patches today plumbing in support for Mesa/Gallium3D with the KHR_parallel_shader_compile and ARB_parallel_shader_compile while enabling these parallel shader compile extensions for the RadeonSI Gallium3D OpenGL driver.
KHR_parallel_shader_compile is the OpenGL 4.6 extension allowing the application / game engine to offer a hint to the driver with the maximum number of CPU threads it would recommend for compiling shaders and also a means to find out if the shader compilation process has finished. ARB_parallel_shader_compile is the former, pre-KHR ratified version of this extension that offers the same functionality.
NVIDIA's Linux driver has offered this parallel shader compile functionality since early 2017. In April 2017 there were some Mesa patches working on the ARB_parallel_shader_compile support but it was never fully vetted and merged.
Now Marek has taken this on as his latest RadeonSI driver performance optimizing effort. There are 7 patches laying the groundwork into the common Mesa/Gallium3D code and filling in the necessary bits for the RadeonSI driver. So hopefully this work will be reviewed and merged in time for the Mesa 19.1 debut next quarter. Hopefully the Intel i965/Iris and Nouveau drivers will also follow with this parallel_shader_compile support.
KHR_parallel_shader_compile is the OpenGL 4.6 extension allowing the application / game engine to offer a hint to the driver with the maximum number of CPU threads it would recommend for compiling shaders and also a means to find out if the shader compilation process has finished. ARB_parallel_shader_compile is the former, pre-KHR ratified version of this extension that offers the same functionality.
NVIDIA's Linux driver has offered this parallel shader compile functionality since early 2017. In April 2017 there were some Mesa patches working on the ARB_parallel_shader_compile support but it was never fully vetted and merged.
Now Marek has taken this on as his latest RadeonSI driver performance optimizing effort. There are 7 patches laying the groundwork into the common Mesa/Gallium3D code and filling in the necessary bits for the RadeonSI driver. So hopefully this work will be reviewed and merged in time for the Mesa 19.1 debut next quarter. Hopefully the Intel i965/Iris and Nouveau drivers will also follow with this parallel_shader_compile support.
7 Comments