https://bugs.freedesktop.org/show_bug.cgi?id=90213
Iago Toral <ito...@igalia.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ito...@igalia.com, | |ja...@jlekstrand.net --- Comment #2 from Iago Toral <ito...@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.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev