Bug 32995

Summary: Creepy frame rate in Lightsmark 2008 Benchmark
Product: Mesa Reporter: Md Imam Hossain <imamdxl8805>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: 7.10   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Md Imam Hossain 2011-01-11 05:59:30 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.

LightsMark: http://dee.cz/lightsmark/

fps was okay with Mesa 7.7.1, 7.8.3-rc1 and 7.9.1.
Comment 1 Eric Anholt 2011-01-18 16:24:05 UTC
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.
Comment 2 Eric Anholt 2011-01-18 16:53:33 UTC
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.
Comment 3 Md Imam Hossain 2011-01-18 19:54:22 UTC
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.

Cheers!
Comment 4 Eric Anholt 2011-01-19 17:40:19 UTC
commit 1991d92207cf629ba4ceead4bfc3f768d7b9e402
Author: Eric Anholt <eric@anholt.net>
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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.