mesa: Handle GL_COLOR_INDEX in _mesa_format_from_format_and_type().
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 13 Nov 2019 07:12:54 +0000 (23:12 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 15 Nov 2019 20:32:17 +0000 (20:32 +0000)
Just return MESA_FORMAT_NONE to avoid triggering unreachable; there's
really no sensible thing to return for this case anyway.

This prevents regressions in the next commit, which makes st/mesa
start using this function to find a reasonable format from GL format
and type enums.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/main/glformats.c

index c450ffc8ed76a5c360cc0de984d62f66635aa9bd..5709b98306702afe0c64be3c0fd9c3386200b30a 100644 (file)
@@ -3566,6 +3566,9 @@ _mesa_format_from_format_and_type(GLenum format, GLenum type)
    bool normalized = false, is_float = false, is_signed = false;
    int num_channels = 0, type_size = 0;
 
+   if (format == GL_COLOR_INDEX)
+      return MESA_FORMAT_NONE;
+
    /* Extract array format type information from the OpenGL data type */
    switch (type) {
    case GL_UNSIGNED_BYTE: