Nouveau NVC0 Shader Disk Cache Lands For Speeding Up Game Load Times

Written by Michael Larabel in Nouveau on 25 August 2020 at 04:00 PM EDT. 8 Comments
NOUVEAU
Covered back in February was work for Nouveau's NVC0 Gallium3D driver to finalle make use of the Mesa on-disk shader cache functionality for speeding up game load times by allowing previously compiled GLSL shaders to be cached to disk. That work by Red Hat has finally been mainlined in Mesa 20.3.

Mark Menzynski who is part of the Red Hat crew working on the open-source Nouveau driver finally saw his shader disk caching patches merged.

This allows bypassing shaders from being recompiled on subsequent game/application loads if the shader cache keys match and the comparison test passes.

This leads to much faster load times - when Mark was testing a "bunch of shaders" it went from taking over three minutes to now just 23 seconds thanks to being able to avoiding the expensive recompilation process.

The code is enabled by default for the NVC0 driver in Mesa Git ahead of next quarter's Mesa 20.3 release. The other common Mesa drivers have been making use of this on-disk shader cache for some time to great success particularly for frequent Linux gamers.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week