VC4 Raspberry Pi Driver Gets Job Shuffling For Faster OpenGL
Those making use of the VC4 Gallium3D driver for open-source Raspberry Pi OpenGL support will want to pull down the latest Mesa Git code if you are interested in double-digit performance improvements for at least some OpenGL workloads.
Landing in Mesa Git is this change to add job shuffling support for VC4. As described by Broadcom developer Eric Anholt, "Track rendering to each FBO independently and flush rendering only when necessary. This lets us avoid the overhead of storing and loading the frame when an application momentarily switches to rendering to some other texture in order to continue rendering the main scene."
The job shuffling addition with its few hundred lines of code should improve X rendering "a lot" and for the glmark benchmark as an example had improved the performance by 17~27% on the Raspberry Pi! Eric still has to run benchmarks on other GL games/applications.
Via his personal blog, Eric describes more about the VC4 job shuffling as well as other improvements he has been making over the past week to this Raspberry Pi Linux graphics driver stack.
Landing in Mesa Git is this change to add job shuffling support for VC4. As described by Broadcom developer Eric Anholt, "Track rendering to each FBO independently and flush rendering only when necessary. This lets us avoid the overhead of storing and loading the frame when an application momentarily switches to rendering to some other texture in order to continue rendering the main scene."
The job shuffling addition with its few hundred lines of code should improve X rendering "a lot" and for the glmark benchmark as an example had improved the performance by 17~27% on the Raspberry Pi! Eric still has to run benchmarks on other GL games/applications.
Via his personal blog, Eric describes more about the VC4 job shuffling as well as other improvements he has been making over the past week to this Raspberry Pi Linux graphics driver stack.
6 Comments