Bugzilla – Bug 32995
Creepy frame rate in Lightsmark 2008 Benchmark
Last modified: 2011-01-19 17:40:19 UTC
Mesa Master (Mesa 7.11-devel) and Mesa 7.10 have problem with Lightsmark 2008, a GLSL lighting benchmarking suite. In the some areas of the benchmark, fps is really creepy now.
fps was okay with Mesa 7.7.1, 7.8.3-rc1 and 7.9.1.
Please specify actual numbers instead of saying "creepy" (which I don't think is the word you're looking for), so I can know if I'm looking at the same issue as you. For example, when I run lightsmark 2008 in windows 1024x768 mode, framerate gets as low as 6fps during demos like "area lights". In all the modes where framerate is 6-8 fps, the CPU is busy in libgomp and not in the graphics driver.
I do see a regression between 7.9 and master now, though: First rendering mode displayed drops from 13fps to 8fps, despite cpu usage staying at 90% in libgomp. So I guess they've got modeling going on in threads thread and rendering coming out of that, or something? Anyway, looks like the tree grafting failure mode like glsl-fs-convolution-1.
Since Intel hardware is not that powerful, I can remember, few months back I benchmarked Lightsmark on both Windows and Linux and fps was about same on both operating systems.
Windows 7 supplied Intel driver - average 11 fps
Ubuntu 10.10 Mesa 7.8.3-rc1 - average 13 fps
As now I have investigated the problem more I have found that problem of lower fps than usual in Mesa Master is because changing camera or light location.
To find out that try pressing [spacebar key] while benchmarking and move your mouse to change camera or light location.
Author: Eric Anholt <firstname.lastname@example.org>
Date: Tue Jan 18 22:03:34 2011 -0800
i965/fs: Assign URB/CURB register numbers after instruction scheduling.
This fixes a bunch of unnecessary barriers due to the scheduler not
knowing what that arbitrary register description refers to when trying
to reason about its dependencies.
The result is rescheduling in the convolution kernel shader in
Lightsmark, which results in avoiding register spilling and increasing
the performance of the first scene from 6-7 fps midway through the
panning to 11fps. The register spilling was a regression from Mesa
7.9 to Mesa 7.10.