<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - GLSL IR copy propagates loads of SSBOs"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106774#c11">Comment # 11</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - GLSL IR copy propagates loads of SSBOs"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106774">bug 106774</a>
from <span class="vcard"><a class="email" href="mailto:caio.oliveira@intel.com" title="Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>"> <span class="fn">Caio Marcelo de Oliveira Filho</span></a>
</span></b>
<pre>Even with the fixes to the GLSL copy propagation (and other passes) logic, the
shader was still hanging. After a debugging session with Jason, he figured that
the helper invocations were not making progress, getting into an infinite loop.
While the reads of value give correct values, the result from atomicCompareSwap
is undefined for helper invocations, and comparing two was always failing.
The alternative version of the test in the report (the one that works), avoids
this issue since the return value for atomicCompareSwap seems to be always the
same (although not something we should rely on, I guess), allowing the loop to
end.
Early returning based on gl_HelperInvocation makes things work with the
original loop, but depends on newer GL version.</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>