On Tue, Jan 29, 2013 at 4:31 PM, Michel Dänzer <[email protected]> wrote: > On Die, 2013-01-29 at 14:43 +0100, Marek Olšák wrote: >> --- >> src/mesa/main/formats.c | 30 ++++++++++++++++++++++++++---- >> 1 file changed, 26 insertions(+), 4 deletions(-) >> >> diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c >> index 0273425..b86fb9e 100644 >> --- a/src/mesa/main/formats.c >> +++ b/src/mesa/main/formats.c >> @@ -3240,8 +3240,14 @@ _mesa_format_matches_format_and_type(gl_format >> gl_format, >> return format == GL_RGBA_INTEGER && type == GL_UNSIGNED_INT && >> !swapBytes; >> >> case MESA_FORMAT_DUDV8: >> + return (format == GL_DU8DV8_ATI || format == GL_DUDV_ATI) && >> + type == GL_BYTE && littleEndian && !swapBytes; >> + >> case MESA_FORMAT_SIGNED_R8: >> + return format == GL_RED && type == GL_BYTE && !swapBytes; >> case MESA_FORMAT_SIGNED_RG88_REV: >> + return format == GL_RG && type == GL_BYTE && littleEndian && >> + !swapBytes; > > The comments from my previous posts apply to these cases. > > >> @@ -3264,12 +3270,17 @@ _mesa_format_matches_format_and_type(gl_format >> gl_format, >> return GL_FALSE; >> >> case MESA_FORMAT_SIGNED_R16: >> + return format == GL_RED && type == GL_SHORT && littleEndian && >> + !swapBytes; >> case MESA_FORMAT_SIGNED_GR1616: >> + return format == GL_RG && type == GL_SHORT && littleEndian && >> !swapBytes; > > GL_SHORT is in host byte order, so checking for littleEndian here > incorrectly excludes big endian hosts.
Does that apply only to X16, or even to X16Y16, or even to X16Y16Z16W16? Marek > > > The last hunk has more examples of all of the above. > > > -- > Earthling Michel Dänzer | http://www.amd.com > Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
