[Mesa-dev] [Bug 90213] glDrawPixels with GL_COLOR_INDEX never returns.
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Apr 30 02:39:42 PDT 2015
https://bugs.freedesktop.org/show_bug.cgi?id=90213
Iago Toral <itoral at igalia.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |itoral at igalia.com,
| |jason at jlekstrand.net
--- Comment #2 from Iago Toral <itoral at igalia.com> ---
Hi Mark, Juha:
Some "special" formats, like GL_COLOR_INDEX, MESA_FORMAT_YCBCR or byte-swapped
scenarios need special handling before we can call _mesa_format_convert (see
the implementation of texstore_rgba() in texstore.c for example).
The problem in this case is that we are not doing that and it seems that the
old _mesa_unpack_color_span_float that was used here before the format
conversion overhaul did handle at least GL_COLOR_INDEX (and byte-swapped
scenarios too as far as I can see), so this is a regression.
If the test was asserting before the overhaul that would explain that we did
not catch it when we where in development, but it is a regression nonetheless.
The solution is to add the same code we have in texstore.c to handle
GL_COLOR_INDEX, which basically converts GL_COLOR_INDEX to GL_RGBA ubyte before
calling _mesa_format_convert. We should probably also add the code we have
there for byte-swapped formats. I think it could be useful to have a helper
function for this so we don't have to replicate the code wherever we need to
handle things like GL_COLOR_INDEX.
Also, we should probably return something in _mesa_format_from_format_and_type
even when we reach the assertion to make things less confusing in non-debug
builds.
Jason, what do you think?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150430/3d9e67cd/attachment.html>
More information about the mesa-dev
mailing list