<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Over 15% performance lost on large branching shader"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110412#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Over 15% performance lost on large branching shader"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110412">bug 110412</a>
              from <span class="vcard"><a class="email" href="mailto:qamonstergl@gmail.com" title="Paul <qamonstergl@gmail.com>"> <span class="fn">Paul</span></a>
</span></b>
        <pre>Hi guys
Kevin, thanks for the tip - it works.
I've bisected the mesa between mesa-18.2.8(785e09e3b3) and latest master
version of Mesa (04e672257c) on Skylake with IntelĀ® HD Graphics 520.
Bisect brought me to the
commit a920979d4f30a48a23f8ff375ce05fa8a947dd96
Author: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>>
Date:   Fri Nov 16 10:46:27 2018 -0600

        intel/fs: Use split sends for surface writes on gen9+

        Surface reads don't need them because they just have the one address
        payload.  With surface writes, on the other hand, we can put the
address
        and the data in the different halves and avoid building the payload all
        together.

        The decrease in register pressure and added freedom in register
        allocation resulting from this change reduces spilling enough to
improve
        the performance of one customer benchmark by about 2x.

        Reviewed-by: Iago Toral Quiroga <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>>
commit a920979d4f30a48a23f8ff375ce05fa8a947dd96
Author: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>>
Date:   Fri Nov 16 10:46:27 2018 -0600

        intel/fs: Use split sends for surface writes on gen9+

        Surface reads don't need them because they just have the one address
        payload.  With surface writes, on the other hand, we can put the
address
        and the data in the different halves and avoid building the payload all
        together.

        The decrease in register pressure and added freedom in register
        allocation resulting from this change reduces spilling enough to
improve
        the performance of one customer benchmark by about 2x.

        Reviewed-by: Iago Toral Quiroga <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>>

Bad commits had 60 FPS, good commits had 70 FPS on my machine.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>