Mesa OpenGL Threading Now Disabled For Small Hybrid CPUs
Landing today in Mesa 23.2-devel is support for big.LITTLE CPU detection or more broadly hybrid CPU core detection where little cores (e.g. E cores) are defined as having less than 50% the capacity of the largest CPU core on the system. This is done since Mesa's OpenGL threading is now being disabled for small hybrid processors.
Mesa has the hybrid/big.LITTLE CPU detection added now with the initial user of this code being for determining if OpenGL threading "glthread" should be disabled for small systems.
For low core count systems or systems with not enough large/performance cores, OpenGL threading ends up hurting performance more than it helps. The new logic in Mesa is disabling OpenGL threading by default if there are fewer than four big CPU cores.
Zink lead developer Mike Blumenkrantz with Valve's Linux graphics driver team commented that with OpenGL threading and using Zink, there was around an approximate 50% performance loss for his unspecified hardware. See this MR for the change that is now part of Mesa 23.2.
Mesa has the hybrid/big.LITTLE CPU detection added now with the initial user of this code being for determining if OpenGL threading "glthread" should be disabled for small systems.
For low core count systems or systems with not enough large/performance cores, OpenGL threading ends up hurting performance more than it helps. The new logic in Mesa is disabling OpenGL threading by default if there are fewer than four big CPU cores.
Zink lead developer Mike Blumenkrantz with Valve's Linux graphics driver team commented that with OpenGL threading and using Zink, there was around an approximate 50% performance loss for his unspecified hardware. See this MR for the change that is now part of Mesa 23.2.
19 Comments