LLVMpipe Gains Support For On-Disk Shader Cache

Written by Michael Larabel in Mesa on 10 June 2020 at 07:53 PM EDT. 7 Comments
MESA
The LLVMpipe software OpenGL implementation that recently has seen work on MSAA, tessellation shader support, and other improvements, now has a working on-disk shader cache implementation.

David Airlie of Red Hat has landed the support he's been working on for adding a shader cache to this CPU-based OpenGL driver and the bits within the Gallivm code for LLVM MCJIT caching.

OpenGL on-disk shader caches can help speed up subsequent shader loads rather than having to compile the shaders on-demand each time.

This LLVMpipe shader cache is also being used for in turn being able to support ARB_get_program_binary as mandated by OpenGL 4.1. Details on this LLVMpipe shader cache via this merge request that landed in Git master a short time ago.

LLVMpipe is still only at OpenGL 3.3 due to ARB_gpu_shader5 bits still missing, but after that for OpenGL 4.1 all that is left is ARB_shader_precision and exposing ARB_get_program_binary. LLVMpipe already has all the necessary changes for OpenGL 4.2 and only lacks robust buffer access behavior for advertising OpenGL 4.3 and already has all of GL 4.4 requirements met... So once ARB_gpu_shader5 is in place and these other bits, LLVMpipe will be in fairly good standing for its OpenGL 4 support, but the performance even with today's very core happy CPUs is generally still quite poor. At least though LLVMpipe can work well in some cases for composited desktop fallback purposes and driver independent testing for OpenGL issues.

Red Hat's David Airlie also continues working on a software Vulkan implementation based on LLVMpipe.
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