<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GLSL compilation can be very slow"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93681#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GLSL compilation can be very slow"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93681">bug 93681</a>
              from <span class="vcard"><a class="email" href="mailto:mattst88@gmail.com" title="Matt Turner <mattst88@gmail.com>"> <span class="fn">Matt Turner</span></a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=120995" name="attach_120995" title="new.shader_test">attachment 120995</a> <a href="attachment.cgi?id=120995&action=edit" title="new.shader_test">[details]</a></span>
new.shader_test

(In reply to Matt Turner from <a href="show_bug.cgi?id=93681#c2">comment #2</a>)
<span class="quote">> I read the shader a bit more and have decided that all indirect accesses
> could be statically determined to occur in limited ranges of the temps[]
> array.</span >

With that knowledge in hand, I've modified slow.shader_test to limit indirect
accesses to small arrays -- by making

        vec4 temps_9_14[6];
        vec4 temps_15_20[6];
        vec4 temps_21_25[5];
        vec4 temps_26_30[5];

and modifying the accesses accordingly. That shader (attached with this
comment) compiles in the blink of an eye and is

712 instructions. 8 loops. 1146286 cycles. 0:0 spills:fills. 115 basic blocks.</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>