1#ifndef TATOOINE_GL_TO_STRING_H
2#define TATOOINE_GL_TO_STRING_H
12 case GL_CLAMP_TO_BORDER:
return "GL_CLAMP_TO_BORDER";
13 case GL_CLAMP_TO_EDGE:
return "GL_CLAMP_TO_EDGE";
14 case GL_REPEAT:
return "GL_REPEAT";
15 case GL_MIRRORED_REPEAT:
return "GL_MIRRORED_REPEAT";
18 case GL_NEAREST:
return "GL_NEAREST";
19 case GL_LINEAR:
return "GL_LINEAR";
20 case GL_NEAREST_MIPMAP_NEAREST:
return "GL_NEAREST_MIPMAP_NEAREST";
21 case GL_LINEAR_MIPMAP_NEAREST:
return "GL_LINEAR_MIPMAP_NEAREST";
22 case GL_NEAREST_MIPMAP_LINEAR:
return "GL_NEAREST_MIPMAP_LINEAR";
23 case GL_LINEAR_MIPMAP_LINEAR:
return "GL_LINEAR_MIPMAP_LINEAR";
24 default:
return std::to_string(i);
31 case GL_ARRAY_BUFFER:
return "GL_ARRAY_BUFFER";
32 case GL_ATOMIC_COUNTER_BUFFER:
return "GL_ATOMIC_COUNTER_BUFFER";
33 case GL_COPY_READ_BUFFER:
return "GL_COPY_READ_BUFFER";
34 case GL_COPY_WRITE_BUFFER:
return "GL_COPY_WRITE_BUFFER";
35 case GL_DISPATCH_INDIRECT_BUFFER:
return "GL_DISPATCH_INDIRECT_BUFFER";
36 case GL_DRAW_INDIRECT_BUFFER:
return "GL_DRAW_INDIRECT_BUFFER";
37 case GL_ELEMENT_ARRAY_BUFFER:
return "GL_ELEMENT_ARRAY_BUFFER";
38 case GL_PIXEL_PACK_BUFFER:
return "GL_PIXEL_PACK_BUFFER";
39 case GL_PIXEL_UNPACK_BUFFER:
return "GL_PIXEL_UNPACK_BUFFER";
40 case GL_QUERY_BUFFER:
return "GL_QUERY_BUFFER";
41 case GL_SHADER_STORAGE_BUFFER:
return "GL_SHADER_STORAGE_BUFFER";
42 case GL_TEXTURE_BUFFER:
return "GL_TEXTURE_BUFFER";
43 case GL_TRANSFORM_FEEDBACK_BUFFER:
return "GL_TRANSFORM_FEEDBACK_BUFFER";
44 case GL_UNIFORM_BUFFER:
return "GL_UNIFORM_BUFFER";
47 case GL_READ_ONLY:
return "GL_READ_ONLY";
48 case GL_WRITE_ONLY:
return "GL_WRITE_ONLY";
49 case GL_READ_WRITE:
return "GL_READ_WRITE";
52 case GL_STREAM_DRAW:
return "GL_STREAM_DRAW";
53 case GL_STREAM_READ:
return "GL_STREAM_READ";
54 case GL_STREAM_COPY:
return "GL_STREAM_COPY";
55 case GL_STATIC_DRAW:
return "GL_STATIC_DRAW";
56 case GL_STATIC_READ:
return "GL_STATIC_READ";
57 case GL_STATIC_COPY:
return "GL_STATIC_COPY";
58 case GL_DYNAMIC_DRAW:
return "GL_DYNAMIC_DRAW";
59 case GL_DYNAMIC_READ:
return "GL_DYNAMIC_READ";
61 return "GL_DYNAMIC_COPY";
64 case GL_ALPHA_TEST:
return "GL_ALPHA_TEST";
65 case GL_AUTO_NORMAL:
return "GL_AUTO_NORMAL";
66 case GL_BLEND:
return "GL_BLEND";
67 case GL_CLIP_PLANE0:
return "GL_CLIP_PLANE0";
68 case GL_CLIP_PLANE1:
return "GL_CLIP_PLANE1";
69 case GL_CLIP_PLANE2:
return "GL_CLIP_PLANE2";
70 case GL_CLIP_PLANE3:
return "GL_CLIP_PLANE3";
71 case GL_CLIP_PLANE4:
return "GL_CLIP_PLANE4";
72 case GL_CLIP_PLANE5:
return "GL_CLIP_PLANE5";
73 case GL_COLOR_LOGIC_OP:
return "GL_COLOR_LOGIC_OP";
74 case GL_COLOR_MATERIAL:
return "GL_COLOR_MATERIAL";
75 case GL_COLOR_SUM:
return "GL_COLOR_SUM";
76 case GL_COLOR_TABLE:
return "GL_COLOR_TABLE";
77 case GL_CONVOLUTION_1D:
return "GL_CONVOLUTION_1D";
78 case GL_CONVOLUTION_2D:
return "GL_CONVOLUTION_2D";
79 case GL_CULL_FACE:
return "GL_CULL_FACE";
80 case GL_DEPTH_TEST:
return "GL_DEPTH_TEST";
81 case GL_DITHER:
return "GL_DITHER";
82 case GL_FOG:
return "GL_FOG";
83 case GL_HISTOGRAM:
return "GL_HISTOGRAM";
84 case GL_INDEX_LOGIC_OP:
return "GL_INDEX_LOGIC_OP";
85 case GL_LIGHT0:
return "GL_LIGHT0";
86 case GL_LIGHT1:
return "GL_LIGHT1";
87 case GL_LIGHT2:
return "GL_LIGHT2";
88 case GL_LIGHT3:
return "GL_LIGHT3";
89 case GL_LIGHT4:
return "GL_LIGHT4";
90 case GL_LIGHT5:
return "GL_LIGHT5";
91 case GL_LIGHT6:
return "GL_LIGHT6";
92 case GL_LIGHT7:
return "GL_LIGHT7";
93 case GL_LIGHTING:
return "GL_LIGHTING";
94 case GL_LINE_SMOOTH:
return "GL_LINE_SMOOTH";
95 case GL_LINE_STIPPLE:
return "GL_LINE_STIPPLE";
96 case GL_MAP1_COLOR_4:
return "GL_MAP1_COLOR_4";
97 case GL_MAP1_INDEX:
return "GL_MAP1_INDEX";
98 case GL_MAP1_NORMAL:
return "GL_MAP1_NORMAL";
99 case GL_MAP1_TEXTURE_COORD_1:
return "GL_MAP1_TEXTURE_COORD_1";
100 case GL_MAP1_TEXTURE_COORD_2:
return "GL_MAP1_TEXTURE_COORD_2";
101 case GL_MAP1_TEXTURE_COORD_3:
return "GL_MAP1_TEXTURE_COORD_3";
102 case GL_MAP1_TEXTURE_COORD_4:
return "GL_MAP1_TEXTURE_COORD_4";
103 case GL_MAP1_VERTEX_3:
return "GL_MAP1_VERTEX_3";
104 case GL_MAP1_VERTEX_4:
return "GL_MAP1_VERTEX_4";
105 case GL_MAP2_COLOR_4:
return "GL_MAP2_COLOR_4";
106 case GL_MAP2_INDEX:
return "GL_MAP2_INDEX";
107 case GL_MAP2_NORMAL:
return "GL_MAP2_NORMAL";
108 case GL_MAP2_TEXTURE_COORD_1:
return "GL_MAP2_TEXTURE_COORD_1";
109 case GL_MAP2_TEXTURE_COORD_2:
return "GL_MAP2_TEXTURE_COORD_2";
110 case GL_MAP2_TEXTURE_COORD_3:
return "GL_MAP2_TEXTURE_COORD_3";
111 case GL_MAP2_TEXTURE_COORD_4:
return "GL_MAP2_TEXTURE_COORD_4";
112 case GL_MAP2_VERTEX_3:
return "GL_MAP2_VERTEX_3";
113 case GL_MAP2_VERTEX_4:
return "GL_MAP2_VERTEX_4";
114 case GL_MINMAX:
return "GL_MINMAX";
115 case GL_MULTISAMPLE:
return "GL_MULTISAMPLE";
116 case GL_NORMALIZE:
return "GL_NORMALIZE";
117 case GL_POINT_SMOOTH:
return "GL_POINT_SMOOTH";
118 case GL_POINT_SPRITE:
return "GL_POINT_SPRITE";
119 case GL_POLYGON_OFFSET_FILL:
return "GL_POLYGON_OFFSET_FILL";
120 case GL_POLYGON_OFFSET_LINE:
return "GL_POLYGON_OFFSET_LINE";
121 case GL_POLYGON_OFFSET_POINT:
return "GL_POLYGON_OFFSET_POINT";
122 case GL_POLYGON_SMOOTH:
return "GL_POLYGON_SMOOTH";
123 case GL_POLYGON_STIPPLE:
return "GL_POLYGON_STIPPLE";
124 case GL_POST_COLOR_MATRIX_COLOR_TABLE:
125 return "GL_POST_COLOR_MATRIX_COLOR_TABLE";
126 case GL_POST_CONVOLUTION_COLOR_TABLE:
127 return "GL_POST_CONVOLUTION_COLOR_TABLE";
128 case GL_RESCALE_NORMAL:
return "GL_RESCALE_NORMAL";
129 case GL_SAMPLE_ALPHA_TO_COVERAGE:
return "GL_SAMPLE_ALPHA_TO_COVERAGE";
130 case GL_SAMPLE_ALPHA_TO_ONE:
return "GL_SAMPLE_ALPHA_TO_ONE";
131 case GL_SAMPLE_COVERAGE:
return "GL_SAMPLE_COVERAGE";
132 case GL_SEPARABLE_2D:
return "GL_SEPARABLE_2D";
133 case GL_SCISSOR_TEST:
return "GL_SCISSOR_TEST";
134 case GL_STENCIL_TEST:
return "GL_STENCIL_TEST";
135 case GL_TEXTURE_1D:
return "GL_TEXTURE_1D";
136 case GL_TEXTURE_2D:
return "GL_TEXTURE_2D";
137 case GL_TEXTURE_3D:
return "GL_TEXTURE_3D";
138 case GL_TEXTURE_CUBE_MAP:
return "GL_TEXTURE_CUBE_MAP";
139 case GL_TEXTURE_GEN_Q:
return "GL_TEXTURE_GEN_Q";
140 case GL_TEXTURE_GEN_R:
return "GL_TEXTURE_GEN_R";
141 case GL_TEXTURE_GEN_S:
return "GL_TEXTURE_GEN_S";
142 case GL_TEXTURE_GEN_T:
return "GL_TEXTURE_GEN_T";
143 case GL_VERTEX_PROGRAM_POINT_SIZE:
return "GL_VERTEX_PROGRAM_POINT_SIZE";
144 case GL_VERTEX_PROGRAM_TWO_SIDE:
return "GL_VERTEX_PROGRAM_TWO_SIDE";
147 case GL_RED:
return "GL_RED";
148 case GL_RG:
return "GL_RG";
149 case GL_RGB:
return "GL_RGB";
150 case GL_BGR:
return "GL_BGR";
151 case GL_RGBA:
return "GL_RGBA";
152 case GL_BGRA:
return "GL_BGRA";
153 case GL_RED_INTEGER:
return "GL_RED_INTEGER";
154 case GL_RG_INTEGER:
return "GL_RG_INTEGER";
155 case GL_RGB_INTEGER:
return "GL_RGB_INTEGER";
156 case GL_BGR_INTEGER:
return "GL_BGR_INTEGER";
157 case GL_RGBA_INTEGER:
return "GL_RGBA_INTEGER";
158 case GL_BGRA_INTEGER:
return "GL_BGRA_INTEGER";
159 case GL_STENCIL_INDEX:
return "GL_STENCIL_INDEX";
160 case GL_DEPTH_COMPONENT:
return "GL_DEPTH_COMPONENT";
161 case GL_DEPTH_STENCIL:
return "GL_DEPTH_STENCIL";
162 case GL_R8:
return "GL_R8";
163 case GL_RG8:
return "GL_RG8";
164 case GL_RGB8:
return "GL_RGB8";
165 case GL_RGBA8:
return "GL_RGBA8";
166 case GL_R8I:
return "GL_R8I";
167 case GL_RG8I:
return "GL_RG8I";
168 case GL_RGB8I:
return "GL_RGB8I";
169 case GL_RGBA8I:
return "GL_RGBA8I";
170 case GL_R8UI:
return "GL_R8UI";
171 case GL_RG8UI:
return "GL_RG8UI";
172 case GL_RGB8UI:
return "GL_RGB8UI";
173 case GL_RGBA8UI:
return "GL_RGBA8UI";
174 case GL_R16I:
return "GL_R16I";
175 case GL_RG16I:
return "GL_RG16I";
176 case GL_RGB16I:
return "GL_RGB16I";
177 case GL_RGBA16I:
return "GL_RGBA16I";
178 case GL_R16UI:
return "GL_R16UI";
179 case GL_RG16UI:
return "GL_RG16UI";
180 case GL_RGB16UI:
return "GL_RGB16UI";
181 case GL_RGBA16UI:
return "GL_RGBA16UI";
182 case GL_R32I:
return "GL_R32I";
183 case GL_RG32I:
return "GL_RG32I";
184 case GL_RGB32I:
return "GL_RGB32I";
185 case GL_RGBA32I:
return "GL_RGBA32I";
186 case GL_R32UI:
return "GL_R32UI";
187 case GL_RG32UI:
return "GL_RG32UI";
188 case GL_RGB32UI:
return "GL_RGB32UI";
189 case GL_RGBA32UI:
return "GL_RGBA32UI";
190 case GL_R16:
return "GL_R16";
191 case GL_RG16:
return "GL_RG16";
192 case GL_RGB16:
return "GL_RGB16";
193 case GL_RGBA16:
return "GL_RGBA16";
194 case GL_R32F:
return "GL_R32F";
195 case GL_RG32F:
return "GL_RG32F";
196 case GL_RGB32F:
return "GL_RGB32F";
197 case GL_RGBA32F:
return "GL_RGBA32F";
198 case GL_R16F:
return "GL_R16F";
199 case GL_RG16F:
return "GL_RG16F";
200 case GL_RGB16F:
return "GL_RGB16F";
201 case GL_RGBA16F:
return "GL_RGBA16F";
203 case GL_UNSIGNED_BYTE:
return "GL_UNSIGNED_BYTE";
204 case GL_BYTE:
return "GL_BYTE";
205 case GL_UNSIGNED_SHORT:
return "GL_UNSIGNED_SHORT";
206 case GL_SHORT:
return "GL_SHORT";
207 case GL_UNSIGNED_INT:
return "GL_UNSIGNED_INT";
208 case GL_INT:
return "GL_INT";
209 case GL_FLOAT:
return "GL_FLOAT";
210 case GL_UNSIGNED_BYTE_3_3_2:
return "GL_UNSIGNED_BYTE_3_3_2";
211 case GL_UNSIGNED_BYTE_2_3_3_REV:
return "GL_UNSIGNED_BYTE_2_3_3_REV";
212 case GL_UNSIGNED_SHORT_5_6_5:
return "GL_UNSIGNED_SHORT_5_6_5";
213 case GL_UNSIGNED_SHORT_5_6_5_REV:
return "GL_UNSIGNED_SHORT_5_6_5_REV";
214 case GL_UNSIGNED_SHORT_4_4_4_4:
return "GL_UNSIGNED_SHORT_4_4_4_4";
215 case GL_UNSIGNED_SHORT_4_4_4_4_REV:
return "GL_UNSIGNED_SHORT_4_4_4_4_REV";
216 case GL_UNSIGNED_SHORT_5_5_5_1:
return "GL_UNSIGNED_SHORT_5_5_5_1";
217 case GL_UNSIGNED_SHORT_1_5_5_5_REV:
return "GL_UNSIGNED_SHORT_1_5_5_5_REV";
218 case GL_UNSIGNED_INT_8_8_8_8:
return "GL_UNSIGNED_INT_8_8_8_8";
219 case GL_UNSIGNED_INT_8_8_8_8_REV:
return "GL_UNSIGNED_INT_8_8_8_8_REV";
220 case GL_UNSIGNED_INT_10_10_10_2:
return "GL_UNSIGNED_INT_10_10_10_2";
221 case GL_UNSIGNED_INT_2_10_10_10_REV:
222 return "GL_UNSIGNED_INT_2_10_10_10_REV";
225 case GL_COLOR_ATTACHMENT0:
return "GL_COLOR_ATTACHEMENT0";
226 case GL_COLOR_ATTACHMENT1:
return "GL_COLOR_ATTACHEMENT1";
227 case GL_COLOR_ATTACHMENT2:
return "GL_COLOR_ATTACHEMENT2";
228 case GL_COLOR_ATTACHMENT3:
return "GL_COLOR_ATTACHEMENT3";
229 case GL_COLOR_ATTACHMENT4:
return "GL_COLOR_ATTACHEMENT4";
230 case GL_COLOR_ATTACHMENT5:
return "GL_COLOR_ATTACHEMENT5";
231 case GL_COLOR_ATTACHMENT6:
return "GL_COLOR_ATTACHEMENT6";
232 case GL_COLOR_ATTACHMENT7:
return "GL_COLOR_ATTACHEMENT7";
233 case GL_COLOR_ATTACHMENT8:
return "GL_COLOR_ATTACHEMENT8";
234 case GL_COLOR_ATTACHMENT9:
return "GL_COLOR_ATTACHEMENT9";
235 case GL_COLOR_ATTACHMENT10:
return "GL_COLOR_ATTACHEMENT10";
236 case GL_COLOR_ATTACHMENT11:
return "GL_COLOR_ATTACHEMENT11";
237 case GL_COLOR_ATTACHMENT12:
return "GL_COLOR_ATTACHEMENT12";
238 case GL_COLOR_ATTACHMENT13:
return "GL_COLOR_ATTACHEMENT13";
239 case GL_COLOR_ATTACHMENT14:
return "GL_COLOR_ATTACHEMENT14";
240 case GL_COLOR_ATTACHMENT15:
return "GL_COLOR_ATTACHEMENT15";
241 case GL_DEPTH_ATTACHMENT:
return "GL_DEPTH_ATTACHMENT";
242 case GL_STENCIL_ATTACHMENT:
return "GL_STENCIL_ATTACHMENT";
243 case GL_DEPTH_STENCIL_ATTACHMENT:
244 return "GL_DEPTH_STENCIL_ATTACHMENT";
247 case GL_POINTS:
return "GL_POINTS";
248 case GL_LINE_STRIP:
return "GL_LINE_STRIP";
249 case GL_LINE_LOOP:
return "GL_LINE_LOOP";
250 case GL_LINES:
return "GL_LINES";
251 case GL_LINE_STRIP_ADJACENCY:
return "GL_LINE_STRIP_ADJACENCY";
252 case GL_LINES_ADJACENCY:
return "GL_LINES_ADJACENCY";
253 case GL_TRIANGLE_STRIP:
return "GL_TRIANGLE_STRIP";
254 case GL_TRIANGLE_FAN:
return "GL_TRIANGLE_FAN";
255 case GL_TRIANGLES:
return "GL_TRIANGLES";
256 case GL_TRIANGLE_STRIP_ADJACENCY:
return "GL_TRIANGLE_STRIP_ADJACENCY";
257 case GL_TRIANGLES_ADJACENCY:
return "GL_TRIANGLES_ADJACENCY";
258 case GL_PATCHES:
return "GL_PATCHES";
261 case GL_TEXTURE_WRAP_S:
return "GL_TEXTURE_WRAP_S";
262 case GL_TEXTURE_WRAP_T:
return "GL_TEXTURE_WRAP_T";
263 case GL_TEXTURE_WRAP_R:
return "GL_TEXTURE_WRAP_R";
265 case GL_TEXTURE_MIN_FILTER:
return "GL_TEXTURE_MIN_FILTER";
266 case GL_TEXTURE_MAG_FILTER:
return "GL_TEXTURE_MAG_FILTER";
268 default:
return "GLenum(" + std::to_string(e) +
")";
274 auto pipe = [&flags]() {
275 if (!flags.empty()) { flags += std::string(
" | "); }
277 if (GL_MAP_READ_BIT & b) {
279 flags +=
"GL_MAP_READ_BIT";
281 if (GL_MAP_WRITE_BIT & b) {
283 flags +=
"GL_MAP_WRITE_BIT";
285 if (GL_MAP_PERSISTENT_BIT & b) {
287 flags +=
"GL_MAP_PERSISTENT_BIT";
289 if (GL_MAP_COHERENT_BIT & b) {
291 flags +=
"GL_MAP_COHERENT_BIT";
293 if (GL_MAP_INVALIDATE_RANGE_BIT & b) {
295 flags +=
"GL_MAP_INVALIDATE_RANGE_BIT";
297 if (GL_MAP_INVALIDATE_BUFFER_BIT & b) {
299 flags +=
"GL_MAP_INVALIDATE_BUFFER_BIT";
301 if (GL_MAP_FLUSH_EXPLICIT_BIT & b) {
303 flags +=
"GL_MAP_FLUSH_EXPLICIT_BIT";
305 if (GL_MAP_UNSYNCHRONIZED_BIT & b) {
307 flags +=
"GL_MAP_UNSYNCHRONIZED_BIT";
309 if (GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT & b) {
311 flags +=
"GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT";
313 if (GL_ELEMENT_ARRAY_BARRIER_BIT & b) {
315 flags +=
"GL_ELEMENT_ARRAY_BARRIER_BIT";
317 if (GL_UNIFORM_BARRIER_BIT & b) {
319 flags +=
"GL_UNIFORM_BARRIER_BIT";
321 if (GL_TEXTURE_FETCH_BARRIER_BIT & b) {
323 flags +=
"GL_TEXTURE_FETCH_BARRIER_BIT";
325 if (GL_SHADER_IMAGE_ACCESS_BARRIER_BIT & b) {
327 flags +=
"GL_SHADER_IMAGE_ACCESS_BARRIER_BIT";
329 if (GL_COMMAND_BARRIER_BIT & b) {
331 flags +=
"GL_COMMAND_BARRIER_BIT";
333 if (GL_PIXEL_BUFFER_BARRIER_BIT & b) {
335 flags +=
"GL_PIXEL_BUFFER_BARRIER_BIT";
337 if (GL_TEXTURE_UPDATE_BARRIER_BIT & b) {
339 flags +=
"GL_TEXTURE_UPDATE_BARRIER_BIT";
341 if (GL_BUFFER_UPDATE_BARRIER_BIT & b) {
343 flags +=
"GL_BUFFER_UPDATE_BARRIER_BIT";
345 if (GL_FRAMEBUFFER_BARRIER_BIT & b) {
347 flags +=
"GL_FRAMEBUFFER_BARRIER_BIT";
349 if (GL_TRANSFORM_FEEDBACK_BARRIER_BIT & b) {
351 flags +=
"GL_TRANSFORM_FEEDBACK_BARRIER_BIT";
353 if (GL_ATOMIC_COUNTER_BARRIER_BIT & b) {
355 flags +=
"GL_ATOMIC_COUNTER_BARRIER_BIT";
357 if (GL_SHADER_STORAGE_BARRIER_BIT & b) {
359 flags +=
"GL_SHADER_STORAGE_BARRIER_BIT";
Definition: ansiformat.h:6
auto map_access_to_string(GLbitfield b) -> std::string
Definition: tostring.h:272
auto texparami_to_string(GLint i) -> std::string
Definition: tostring.h:9
auto to_string(key const k) -> std::string