OpenGL performance regression with GMA4500MHD since mesa 19.2.0
I have a ThinkPad X200 Tablet which uses the GM45 chipset so I have an integrated GMA4500MHD GPU. I'm running Arch Linux with kernel 5.3.1.
I updated mesa from 19.1.7 to 19.2.0 today and noticed a significant performance drop in OpenGL 2.1 stress tests from Geeks3D GpuTest (https://www.geeks3d.com/gputest). In "FurMark" the FPS went from 120 down to 65, in "PixMark JuliaFP32" it went from about 20FPS to 10FPS, "Triangle" went from 258FPS to 240FPS. In glxgears however the performance is unchanged (about 1290 FPS).
Downgrading mesa to 19.1.7 fixed the problem. I tested the same thing on a modern computer with Intel HD graphics, there the phenomenon was not reproducible. I also tried mesa-git 19.3.0 (https://aur.archlinux.org/packages/mesa-git/) but it performs the same as mesa 19.2.0.
How to reproduce:
- Install Geeks3D GpuTest on a laptop that uses the GM45 chipset.
- Launch any of the mentioned stress tests (Furmark, PixMark Jula FP32, Triangle) in 1024x640 and look at the FPS.
- Switch between mesa 19.1.7 and 19.2.0 and compare.
(For FurMark I press space as soon as the stress test starts to hide the furry donut. Now only the blue tunnel is being rendered. With the donut the FPS would only be 1 or 2 because the GPU is so old.)
glxinfo (19.1.7): https://pastebin.com/zBu1D67Q
glxinfo (19.2.0): https://pastebin.com/ZzTMmNks