<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Shadertoy shader causing hang"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111241#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Shadertoy shader causing hang"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111241">bug 111241</a>
              from <span class="vcard"><a class="email" href="mailto:pierre-eric.pelloux-prayer@amd.com" title="Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>"> <span class="fn">Pierre-Eric Pelloux-Prayer</span></a>
</span></b>
        <pre>Here's my understanding of the issue.

This shader uses 2 passes:
 - the first pass has BufferA as input and output and does:

if (first frame)
  // init bufferA content
else
  // do something useful

 - the 2nd pass has BufferA as input and does:

N = texelFetch(bufferA)
for(i=0; i < N; i++)
  // do something


The problem here is the "// init bufferA content": it fails to initialize the
buffer content properly, leading to an infinite loop in the 2nd pass.

The exact code is:
   if (iFrame==0) { O -= O; return; }

If one replaces this line with:
   if (iFrame==0) { O = vec4(0.0f); return; }

The shader works fine (you can test the modified version here:
<a href="https://www.shadertoy.com/view/wtSXzw">https://www.shadertoy.com/view/wtSXzw</a> ).</pre>
        </div>
      </p>


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

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