mesa: add missing formats in _mesa_format_to_type_and_comps()

NOTE: this is a candidate for the 7.9 branch
(cherry picked from commit 79c65410c1)

Conflicts:

	src/mesa/main/formats.c
This commit is contained in:
Brian Paul 2010-11-15 08:49:26 -07:00
parent 9b1ac4d127
commit 97805cfedd

View file

@ -1109,6 +1109,7 @@ _mesa_format_to_type_and_comps(gl_format format,
case MESA_FORMAT_ARGB8888:
case MESA_FORMAT_ARGB8888_REV:
case MESA_FORMAT_XRGB8888:
case MESA_FORMAT_XRGB8888_REV:
*datatype = GL_UNSIGNED_BYTE;
*comps = 4;
return;
@ -1135,6 +1136,11 @@ _mesa_format_to_type_and_comps(gl_format format,
*comps = 4;
return;
case MESA_FORMAT_RGBA5551:
*datatype = GL_UNSIGNED_SHORT_5_5_5_1;
*comps = 4;
return;
case MESA_FORMAT_AL88:
case MESA_FORMAT_AL88_REV:
*datatype = GL_UNSIGNED_BYTE;
@ -1156,6 +1162,7 @@ _mesa_format_to_type_and_comps(gl_format format,
case MESA_FORMAT_L8:
case MESA_FORMAT_I8:
case MESA_FORMAT_CI8:
case MESA_FORMAT_S8:
*datatype = GL_UNSIGNED_BYTE;
*comps = 1;
return;
@ -1201,12 +1208,26 @@ _mesa_format_to_type_and_comps(gl_format format,
*comps = 2;
return;
case MESA_FORMAT_SIGNED_R8:
*datatype = GL_BYTE;
*comps = 1;
return;
case MESA_FORMAT_SIGNED_RG88:
*datatype = GL_BYTE;
*comps = 2;
return;
case MESA_FORMAT_SIGNED_RGBA8888:
case MESA_FORMAT_SIGNED_RGBA8888_REV:
case MESA_FORMAT_SIGNED_RGBX8888:
*datatype = GL_BYTE;
*comps = 4;
return;
case MESA_FORMAT_RGBA_16:
*datatype = GL_UNSIGNED_SHORT;
*comps = 4;
return;
case MESA_FORMAT_SIGNED_R_16:
*datatype = GL_SHORT;
*comps = 1;
@ -1331,9 +1352,14 @@ _mesa_format_to_type_and_comps(gl_format format,
*comps = 4;
return;
case MESA_FORMAT_NONE:
case MESA_FORMAT_COUNT:
/* For debug builds, warn if any formats are not handled */
#ifndef DEBUG
default:
_mesa_problem(NULL, "bad format in _mesa_format_to_type_and_comps");
#endif
_mesa_problem(NULL, "bad format %s in _mesa_format_to_type_and_comps",
_mesa_get_format_name(format));
*datatype = 0;
*comps = 1;
}