<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:sroland@vmware.com" title="Roland Scheidegger <sroland@vmware.com>"> <span class="fn">Roland Scheidegger</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Wrong and unstable image rendering from GLSL fragment shaders"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99919">bug 99919</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;">Resolution</td>
           <td>---
           </td>
           <td>INVALID
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Wrong and unstable image rendering from GLSL fragment shaders"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99919#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Wrong and unstable image rendering from GLSL fragment shaders"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99919">bug 99919</a>
              from <span class="vcard"><a class="email" href="mailto:sroland@vmware.com" title="Roland Scheidegger <sroland@vmware.com>"> <span class="fn">Roland Scheidegger</span></a>
</span></b>
        <pre>This is not a bug, the shader has undefined output.
I've confirmed the path taken through the shader in the opU() function is
always the else clause, then not satisfying the if there, so the returned
HitData value is always undefined due to using out instead of inout for the hd
parameter.
Therefore the path taken in render() (using the undefined trc.d value) is
completely undefined, and of course such undefined results can change randomly
if injecting code which seemingly should have no effect.

(As for the checkerboard pattern on llvmpipe/softpipe, I'm not sure but I've
verified that with these drivers in the opU() function always the first if
clause is taken - hence things are well defined but the result is different.
Not sure why exactly the numbers in opU() are different, the shader could use
float math which isn't quite stable given the inputs but whatever it's not
connected to the shader injection and unless someone says otherwise I'm not
convinced it's driver bugs neither.)</pre>
        </div>
      </p>


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

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