<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Blender renders black UI elements"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=101596#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Blender renders black UI elements"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=101596">bug 101596</a>
              from <span class="vcard"><a class="email" href="mailto:dark_sylinc@yahoo.com.ar" title="Matias N. Goldberg <dark_sylinc@yahoo.com.ar>"> <span class="fn">Matias N. Goldberg</span></a>
</span></b>
        <pre>As I keep reading the code and getting familiar, everything starts making
sense:

/**
* If a shader can be created when we get its source.
* This means it has only 1 variant, not counting glBitmap and
* glDrawPixels.
*/
boolean shader_has_one_variant[MESA_SHADER_STAGES];

The problem is that after glDrawPixels creates its own variant; st_update_fp
will end up using glDrawPixels' variant, instead of the non-glDrawPixels one.

The same problem happens if glBitmap is used.

One simple solution would be to add the variant to the end of the linked list,
but this may affect the performance profile of radeonsi (i.e. assuming
variations created last are more likely to be used than variations created
first).
The performance concerns can be negated by adding the variation to the end of
the linked list ONLY if glDrawPixels or glBitmap is the caller.</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>