3 This file is part of gldbg
4 Copyright © 2009 Mikko Rasa, Mikkosoft Productions
5 Distributed under the GPL
12 typedef struct sEnumInfo
19 #include "enums.table"
24 static char *buf_reserve(unsigned size)
28 buffer = (char *)malloc(2048);
36 const char *describe_enum(GLenum value, const char *categ)
39 unsigned high = enum_count;
44 unsigned mid = (low+high)/2;
47 if(enums[mid].value<value)
49 else if(enums[mid].value>value)
52 cmp = strcmp(enums[mid].category, categ);
59 return enums[mid].name;
62 if(enums[low].value==value)
63 return enums[low].name;
64 if(enums[high].value==value)
65 return enums[high].name;
67 ptr = buf_reserve(20);
68 snprintf(ptr, 20, "GLenum(0x%X)", value);
72 const char *describe_bitfield(int mask, const char *categ)
75 char *buf = buf_reserve(200);
78 for(bit=1; bit; bit<<=1)
81 const char *bdesc = describe_enum(bit, categ);