<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:eero.t.tamminen@intel.com" title="Eero Tamminen <eero.t.tamminen@intel.com>"> <span class="fn">Eero Tamminen</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_VERIFIED  bz_closed"
   title="VERIFIED FIXED - [Regression] [Bisected] assert in fragment shader compilation when SIMD32 is enabled"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110507">bug 110507</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>VERIFIED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_VERIFIED  bz_closed"
   title="VERIFIED FIXED - [Regression] [Bisected] assert in fragment shader compilation when SIMD32 is enabled"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110507#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_VERIFIED  bz_closed"
   title="VERIFIED FIXED - [Regression] [Bisected] assert in fragment shader compilation when SIMD32 is enabled"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110507">bug 110507</a>
              from <span class="vcard"><a class="email" href="mailto:eero.t.tamminen@intel.com" title="Eero Tamminen <eero.t.tamminen@intel.com>"> <span class="fn">Eero Tamminen</span></a>
</span></b>
        <pre>Tested with Iris.  Works fine without any asserts -> VERIFIED

Btw. With a simple patch to enable SIMD32 in most cases where it could make
sense:
------------------------------------------------
-   /* Currently, the compiler only supports SIMD32 on SNB+ */
-   if (v8.max_dispatch_width >= 32 && !use_rep_send &&
+   /* Currently, the compiler only supports SIMD32 on SNB+
+    *
+    * Compile SIMD32 only if:
+    * - SIMD16 didn't fail (there are enough regs)
+    * - GEN6+ & 32-wide dispatch supported
+    * - there's only single RT (with MRT, perf is lower due to RCC write
trashing)
+    * - or it's force enabled
+    */
+   if (!simd16_failed &&
+       v8.max_dispatch_width >= 32 &&
        compiler->devinfo->gen >= 6 &&
-       unlikely(INTEL_DEBUG & DEBUG_DO32)) {
+       !use_rep_send &&
+       (shader->info.outputs_written <= BITFIELD64_BIT(FRAG_RESULT_DATA0) ||
+       unlikely(INTEL_DEBUG & DEBUG_DO32))) {
------------------------------------------------

SIMD32 has approximately following perf impact with Iris...

On BXT J4205 (with 2-channel memory):
* +30-35% GfxBench ALU2
* +25% SynMark PSPom
* +5-10% GfxBench Manhattan 3.0, SynMark Deferred & ShMapVsm, GpuTest Julia
FP32
* +5% GfxBench CarChase & T-Rex
* +4% SynMark PSPhong
* +2-3% GfxBench Manhattan 3.1, GpuTest FurMark
...
* -5-10% SynMark TexFilterTri [1]
* -20% SynMark DrvShComp

On SKL GT2:
* +20% GfxBench ALU2
* +7-8% SynMark PSPom
* +3-4% GfxBench CarChase & Manhattan 3.0
* +2% GfxBench T-Rex, SynMark PSPhong & Deferred
...
* -3% SynMark PSBump2
* -5% SynMark DrvRes
* -10-15% SynMark TexFilterTri [1], DrvShComp

[1] These TexFilterTri drops are clear regressions compared to earlier (1-2
years ago) measured impact of SIMD32 vs. SIMD16.

(And I'm a bit surprised that shader compilation speed test didn't regress more
from compiling additional SIMD32 variant.)</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>