<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Unify the format conversion code"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=84566#c33">Comment # 33</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Unify the format conversion code"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=84566">bug 84566</a>
              from <span class="vcard"><a class="email" href="mailto:siglesias@igalia.com" title="Samuel Iglesias <siglesias@igalia.com>"> <span class="fn">Samuel Iglesias</span></a>
</span></b>
        <pre>Jason, I would like to know your opinion about the integer RGBA clamping done
in pack.c (_mesa_pack_rgba_span_from_ints()).

glReadPixels() and glGetTexImage() specs said (for example, in OpenGL 3.3. core
specification) that for an integer RGBA color, each component is clamped to the
representable range of type.

Those GL functions end up calling pack.c's functions for performing the
conversion (mesa_pack_rgba_span_from_ints() and others).

It's possible to replace some of those pack.c's conversion functions by the
master conversion but the problem is in the clamping operation. I would like to
add a boolean argument called "clamp" to the master conversion function which
is passed to _mesa_swizzle_and_convert() where each of its
convert_{uint,int,byte,ubyte,short,ushort}() do the right thing when "clamp" is
true.

This "clamp" parameter would be false for every call to either master
conversion function or _mesa_swizzle_and_convert() except when they are being
called from pack.c.

What do you think?</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>