<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [BYT/HSW/BDW Bisected]SynMark2_v6_0_0_OglDrvShComp performance reduced ~60%"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=86140">86140</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[BYT/HSW/BDW Bisected]SynMark2_v6_0_0_OglDrvShComp performance reduced ~60%
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/DRI/i965
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>idr@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>wendy.wang@intel.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=109264" name="attach_109264" title="Xorg.0.log">attachment 109264</a> <a href="attachment.cgi?id=109264&action=edit" title="Xorg.0.log">[details]</a></span>
Xorg.0.log

Environment:
-----------------------------------
Platform:BDW
Libdrm:                
(master)libdrm-2.4.58-4-g00847fa48b83a85b0cb882594a12ed1511f780db
Mesa:                  (master)f3b709c0ac073cd0ec90a3a0d91d1ee94668e043
Xserver:                             
(master)xorg-server-1.16.99.901-3-g63bb5c5ef16edf652179770294dcca4fc07dc992
Xf86_video_intel:                          
(master)2.99.916-139-ge96520327bd2ef4fbc7b7b5169a17b966d9f85f3
Cairo:                   (master)a03f2ff72054c9530f98738aac729354a3f56102
Libva:                   (master)ccd93de5a707e92a629cccd595757c8d436fa3cc
Libva_intel_driver:                        
(master)24cba20a119c96556ae4dc9a90043896ea70e567
Kernel:   (drm-intel-nightly)b921a5e434f541c6d96378838df47b4259cc3489


Bug detailed description:
---------------------------------------------
SynMark2_v6_0_0_OglDrvShComp ~60% 
Issue happened on BYT/HSW/BDW

It's Mesa regression,bisect result show first bad commit as below:

Commit: a16ca4ac6a356e02c6aa03c1e305f613a4e23202
Author: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
Date:   Wed Oct 29 20:56:07 2014 -0700

    glsl: Skip loop-too-large heuristic if indexing arrays of a certain size

    A pattern in certain shaders is:

       uniform vec4 colors[NUM_LIGHTS];

       for (int i = 0; i < NUM_LIGHTS; i++) {
          ...use colors[i]...
       }

    In this case, the application author expects the shader compiler to
    unroll the loop.  By doing so, it replaces variable indexing of the
    array with constant indexing, which is more efficient.

    This patch extends the heuristic to see if arrays accessed within the
    loop are indexed by an induction variable, and if the array size exactly
    matches the number of loop iterations.  If so, the application author
    probably intended us to unroll it.  If not, we rely on the existing
    loop-too-large heuristic.

    Improves performance in a phong shading microbenchmark by 2.88x, and a
    shadow mapping microbenchmark by 1.63x.  Without variable indexing, we
    can upload the small uniform arrays as push constants instead of pull
    constants, avoiding shader memory access.  Affects several games, but
    doesn't appear to impact their performance.

    Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
    Reviewed-by: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>
    Acked-by: Kristian Høgsberg <<a href="mailto:krh@bitplanet.net">krh@bitplanet.net</a>>



Reproduce steps:
---------------------------------------------
1.            xinit&
2.            ./ Synmark2 OglDrvShComp


Xorg.0.log file attached.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>