i965/fs: Use measured Gen7 instruction timings on Gen6.
authorMatt Turner <mattst88@gmail.com>
Thu, 28 Mar 2013 18:38:57 +0000 (11:38 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 29 Mar 2013 17:13:27 +0000 (10:13 -0700)
x before
+ after
+------------------------------------------------------------------------------+
|   x                                   x   +                                  |
|   xx  ++                              x   +                                  |
|   xx  ++ +                           xx   ++                                 |
|x xxx x+++++          +           xxx x*x+*+++ +         x                   +|
|   |_____|____________A______A____M____M_|_______|                            |
+------------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
    x  23       8083.78       8287.83       8205.55     8162.7461     68.307951
    +  23       8107.56       8358.74       8224.33     8186.1765     71.506301
    No difference proven at 95.0% confidence

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp

index f0ef470..90f1a16 100644 (file)
@@ -67,7 +67,10 @@ public:
       this->parent_count = 0;
       this->unblocked_time = 0;
 
-      if (intel->gen >= 7)
+      /* We can't measure Gen6 timings directly but expect them to be much
+       * closer to Gen7 than Gen4.
+       */
+      if (intel->gen >= 6)
          set_latency_gen7(intel->is_haswell);
       else
          set_latency_gen4();