X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmapi%2Fglapi%2Fgen%2Fgl_enums.py;h=f45782df85f168d83898af2cacd37bead386733f;hb=f93f95928d39b13e6c263b480b3e4bfdfa218df8;hp=a0c47f41f2076db3851e6be2b5a31866b59c6c70;hpb=673129e0b936b1c748e988d3f74f3efaab9e5693;p=mesa.git diff --git a/src/mapi/glapi/gen/gl_enums.py b/src/mapi/glapi/gen/gl_enums.py index a0c47f41f20..f45782df85f 100644 --- a/src/mapi/glapi/gen/gl_enums.py +++ b/src/mapi/glapi/gen/gl_enums.py @@ -78,12 +78,14 @@ static char token_tmp[20]; const char *_mesa_lookup_enum_by_nr( int nr ) { + enum_elt *elt; + STATIC_ASSERT(sizeof(enum_string_table) < (1 << 16)); - enum_elt *elt = _mesa_bsearch(& nr, enum_string_table_offsets, - Elements(enum_string_table_offsets), - sizeof(enum_string_table_offsets[0]), - (cfunc) compar_nr); + elt = bsearch(& nr, enum_string_table_offsets, + ARRAY_SIZE(enum_string_table_offsets), + sizeof(enum_string_table_offsets[0]), + (cfunc) compar_nr); if (elt != NULL) { return &enum_string_table[elt->offset]; @@ -125,7 +127,7 @@ static const char *prim_names[PRIM_MAX+3] = { const char * _mesa_lookup_prim_by_nr(GLuint nr) { - if (nr < Elements(prim_names)) + if (nr < ARRAY_SIZE(prim_names)) return prim_names[nr]; else return "invalid mode"; @@ -155,6 +157,12 @@ _mesa_lookup_prim_by_nr(GLuint nr) string_offsets = {} i = 0; + print '#if defined(__GNUC__)' + print '# define LONGSTRING __extension__' + print '#else' + print '# define LONGSTRING' + print '#endif' + print '' print 'LONGSTRING static const char enum_string_table[] = ' for enum, name in enum_table: print ' "%s\\0"' % (name)