1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file is auto-generated from
6// gpu/command_buffer/build_gles2_cmd_buffer.py
7// DO NOT EDIT!
8
9#ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_IMPLEMENTATION_AUTOGEN_H_
10#define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_IMPLEMENTATION_AUTOGEN_H_
11
12static const GLES2Util::EnumToString enum_to_string_table[] = {
13  { 0x78EC, "GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM", },
14  { 0x8825, "GL_DRAW_BUFFER0_NV", },
15  { 0x0BC1, "GL_ALPHA_TEST_FUNC_QCOM", },
16  { 0x884C, "GL_TEXTURE_COMPARE_MODE_EXT", },
17  { 0x0BC2, "GL_ALPHA_TEST_REF_QCOM", },
18  { 0x78EF, "GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM", },
19  { 0x884D, "GL_TEXTURE_COMPARE_FUNC_EXT", },
20  { 0x884E, "GL_COMPARE_REF_TO_TEXTURE_EXT", },
21  { 0x93A1, "GL_BGRA8_EXT", },
22  { 0x8826, "GL_DRAW_BUFFER1_NV", },
23  { 0x1E01, "GL_REPLACE", },
24  { 0, "GL_FALSE", },
25  { 0x00400000, "GL_STENCIL_BUFFER_BIT6_QCOM", },
26  { 0x82E6, "GL_SAMPLER", },
27  { 0x1E02, "GL_INCR", },
28  { 0x9130, "GL_SGX_PROGRAM_BINARY_IMG", },
29  { 0x9133, "GL_RENDERBUFFER_SAMPLES_IMG", },
30  { 0x82E0, "GL_BUFFER", },
31  { 0x9135, "GL_MAX_SAMPLES_IMG", },
32  { 0x9134, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG", },
33  { 0x9136, "GL_TEXTURE_SAMPLES_IMG", },
34  { 0x00000020, "GL_COLOR_BUFFER_BIT5_QCOM", },
35  { 0x0008, "GL_MAP_INVALIDATE_BUFFER_BIT_EXT", },
36  { 0x0BC0, "GL_ALPHA_TEST_QCOM", },
37  { 0x0006, "GL_TRIANGLE_FAN", },
38  { 0x0004, "GL_TRIANGLES", },
39  { 0x0005, "GL_TRIANGLE_STRIP", },
40  { 0x0002, "GL_LINE_LOOP", },
41  { 0x0003, "GL_LINE_STRIP", },
42  { 0x0000, "GL_POINTS", },
43  { 0x0001, "GL_LINES", },
44  { 0x78F0, "GL_IMAGE_ROWBYTES_CHROMIUM", },
45  { 0x88B8, "GL_READ_ONLY", },
46  { 0x88B9, "GL_WRITE_ONLY_OES", },
47  { 0x8211, "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT", },
48  { 0x8210, "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT", },
49  { 0x8741, "GL_PROGRAM_BINARY_LENGTH_OES", },
50  { 0x8740, "GL_Z400_BINARY_AMD", },
51  { 0x8192, "GL_GENERATE_MIPMAP_HINT", },
52  { 0x87F9, "GL_3DC_X_AMD", },
53  { 0x8A53, "GL_SYNC_OBJECT_APPLE", },
54  { 0x8DF8, "GL_SHADER_BINARY_FORMATS", },
55  { 0x8DF9, "GL_NUM_SHADER_BINARY_FORMATS", },
56  { 0x826D, "GL_DEBUG_GROUP_STACK_DEPTH", },
57  { 0x826B, "GL_DEBUG_SEVERITY_NOTIFICATION", },
58  { 0x826C, "GL_MAX_DEBUG_GROUP_STACK_DEPTH", },
59  { 0x8B59, "GL_BOOL_VEC4", },
60  { 0x8B58, "GL_BOOL_VEC3", },
61  { 0x8B57, "GL_BOOL_VEC2", },
62  { 0x8DF1, "GL_MEDIUM_FLOAT", },
63  { 0x8B55, "GL_INT_VEC4", },
64  { 0x8B54, "GL_INT_VEC3", },
65  { 0x8DF4, "GL_MEDIUM_INT", },
66  { 0x8DF5, "GL_HIGH_INT", },
67  { 0x8DF6, "GL_UNSIGNED_INT_10_10_10_2_OES", },
68  { 0x8B50, "GL_FLOAT_VEC2", },
69  { 0x806F, "GL_TEXTURE_3D_OES", },
70  { 0x92E0, "GL_DEBUG_OUTPUT", },
71  { 0x806A, "GL_TEXTURE_BINDING_3D_OES", },
72  { 0x93D9, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR", },
73  { 0x8CE3, "GL_COLOR_ATTACHMENT3_NV", },
74  { 0x8069, "GL_TEXTURE_BINDING_2D", },
75  { 0x8261, "GL_NO_RESET_NOTIFICATION_EXT", },
76  { 0x8DFA, "GL_SHADER_COMPILER", },
77  { 0x8DFB, "GL_MAX_VERTEX_UNIFORM_VECTORS", },
78  { 0x8DFC, "GL_MAX_VARYING_VECTORS", },
79  { 0x8B5C, "GL_FLOAT_MAT4", },
80  { 0x8B5B, "GL_FLOAT_MAT3", },
81  { 0x8B5A, "GL_FLOAT_MAT2", },
82  { 0x0D05, "GL_PACK_ALIGNMENT", },
83  { 0x87FF, "GL_PROGRAM_BINARY_FORMATS_OES", },
84  { 0x87FE, "GL_NUM_PROGRAM_BINARY_FORMATS_OES", },
85  { 0x2600, "GL_NEAREST", },
86  { 0x2601, "GL_LINEAR", },
87  { 0x8C03, "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG", },
88  { 0x9242, "GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM", },
89  { 0x88BA, "GL_READ_WRITE", },
90  { 0x88BB, "GL_BUFFER_ACCESS_OES", },
91  { 0x88BC, "GL_BUFFER_MAPPED_OES", },
92  { 0x88BD, "GL_BUFFER_MAP_POINTER_OES", },
93  { 0x0C10, "GL_SCISSOR_BOX", },
94  { 0x0C11, "GL_SCISSOR_TEST", },
95  { 0x80000000, "GL_MULTISAMPLE_BUFFER_BIT7_QCOM", },
96  { 0x300E, "GL_CONTEXT_LOST", },
97  { 0x02000000, "GL_MULTISAMPLE_BUFFER_BIT1_QCOM", },
98  { 0x8C2F, "GL_ANY_SAMPLES_PASSED_EXT", },
99  { 0x8BD2, "GL_TEXTURE_WIDTH_QCOM", },
100  { 0x8BD3, "GL_TEXTURE_HEIGHT_QCOM", },
101  { 0x8BD4, "GL_TEXTURE_DEPTH_QCOM", },
102  { 0x8BD5, "GL_TEXTURE_INTERNAL_FORMAT_QCOM", },
103  { 0x8BD6, "GL_TEXTURE_FORMAT_QCOM", },
104  { 0x8BD7, "GL_TEXTURE_TYPE_QCOM", },
105  { 0x8B8D, "GL_CURRENT_PROGRAM", },
106  { 0x8BD9, "GL_TEXTURE_NUM_LEVELS_QCOM", },
107  { 0x8B8A, "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH", },
108  { 0x8B8B, "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES", },
109  { 0x8B8C, "GL_SHADING_LANGUAGE_VERSION", },
110  { 0x8BDA, "GL_TEXTURE_TARGET_QCOM", },
111  { 0x8BDB, "GL_TEXTURE_OBJECT_VALID_QCOM", },
112  { 0x8BDC, "GL_STATE_RESTORE", },
113  { 0x8B88, "GL_SHADER_SOURCE_LENGTH", },
114  { 0x8B89, "GL_ACTIVE_ATTRIBUTES", },
115  { 0x8B84, "GL_INFO_LOG_LENGTH", },
116  { 0x8B85, "GL_ATTACHED_SHADERS", },
117  { 0x8B86, "GL_ACTIVE_UNIFORMS", },
118  { 0x8B87, "GL_ACTIVE_UNIFORM_MAX_LENGTH", },
119  { 0x8B80, "GL_DELETE_STATUS", },
120  { 0x8B81, "GL_COMPILE_STATUS", },
121  { 0x8B82, "GL_LINK_STATUS", },
122  { 0x8B83, "GL_VALIDATE_STATUS", },
123  { 0x93D2, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR", },
124  { 0x8D48, "GL_STENCIL_INDEX8", },
125  { 0x8D46, "GL_STENCIL_INDEX1_OES", },
126  { 0x8D47, "GL_STENCIL_INDEX4_OES", },
127  { 0x8D44, "GL_RENDERBUFFER_INTERNAL_FORMAT", },
128  { 0x00000100, "GL_DEPTH_BUFFER_BIT", },
129  { 0x8D42, "GL_RENDERBUFFER_WIDTH", },
130  { 0x8D43, "GL_RENDERBUFFER_HEIGHT", },
131  { 0x8D40, "GL_FRAMEBUFFER", },
132  { 0x8D41, "GL_RENDERBUFFER", },
133  { 0x0BD0, "GL_DITHER", },
134  { 0x93D3, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR", },
135  { 0x9144, "GL_MAX_DEBUG_LOGGED_MESSAGES", },
136  { 0x1801, "GL_DEPTH_EXT", },
137  { 0x1800, "GL_COLOR_EXT", },
138  { 0x1802, "GL_STENCIL_EXT", },
139  { 0x0B21, "GL_LINE_WIDTH", },
140  { 0x81A5, "GL_DEPTH_COMPONENT16", },
141  { 0x81A6, "GL_DEPTH_COMPONENT24_OES", },
142  { 0x81A7, "GL_DEPTH_COMPONENT32_OES", },
143  { 0x88FE, "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE", },
144  { 0x93D0, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR", },
145  { 0x9143, "GL_MAX_DEBUG_MESSAGE_LENGTH", },
146  { 0x8DFD, "GL_MAX_FRAGMENT_UNIFORM_VECTORS", },
147  { 0x9145, "GL_DEBUG_LOGGED_MESSAGES", },
148  { 0x9146, "GL_DEBUG_SEVERITY_HIGH", },
149  { 0x9147, "GL_DEBUG_SEVERITY_MEDIUM", },
150  { 0x9148, "GL_DEBUG_SEVERITY_LOW", },
151  { 0x8F60, "GL_MALI_SHADER_BINARY_ARM", },
152  { 0x8F61, "GL_MALI_PROGRAM_BINARY_ARM", },
153  { 0x87EE, "GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD", },
154  { 0x822B, "GL_RG8_EXT", },
155  { 0x93D1, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR", },
156  { 0x822D, "GL_R16F_EXT", },
157  { 0x822E, "GL_R32F_EXT", },
158  { 1, "GL_ES_VERSION_2_0", },
159  { 0x84F9, "GL_DEPTH_STENCIL_OES", },
160  { 0x8368, "GL_UNSIGNED_INT_2_10_10_10_REV_EXT", },
161  { 0x8819, "GL_LUMINANCE_ALPHA32F_EXT", },
162  { 0x8818, "GL_LUMINANCE32F_EXT", },
163  { 0x8363, "GL_UNSIGNED_SHORT_5_6_5", },
164  { 0x8814, "GL_RGBA32F_EXT", },
165  { 0x84F2, "GL_ALL_COMPLETED_NV", },
166  { 0x8816, "GL_ALPHA32F_EXT", },
167  { 0x84F4, "GL_FENCE_CONDITION_NV", },
168  { 0x8366, "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT", },
169  { 0x8365, "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT", },
170  { 0x881E, "GL_LUMINANCE16F_EXT", },
171  { 0x84FA, "GL_UNSIGNED_INT_24_8_OES", },
172  { 0x881F, "GL_LUMINANCE_ALPHA16F_EXT", },
173  { 0x881A, "GL_RGBA16F_EXT", },
174  { 0x84FE, "GL_TEXTURE_MAX_ANISOTROPY_EXT", },
175  { 0x0901, "GL_CCW", },
176  { 0x0900, "GL_CW", },
177  { 0x8229, "GL_R8_EXT", },
178  { 0x8227, "GL_RG_EXT", },
179  { 0x8B62, "GL_SAMPLER_2D_SHADOW_EXT", },
180  { 0x8B63, "GL_SAMPLER_2D_RECT_ARB", },
181  { 0x8B60, "GL_SAMPLER_CUBE", },
182  { 0x93D7, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR", },
183  { 0x00001000, "GL_DEPTH_BUFFER_BIT4_QCOM", },
184  { 0x83F0, "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", },
185  { 0x00000080, "GL_COLOR_BUFFER_BIT7_QCOM", },
186  { 0x88F0, "GL_DEPTH24_STENCIL8_OES", },
187  { 0x80A0, "GL_SAMPLE_COVERAGE", },
188  { 0x93D4, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR", },
189  { 0x822F, "GL_RG16F_EXT", },
190  { 0x80A9, "GL_SAMPLES", },
191  { 0x80A8, "GL_SAMPLE_BUFFERS", },
192  { 0x0D55, "GL_ALPHA_BITS", },
193  { 0x0D54, "GL_BLUE_BITS", },
194  { 0x0D57, "GL_STENCIL_BITS", },
195  { 0x0D56, "GL_DEPTH_BITS", },
196  { 0x8CD5, "GL_FRAMEBUFFER_COMPLETE", },
197  { 0x0D50, "GL_SUBPIXEL_BITS", },
198  { 0x0D53, "GL_GREEN_BITS", },
199  { 0x0D52, "GL_RED_BITS", },
200  { 0x8037, "GL_POLYGON_OFFSET_FILL", },
201  { 0x8034, "GL_UNSIGNED_SHORT_5_5_5_1", },
202  { 0x8033, "GL_UNSIGNED_SHORT_4_4_4_4", },
203  { 0x0305, "GL_ONE_MINUS_DST_ALPHA", },
204  { 0x0304, "GL_DST_ALPHA", },
205  { 0x0307, "GL_ONE_MINUS_DST_COLOR", },
206  { 0x0306, "GL_DST_COLOR", },
207  { 0x0301, "GL_ONE_MINUS_SRC_COLOR", },
208  { 0x0300, "GL_SRC_COLOR", },
209  { 0x0303, "GL_ONE_MINUS_SRC_ALPHA", },
210  { 0x0302, "GL_SRC_ALPHA", },
211  { 0x0308, "GL_SRC_ALPHA_SATURATE", },
212  { 0x2A00, "GL_POLYGON_OFFSET_UNITS", },
213  { 0xFFFFFFFF, "GL_ALL_SHADER_BITS_EXT", },
214  { 0x00800000, "GL_STENCIL_BUFFER_BIT7_QCOM", },
215  { 0x00020000, "GL_STENCIL_BUFFER_BIT1_QCOM", },
216  { 0x8D00, "GL_DEPTH_ATTACHMENT", },
217  { 0x8FA0, "GL_PERFMON_GLOBAL_MODE_QCOM", },
218  { 0x8815, "GL_RGB32F_EXT", },
219  { 0x813D, "GL_TEXTURE_MAX_LEVEL_APPLE", },
220  { 0x84F3, "GL_FENCE_STATUS_NV", },
221  { 0x8CDD, "GL_FRAMEBUFFER_UNSUPPORTED", },
222  { 0x8CDF, "GL_MAX_COLOR_ATTACHMENTS_NV", },
223  { 0x90F3, "GL_CONTEXT_ROBUST_ACCESS_EXT", },
224  { 0x90F2, "GL_MAX_MULTIVIEW_BUFFERS_EXT", },
225  { 0x90F1, "GL_MULTIVIEW_EXT", },
226  { 0x90F0, "GL_COLOR_ATTACHMENT_EXT", },
227  { 0x803C, "GL_ALPHA8_OES", },
228  { 0x84F5, "GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM", },
229  { 0x882A, "GL_DRAW_BUFFER5_NV", },
230  { 0x80AA, "GL_SAMPLE_COVERAGE_VALUE", },
231  { 0x84F6, "GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM", },
232  { 0x80AB, "GL_SAMPLE_COVERAGE_INVERT", },
233  { 0x8FC4, "GL_SHADER_BINARY_VIV", },
234  { 0x882B, "GL_DRAW_BUFFER6_NV", },
235  { 0x8C17, "GL_UNSIGNED_NORMALIZED_EXT", },
236  { 0x8A4F, "GL_PROGRAM_PIPELINE_OBJECT_EXT", },
237  { 0x882C, "GL_DRAW_BUFFER7_NV", },
238  { 0x0010, "GL_MAP_FLUSH_EXPLICIT_BIT_EXT", },
239  { 0x882D, "GL_DRAW_BUFFER8_NV", },
240  { 0x84FF, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", },
241  { 0x0B74, "GL_DEPTH_FUNC", },
242  { 0x881B, "GL_RGB16F_EXT", },
243  { 0x0B71, "GL_DEPTH_TEST", },
244  { 0x0B70, "GL_DEPTH_RANGE", },
245  { 0x0B73, "GL_DEPTH_CLEAR_VALUE", },
246  { 0x0B72, "GL_DEPTH_WRITEMASK", },
247  { 0x85BA, "GL_UNSIGNED_SHORT_8_8_APPLE", },
248  { 0x882E, "GL_DRAW_BUFFER9_NV", },
249  { 0x8073, "GL_MAX_3D_TEXTURE_SIZE_OES", },
250  { 0x8072, "GL_TEXTURE_WRAP_R_OES", },
251  { 0x882F, "GL_DRAW_BUFFER10_NV", },
252  { 0x80E1, "GL_BGRA_EXT", },
253  { 0x8ED7, "GL_COVERAGE_AUTOMATIC_NV", },
254  { 0x8ED6, "GL_COVERAGE_EDGE_FRAGMENTS_NV", },
255  { 0x8ED5, "GL_COVERAGE_ALL_FRAGMENTS_NV", },
256  { 0x8ED4, "GL_COVERAGE_SAMPLES_NV", },
257  { 0x8ED3, "GL_COVERAGE_BUFFERS_NV", },
258  { 0x8ED2, "GL_COVERAGE_ATTACHMENT_NV", },
259  { 0x8ED1, "GL_COVERAGE_COMPONENT4_NV", },
260  { 0x8ED0, "GL_COVERAGE_COMPONENT_NV", },
261  { 0x800B, "GL_FUNC_REVERSE_SUBTRACT", },
262  { 0x00000400, "GL_STENCIL_BUFFER_BIT", },
263  { 0x800A, "GL_FUNC_SUBTRACT", },
264  { 0x8E2C, "GL_DEPTH_COMPONENT16_NONLINEAR_NV", },
265  { 0x889F, "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", },
266  { 0x8219, "GL_FRAMEBUFFER_UNDEFINED_OES", },
267  { 0x8006, "GL_FUNC_ADD", },
268  { 0x8007, "GL_MIN_EXT", },
269  { 0x8004, "GL_ONE_MINUS_CONSTANT_ALPHA", },
270  { 0x8005, "GL_BLEND_COLOR", },
271  { 0x8002, "GL_ONE_MINUS_CONSTANT_COLOR", },
272  { 0x8003, "GL_CONSTANT_ALPHA", },
273  { 0x8000, "GL_COVERAGE_BUFFER_BIT_NV", },
274  { 0x8001, "GL_CONSTANT_COLOR", },
275  { 0x0204, "GL_GREATER", },
276  { 0x0205, "GL_NOTEQUAL", },
277  { 0x0206, "GL_GEQUAL", },
278  { 0x0207, "GL_ALWAYS", },
279  { 0x0200, "GL_NEVER", },
280  { 0x0201, "GL_LESS", },
281  { 0x0202, "GL_EQUAL", },
282  { 0x0203, "GL_LEQUAL", },
283  { 0x2901, "GL_REPEAT", },
284  { 0x8B99, "GL_PALETTE8_RGB5_A1_OES", },
285  { 0x8B98, "GL_PALETTE8_RGBA4_OES", },
286  { 0x8FB2, "GL_GPU_OPTIMIZED_QCOM", },
287  { 0x190A, "GL_LUMINANCE_ALPHA", },
288  { 0x8FB0, "GL_BINNING_CONTROL_HINT_QCOM", },
289  { 0x8FB1, "GL_CPU_OPTIMIZED_QCOM", },
290  { 0x8B93, "GL_PALETTE4_RGBA4_OES", },
291  { 0x8B92, "GL_PALETTE4_R5_G6_B5_OES", },
292  { 0x8B91, "GL_PALETTE4_RGBA8_OES", },
293  { 0x8B90, "GL_PALETTE4_RGB8_OES", },
294  { 0x8B97, "GL_PALETTE8_R5_G6_B5_OES", },
295  { 0x8B96, "GL_PALETTE8_RGBA8_OES", },
296  { 0x8B95, "GL_PALETTE8_RGB8_OES", },
297  { 0x8B94, "GL_PALETTE4_RGB5_A1_OES", },
298  { 0x0BE2, "GL_BLEND", },
299  { 0x84CB, "GL_TEXTURE11", },
300  { 0x8D55, "GL_RENDERBUFFER_STENCIL_SIZE", },
301  { 0x8D54, "GL_RENDERBUFFER_DEPTH_SIZE", },
302  { 0x8D57, "GL_MAX_SAMPLES_ANGLE", },
303  { 0x8D56, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE", },
304  { 0x8D51, "GL_RENDERBUFFER_GREEN_SIZE", },
305  { 0x8D50, "GL_RENDERBUFFER_RED_SIZE", },
306  { 0x8D53, "GL_RENDERBUFFER_ALPHA_SIZE", },
307  { 0x8D52, "GL_RENDERBUFFER_BLUE_SIZE", },
308  { 0x00080000, "GL_STENCIL_BUFFER_BIT3_QCOM", },
309  { 0x886A, "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED", },
310  { 0x0C01, "GL_DRAW_BUFFER_EXT", },
311  { 0x9250, "GL_SHADER_BINARY_DMP", },
312  { 0x10000000, "GL_MULTISAMPLE_BUFFER_BIT4_QCOM", },
313  { 0x8C92, "GL_ATC_RGB_AMD", },
314  { 0x9154, "GL_VERTEX_ARRAY_OBJECT_EXT", },
315  { 0x9153, "GL_QUERY_OBJECT_EXT", },
316  { 0x9151, "GL_BUFFER_OBJECT_EXT", },
317  { 0x8C93, "GL_ATC_RGBA_EXPLICIT_ALPHA_AMD", },
318  { 0x00000002, "GL_CONTEXT_FLAG_DEBUG_BIT", },
319  { 0x00000001, "GL_SYNC_FLUSH_COMMANDS_BIT_APPLE", },
320  { 0x00000004, "GL_COLOR_BUFFER_BIT2_QCOM", },
321  { 0x1702, "GL_TEXTURE", },
322  { 0x00000008, "GL_COLOR_BUFFER_BIT3_QCOM", },
323  { 0x826A, "GL_DEBUG_TYPE_POP_GROUP", },
324  { 0x8828, "GL_DRAW_BUFFER3_NV", },
325  { 0x8DF0, "GL_LOW_FLOAT", },
326  { 0x1906, "GL_ALPHA", },
327  { 0x1907, "GL_RGB", },
328  { 0x1902, "GL_DEPTH_COMPONENT", },
329  { 0x8B56, "GL_BOOL", },
330  { 0x93DB, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR", },
331  { 0x8B9B, "GL_IMPLEMENTATION_COLOR_READ_FORMAT", },
332  { 0x8B9A, "GL_IMPLEMENTATION_COLOR_READ_TYPE", },
333  { 0x93DA, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR", },
334  { 0x1908, "GL_RGBA", },
335  { 0x8DF2, "GL_HIGH_FLOAT", },
336  { 0x93DD, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR", },
337  { 0x8827, "GL_DRAW_BUFFER2_NV", },
338  { 0x9243, "GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM", },
339  { 0x8DF3, "GL_LOW_INT", },
340  { 0x82E8, "GL_MAX_LABEL_LENGTH", },
341  { 0x8B53, "GL_INT_VEC2", },
342  { 0x0C02, "GL_READ_BUFFER_EXT", },
343  { 0x82E3, "GL_QUERY", },
344  { 0x82E2, "GL_PROGRAM", },
345  { 0x82E1, "GL_SHADER", },
346  { 0x8B52, "GL_FLOAT_VEC4", },
347  { 0x9240, "GL_UNPACK_FLIP_Y_CHROMIUM", },
348  { 0x8B51, "GL_FLOAT_VEC3", },
349  { 0x8230, "GL_RG32F_EXT", },
350  { 0x8DF7, "GL_INT_10_10_10_2_OES", },
351  { 0x812F, "GL_CLAMP_TO_EDGE", },
352  { 0x86A3, "GL_COMPRESSED_TEXTURE_FORMATS", },
353  { 0x86A2, "GL_NUM_COMPRESSED_TEXTURE_FORMATS", },
354  { 0x0CF3, "GL_UNPACK_SKIP_ROWS", },
355  { 0x0CF2, "GL_UNPACK_ROW_LENGTH", },
356  { 0x140C, "GL_FIXED", },
357  { 0x8008, "GL_MAX_EXT", },
358  { 0x0CF5, "GL_UNPACK_ALIGNMENT", },
359  { 0x0CF4, "GL_UNPACK_SKIP_PIXELS", },
360  { 0x8009, "GL_BLEND_EQUATION", },
361  { 0x1401, "GL_UNSIGNED_BYTE", },
362  { 0x1400, "GL_BYTE", },
363  { 0x1403, "GL_UNSIGNED_SHORT", },
364  { 0x1402, "GL_SHORT", },
365  { 0x1405, "GL_UNSIGNED_INT", },
366  { 0x1404, "GL_INT", },
367  { 0x1406, "GL_FLOAT", },
368  { 0x8043, "GL_LUMINANCE4_ALPHA4_OES", },
369  { 0x8040, "GL_LUMINANCE8_OES", },
370  { 0x8045, "GL_LUMINANCE8_ALPHA8_OES", },
371  { 0x8CD1, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", },
372  { 0x00040000, "GL_STENCIL_BUFFER_BIT2_QCOM", },
373  { 0x8CD0, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", },
374  { 0x8CE4, "GL_COLOR_ATTACHMENT4_NV", },
375  { 0x8CD3, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", },
376  { 0x0B90, "GL_STENCIL_TEST", },
377  { 0x8CD2, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", },
378  { 0x881C, "GL_ALPHA16F_EXT", },
379  { 0x8CD4, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES", },
380  { 0x8CD7, "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", },
381  { 0x9112, "GL_OBJECT_TYPE_APPLE", },
382  { 0x8038, "GL_POLYGON_OFFSET_FACTOR", },
383  { 0x851A, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z", },
384  { 0x851C, "GL_MAX_CUBE_MAP_TEXTURE_SIZE", },
385  { 0x8CD9, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS", },
386  { 0x84CC, "GL_TEXTURE12", },
387  { 0x0BA2, "GL_VIEWPORT", },
388  { 0x84CA, "GL_TEXTURE10", },
389  { 0x84CF, "GL_TEXTURE15", },
390  { 0x84CE, "GL_TEXTURE14", },
391  { 0x84CD, "GL_TEXTURE13", },
392  { 0x9115, "GL_SYNC_FLAGS_APPLE", },
393  { 0x83F3, "GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE", },
394  { 0x83F2, "GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE", },
395  { 0x83F1, "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", },
396  { 0x9114, "GL_SYNC_STATUS_APPLE", },
397  { 0x8C0A, "GL_SGX_BINARY_IMG", },
398  { 0x911C, "GL_CONDITION_SATISFIED_APPLE", },
399  { 0x911B, "GL_TIMEOUT_EXPIRED_APPLE", },
400  { 0x911A, "GL_ALREADY_SIGNALED_APPLE", },
401  { 0x911D, "GL_WAIT_FAILED_APPLE", },
402  { 0x846D, "GL_ALIASED_POINT_SIZE_RANGE", },
403  { 0x846E, "GL_ALIASED_LINE_WIDTH_RANGE", },
404  { 0x9113, "GL_SYNC_CONDITION_APPLE", },
405  { 0x93A4, "GL_PACK_REVERSE_ROW_ORDER_ANGLE", },
406  { 0x9111, "GL_MAX_SERVER_WAIT_TIMEOUT_APPLE", },
407  { 0x9117, "GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE", },
408  { 0x93A0, "GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE", },
409  { 0x93A3, "GL_FRAMEBUFFER_ATTACHMENT_ANGLE", },
410  { 0x93A2, "GL_TEXTURE_USAGE_ANGLE", },
411  { 0x8802, "GL_STENCIL_BACK_PASS_DEPTH_FAIL", },
412  { 0x9119, "GL_SIGNALED_APPLE", },
413  { 0x9118, "GL_UNSIGNALED_APPLE", },
414  { 0x8C01, "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG", },
415  { 0x8C00, "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG", },
416  { 0x8A52, "GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT", },
417  { 0x8C02, "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG", },
418  { 0x84C9, "GL_TEXTURE9", },
419  { 0x84C8, "GL_TEXTURE8", },
420  { 0x8869, "GL_MAX_VERTEX_ATTRIBS", },
421  { 0x84C3, "GL_TEXTURE3", },
422  { 0x84C2, "GL_TEXTURE2", },
423  { 0x84C1, "GL_TEXTURE1", },
424  { 0x84C0, "GL_TEXTURE0", },
425  { 0x84C7, "GL_TEXTURE7", },
426  { 0x84C6, "GL_TEXTURE6", },
427  { 0x84C5, "GL_TEXTURE5", },
428  { 0x8803, "GL_STENCIL_BACK_PASS_DEPTH_PASS", },
429  { 0x8518, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y", },
430  { 0x8519, "GL_TEXTURE_CUBE_MAP_POSITIVE_Z", },
431  { 0x8514, "GL_TEXTURE_BINDING_CUBE_MAP", },
432  { 0x8515, "GL_TEXTURE_CUBE_MAP_POSITIVE_X", },
433  { 0x8516, "GL_TEXTURE_CUBE_MAP_NEGATIVE_X", },
434  { 0x8517, "GL_TEXTURE_CUBE_MAP_POSITIVE_Y", },
435  { 0x8513, "GL_TEXTURE_CUBE_MAP", },
436  { 0x8626, "GL_CURRENT_VERTEX_ATTRIB", },
437  { 0x8765, "GL_BUFFER_USAGE", },
438  { 0x8764, "GL_BUFFER_SIZE", },
439  { 0x93D8, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR", },
440  { 0x0503, "GL_STACK_OVERFLOW", },
441  { 0x0502, "GL_INVALID_OPERATION", },
442  { 0x0501, "GL_INVALID_VALUE", },
443  { 0x0500, "GL_INVALID_ENUM", },
444  { 64, "GL_MAILBOX_SIZE_CHROMIUM", },
445  { 0x0506, "GL_INVALID_FRAMEBUFFER_OPERATION", },
446  { 0x0505, "GL_OUT_OF_MEMORY", },
447  { 0x8B5F, "GL_SAMPLER_3D_OES", },
448  { 0x0B44, "GL_CULL_FACE", },
449  { 0x8B5E, "GL_SAMPLER_2D", },
450  { 0x0B46, "GL_FRONT_FACE", },
451  { 0x8FB3, "GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM", },
452  { 0x824A, "GL_DEBUG_SOURCE_APPLICATION", },
453  { 0x824B, "GL_DEBUG_SOURCE_OTHER", },
454  { 0x824C, "GL_DEBUG_TYPE_ERROR", },
455  { 0x824D, "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR", },
456  { 0x824E, "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR", },
457  { 0x824F, "GL_DEBUG_TYPE_PORTABILITY", },
458  { 0x8B31, "GL_VERTEX_SHADER", },
459  { 0x8B30, "GL_FRAGMENT_SHADER", },
460  { 0x1E00, "GL_KEEP", },
461  { 0x8268, "GL_DEBUG_TYPE_MARKER", },
462  { 0x84D8, "GL_TEXTURE24", },
463  { 0x84D9, "GL_TEXTURE25", },
464  { 0x84D6, "GL_TEXTURE22", },
465  { 0x84D7, "GL_TEXTURE23", },
466  { 0x84D4, "GL_TEXTURE20", },
467  { 0x84D5, "GL_TEXTURE21", },
468  { 0x84D2, "GL_TEXTURE18", },
469  { 0x84D3, "GL_TEXTURE19", },
470  { 0x84D0, "GL_TEXTURE16", },
471  { 0x84D1, "GL_TEXTURE17", },
472  { 0x1E03, "GL_DECR", },
473  { 0x84DF, "GL_TEXTURE31", },
474  { 0x93D6, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR", },
475  { 0x84DD, "GL_TEXTURE29", },
476  { 0x84DE, "GL_TEXTURE30", },
477  { 0x84DB, "GL_TEXTURE27", },
478  { 0x84DC, "GL_TEXTURE28", },
479  { 0x6002, "GL_TEXTURE_POOL_UNMANAGED_CHROMIUM", },
480  { 0x84DA, "GL_TEXTURE26", },
481  { 0x8242, "GL_DEBUG_OUTPUT_SYNCHRONOUS", },
482  { 0x8243, "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH", },
483  { 0x8244, "GL_DEBUG_CALLBACK_FUNCTION", },
484  { 0x8245, "GL_DEBUG_CALLBACK_USER_PARAM", },
485  { 0x8246, "GL_DEBUG_SOURCE_API", },
486  { 0x8247, "GL_DEBUG_SOURCE_WINDOW_SYSTEM", },
487  { 0x8248, "GL_DEBUG_SOURCE_SHADER_COMPILER", },
488  { 0x8249, "GL_DEBUG_SOURCE_THIRD_PARTY", },
489  { 0x93D5, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR", },
490  { 0x00000040, "GL_COLOR_BUFFER_BIT6_QCOM", },
491  { 0x8645, "GL_VERTEX_ATTRIB_ARRAY_POINTER", },
492  { 0x8865, "GL_CURRENT_QUERY_EXT", },
493  { 0x8866, "GL_QUERY_RESULT_EXT", },
494  { 0x8867, "GL_QUERY_RESULT_AVAILABLE_EXT", },
495  { 0x08000000, "GL_MULTISAMPLE_BUFFER_BIT3_QCOM", },
496  { 0x87FA, "GL_3DC_XY_AMD", },
497  { 0x84C4, "GL_TEXTURE4", },
498  { 0x85B5, "GL_VERTEX_ARRAY_BINDING_OES", },
499  { 0x8D6A, "GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT", },
500  { 0x8D6C, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT", },
501  { 0x8252, "GL_LOSE_CONTEXT_ON_RESET_EXT", },
502  { 0x8251, "GL_DEBUG_TYPE_OTHER", },
503  { 0x8C40, "GL_SRGB_EXT", },
504  { 0x8C43, "GL_SRGB8_ALPHA8_EXT", },
505  { 0x8C42, "GL_SRGB_ALPHA_EXT", },
506  { 0x00200000, "GL_STENCIL_BUFFER_BIT5_QCOM", },
507  { 0x8D68, "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES", },
508  { 0x85BB, "GL_UNSIGNED_SHORT_8_8_REV_APPLE", },
509  { 0x8D61, "GL_HALF_FLOAT_OES", },
510  { 0x8D62, "GL_RGB565", },
511  { 0x8D64, "GL_ETC1_RGB8_OES", },
512  { 0x8D65, "GL_TEXTURE_EXTERNAL_OES", },
513  { 0x8D66, "GL_SAMPLER_EXTERNAL_OES", },
514  { 0x8D67, "GL_TEXTURE_BINDING_EXTERNAL_OES", },
515  { 0x04000000, "GL_MULTISAMPLE_BUFFER_BIT2_QCOM", },
516  { 0x8CEE, "GL_COLOR_ATTACHMENT14_NV", },
517  { 0x2800, "GL_TEXTURE_MAG_FILTER", },
518  { 0x2801, "GL_TEXTURE_MIN_FILTER", },
519  { 0x2802, "GL_TEXTURE_WRAP_S", },
520  { 0x2803, "GL_TEXTURE_WRAP_T", },
521  { 0x2703, "GL_LINEAR_MIPMAP_LINEAR", },
522  { 0x2702, "GL_NEAREST_MIPMAP_LINEAR", },
523  { 0x1F03, "GL_EXTENSIONS", },
524  { 0x1F02, "GL_VERSION", },
525  { 0x1F01, "GL_RENDERER", },
526  { 0x1F00, "GL_VENDOR", },
527  { 0x2701, "GL_LINEAR_MIPMAP_NEAREST", },
528  { 0x0B94, "GL_STENCIL_FAIL", },
529  { 0x8B4C, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS", },
530  { 0x8B4D, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS", },
531  { 0x8B4F, "GL_SHADER_TYPE", },
532  { 0x00004000, "GL_COLOR_BUFFER_BIT", },
533  { 0x00000010, "GL_COLOR_BUFFER_BIT4_QCOM", },
534  { 0x8834, "GL_DRAW_BUFFER15_NV", },
535  { 0x8833, "GL_DRAW_BUFFER14_NV", },
536  { 0x8832, "GL_DRAW_BUFFER13_NV", },
537  { 0x8831, "GL_DRAW_BUFFER12_NV", },
538  { 0x8830, "GL_DRAW_BUFFER11_NV", },
539  { 0x93B8, "GL_COMPRESSED_RGBA_ASTC_10x5_KHR", },
540  { 0x9241, "GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM", },
541  { 0x00010000, "GL_STENCIL_BUFFER_BIT0_QCOM", },
542  { 0x0B93, "GL_STENCIL_VALUE_MASK", },
543  { 0x0B92, "GL_STENCIL_FUNC", },
544  { 0x0B91, "GL_STENCIL_CLEAR_VALUE", },
545  { 0x883D, "GL_BLEND_EQUATION_ALPHA", },
546  { 0x0B97, "GL_STENCIL_REF", },
547  { 0x0B96, "GL_STENCIL_PASS_DEPTH_PASS", },
548  { 0x0B95, "GL_STENCIL_PASS_DEPTH_FAIL", },
549  { 0x2700, "GL_NEAREST_MIPMAP_NEAREST", },
550  { 0x0B98, "GL_STENCIL_WRITEMASK", },
551  { 0x8B40, "GL_PROGRAM_OBJECT_EXT", },
552  { 0x8B48, "GL_SHADER_OBJECT_EXT", },
553  { 0x912F, "GL_TEXTURE_IMMUTABLE_FORMAT_EXT", },
554  { 0x20000000, "GL_MULTISAMPLE_BUFFER_BIT5_QCOM", },
555  { 0x0DE1, "GL_TEXTURE_2D", },
556  { 0x80C9, "GL_BLEND_SRC_RGB", },
557  { 0x80C8, "GL_BLEND_DST_RGB", },
558  { 0x0504, "GL_STACK_UNDERFLOW", },
559  { 0x8059, "GL_RGB10_A2_EXT", },
560  { 0x8058, "GL_RGBA8_OES", },
561  { 0x00002000, "GL_DEPTH_BUFFER_BIT5_QCOM", },
562  { 0x8051, "GL_RGB8_OES", },
563  { 0x8052, "GL_RGB10_EXT", },
564  { 0x8CAB, "GL_RENDERBUFFER_SAMPLES_ANGLE", },
565  { 0x8057, "GL_RGB5_A1", },
566  { 0x8056, "GL_RGBA4", },
567  { 0x150A, "GL_INVERT", },
568  { 0x01000000, "GL_MULTISAMPLE_BUFFER_BIT0_QCOM", },
569  { 0x78ED, "GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM", },
570  { 0x78EE, "GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM", },
571  { 0x8269, "GL_DEBUG_TYPE_PUSH_GROUP", },
572  { 0x0B45, "GL_CULL_FACE_MODE", },
573  { 0x00100000, "GL_STENCIL_BUFFER_BIT4_QCOM", },
574  { 0x8D20, "GL_STENCIL_ATTACHMENT", },
575  { 0x00000200, "GL_DEPTH_BUFFER_BIT1_QCOM", },
576  { 0x00008000, "GL_DEPTH_BUFFER_BIT7_QCOM", },
577  { 0x8CA8, "GL_READ_FRAMEBUFFER_ANGLE", },
578  { 0x8CA9, "GL_DRAW_FRAMEBUFFER_ANGLE", },
579  { 0x8CA6, "GL_FRAMEBUFFER_BINDING", },
580  { 0x8CA7, "GL_RENDERBUFFER_BINDING", },
581  { 0x8CA4, "GL_STENCIL_BACK_VALUE_MASK", },
582  { 0x8CA5, "GL_STENCIL_BACK_WRITEMASK", },
583  { 0x8CA3, "GL_STENCIL_BACK_REF", },
584  { 0x80CB, "GL_BLEND_SRC_ALPHA", },
585  { 0x80CA, "GL_BLEND_DST_ALPHA", },
586  { 0x93B0, "GL_COMPRESSED_RGBA_ASTC_4x4_KHR", },
587  { 0x93B1, "GL_COMPRESSED_RGBA_ASTC_5x4_KHR", },
588  { 0x93B2, "GL_COMPRESSED_RGBA_ASTC_5x5_KHR", },
589  { 0x93B3, "GL_COMPRESSED_RGBA_ASTC_6x5_KHR", },
590  { 0x93B4, "GL_COMPRESSED_RGBA_ASTC_6x6_KHR", },
591  { 0x93B5, "GL_COMPRESSED_RGBA_ASTC_8x5_KHR", },
592  { 0x93B6, "GL_COMPRESSED_RGBA_ASTC_8x6_KHR", },
593  { 0x93B7, "GL_COMPRESSED_RGBA_ASTC_8x8_KHR", },
594  { 0x8CD6, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT", },
595  { 0x93B9, "GL_COMPRESSED_RGBA_ASTC_10x6_KHR", },
596  { 0x8253, "GL_GUILTY_CONTEXT_RESET_EXT", },
597  { 0x8CE5, "GL_COLOR_ATTACHMENT5_NV", },
598  { 0x8872, "GL_MAX_TEXTURE_IMAGE_UNITS", },
599  { 0x8508, "GL_DECR_WRAP", },
600  { 0x8507, "GL_INCR_WRAP", },
601  { 0x8895, "GL_ELEMENT_ARRAY_BUFFER_BINDING", },
602  { 0x8894, "GL_ARRAY_BUFFER_BINDING", },
603  { 0x8893, "GL_ELEMENT_ARRAY_BUFFER", },
604  { 0x8892, "GL_ARRAY_BUFFER", },
605  { 0x8BD8, "GL_TEXTURE_IMAGE_VALID_QCOM", },
606  { 0x93BA, "GL_COMPRESSED_RGBA_ASTC_10x8_KHR", },
607  { 0x93BB, "GL_COMPRESSED_RGBA_ASTC_10x10_KHR", },
608  { 0x93BC, "GL_COMPRESSED_RGBA_ASTC_12x10_KHR", },
609  { 0x93BD, "GL_COMPRESSED_RGBA_ASTC_12x12_KHR", },
610  { 0x84E8, "GL_MAX_RENDERBUFFER_SIZE", },
611  { 0x8370, "GL_MIRRORED_REPEAT", },
612  { 0x84E0, "GL_ACTIVE_TEXTURE", },
613  { 0x8800, "GL_STENCIL_BACK_FUNC", },
614  { 0x8801, "GL_STENCIL_BACK_FAIL", },
615  { 0x0D33, "GL_MAX_TEXTURE_SIZE", },
616  { 0x8624, "GL_VERTEX_ATTRIB_ARRAY_STRIDE", },
617  { 0x8625, "GL_VERTEX_ATTRIB_ARRAY_TYPE", },
618  { 0x8622, "GL_VERTEX_ATTRIB_ARRAY_ENABLED", },
619  { 0x8623, "GL_VERTEX_ATTRIB_ARRAY_SIZE", },
620  { 0x8259, "GL_ACTIVE_PROGRAM_EXT", },
621  { 0x8258, "GL_PROGRAM_SEPARABLE_EXT", },
622  { 0x8256, "GL_RESET_NOTIFICATION_STRATEGY_EXT", },
623  { 0x8255, "GL_UNKNOWN_CONTEXT_RESET_EXT", },
624  { 0x8254, "GL_INNOCENT_CONTEXT_RESET_EXT", },
625  { 0x1100, "GL_DONT_CARE", },
626  { 0x1101, "GL_FASTEST", },
627  { 0x1102, "GL_NICEST", },
628  { 0x8250, "GL_DEBUG_TYPE_PERFORMANCE", },
629  { 0x8CEB, "GL_COLOR_ATTACHMENT11_NV", },
630  { 0x8CEC, "GL_COLOR_ATTACHMENT12_NV", },
631  { 0x0408, "GL_FRONT_AND_BACK", },
632  { 0x8CEA, "GL_COLOR_ATTACHMENT10_NV", },
633  { 0x8CEF, "GL_COLOR_ATTACHMENT15_NV", },
634  { 0x8CED, "GL_COLOR_ATTACHMENT13_NV", },
635  { 0x8829, "GL_DRAW_BUFFER4_NV", },
636  { 0x0404, "GL_FRONT", },
637  { 0x0405, "GL_BACK", },
638  { 0x88E1, "GL_STREAM_READ", },
639  { 0x88E0, "GL_STREAM_DRAW", },
640  { 0x88E4, "GL_STATIC_DRAW", },
641  { 0x88E8, "GL_DYNAMIC_DRAW", },
642  { 0x8CAA, "GL_READ_FRAMEBUFFER_BINDING_ANGLE", },
643  { 0x40000000, "GL_MULTISAMPLE_BUFFER_BIT6_QCOM", },
644  { 0x9116, "GL_SYNC_FENCE_APPLE", },
645  { 0x6000, "GL_TEXTURE_POOL_CHROMIUM", },
646  { 0x00000800, "GL_DEPTH_BUFFER_BIT3_QCOM", },
647  { 0x1903, "GL_RED_EXT", },
648  { 0x6001, "GL_TEXTURE_POOL_MANAGED_CHROMIUM", },
649  { 0x8CE2, "GL_COLOR_ATTACHMENT2_NV", },
650  { 0x8BC1, "GL_COUNTER_RANGE_AMD", },
651  { 0x8CE0, "GL_COLOR_ATTACHMENT0", },
652  { 0x8CE1, "GL_COLOR_ATTACHMENT1_NV", },
653  { 0x8CE6, "GL_COLOR_ATTACHMENT6_NV", },
654  { 0x8CE7, "GL_COLOR_ATTACHMENT7_NV", },
655  { 0x8A1F, "GL_RGB_422_APPLE", },
656  { 0x93DC, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR", },
657  { 0x8CE8, "GL_COLOR_ATTACHMENT8_NV", },
658  { 0x8CE9, "GL_COLOR_ATTACHMENT9_NV", },
659  { 0x0C23, "GL_COLOR_WRITEMASK", },
660  { 0x0C22, "GL_COLOR_CLEAR_VALUE", },
661  { 0x8823, "GL_WRITEONLY_RENDERING_QCOM", },
662  { 0x8824, "GL_MAX_DRAW_BUFFERS_NV", },
663  { 0x825A, "GL_PROGRAM_PIPELINE_BINDING_EXT", },
664  { 0x1909, "GL_LUMINANCE", },
665  { 0x0D3A, "GL_MAX_VIEWPORT_DIMS", },
666  { 0x0020, "GL_MAP_UNSYNCHRONIZED_BIT_EXT", },
667  { 0x809E, "GL_SAMPLE_ALPHA_TO_COVERAGE", },
668  { 0x8BC0, "GL_COUNTER_TYPE_AMD", },
669  { 0x8BC3, "GL_PERCENTAGE_AMD", },
670  { 0x8BC2, "GL_UNSIGNED_INT64_AMD", },
671  { 0x8BC5, "GL_PERFMON_RESULT_SIZE_AMD", },
672  { 0x8BC4, "GL_PERFMON_RESULT_AVAILABLE_AMD", },
673  { 0x8BC6, "GL_PERFMON_RESULT_AMD", },
674};
675
676const GLES2Util::EnumToString* const GLES2Util::enum_to_string_table_ =
677    enum_to_string_table;
678const size_t GLES2Util::enum_to_string_table_len_ =
679    sizeof(enum_to_string_table) / sizeof(enum_to_string_table[0]);
680
681std::string GLES2Util::GetStringAttachment(uint32 value) {
682  static const EnumToString string_table[] = {
683    { GL_COLOR_ATTACHMENT0, "GL_COLOR_ATTACHMENT0" },
684    { GL_DEPTH_ATTACHMENT, "GL_DEPTH_ATTACHMENT" },
685    { GL_STENCIL_ATTACHMENT, "GL_STENCIL_ATTACHMENT" },
686  };
687  return GLES2Util::GetQualifiedEnumString(
688      string_table, arraysize(string_table), value);
689}
690
691std::string GLES2Util::GetStringBackbufferAttachment(uint32 value) {
692  static const EnumToString string_table[] = {
693    { GL_COLOR_EXT, "GL_COLOR_EXT" },
694    { GL_DEPTH_EXT, "GL_DEPTH_EXT" },
695    { GL_STENCIL_EXT, "GL_STENCIL_EXT" },
696  };
697  return GLES2Util::GetQualifiedEnumString(
698      string_table, arraysize(string_table), value);
699}
700
701std::string GLES2Util::GetStringBlitFilter(uint32 value) {
702  static const EnumToString string_table[] = {
703    { GL_NEAREST, "GL_NEAREST" },
704    { GL_LINEAR, "GL_LINEAR" },
705  };
706  return GLES2Util::GetQualifiedEnumString(
707      string_table, arraysize(string_table), value);
708}
709
710std::string GLES2Util::GetStringBufferParameter(uint32 value) {
711  static const EnumToString string_table[] = {
712    { GL_BUFFER_SIZE, "GL_BUFFER_SIZE" },
713    { GL_BUFFER_USAGE, "GL_BUFFER_USAGE" },
714  };
715  return GLES2Util::GetQualifiedEnumString(
716      string_table, arraysize(string_table), value);
717}
718
719std::string GLES2Util::GetStringBufferTarget(uint32 value) {
720  static const EnumToString string_table[] = {
721    { GL_ARRAY_BUFFER, "GL_ARRAY_BUFFER" },
722    { GL_ELEMENT_ARRAY_BUFFER, "GL_ELEMENT_ARRAY_BUFFER" },
723  };
724  return GLES2Util::GetQualifiedEnumString(
725      string_table, arraysize(string_table), value);
726}
727
728std::string GLES2Util::GetStringBufferUsage(uint32 value) {
729  static const EnumToString string_table[] = {
730    { GL_STREAM_DRAW, "GL_STREAM_DRAW" },
731    { GL_STATIC_DRAW, "GL_STATIC_DRAW" },
732    { GL_DYNAMIC_DRAW, "GL_DYNAMIC_DRAW" },
733  };
734  return GLES2Util::GetQualifiedEnumString(
735      string_table, arraysize(string_table), value);
736}
737
738std::string GLES2Util::GetStringCapability(uint32 value) {
739  static const EnumToString string_table[] = {
740    { GL_BLEND, "GL_BLEND" },
741    { GL_CULL_FACE, "GL_CULL_FACE" },
742    { GL_DEPTH_TEST, "GL_DEPTH_TEST" },
743    { GL_DITHER, "GL_DITHER" },
744    { GL_POLYGON_OFFSET_FILL, "GL_POLYGON_OFFSET_FILL" },
745    { GL_SAMPLE_ALPHA_TO_COVERAGE, "GL_SAMPLE_ALPHA_TO_COVERAGE" },
746    { GL_SAMPLE_COVERAGE, "GL_SAMPLE_COVERAGE" },
747    { GL_SCISSOR_TEST, "GL_SCISSOR_TEST" },
748    { GL_STENCIL_TEST, "GL_STENCIL_TEST" },
749  };
750  return GLES2Util::GetQualifiedEnumString(
751      string_table, arraysize(string_table), value);
752}
753
754std::string GLES2Util::GetStringCmpFunction(uint32 value) {
755  static const EnumToString string_table[] = {
756    { GL_NEVER, "GL_NEVER" },
757    { GL_LESS, "GL_LESS" },
758    { GL_EQUAL, "GL_EQUAL" },
759    { GL_LEQUAL, "GL_LEQUAL" },
760    { GL_GREATER, "GL_GREATER" },
761    { GL_NOTEQUAL, "GL_NOTEQUAL" },
762    { GL_GEQUAL, "GL_GEQUAL" },
763    { GL_ALWAYS, "GL_ALWAYS" },
764  };
765  return GLES2Util::GetQualifiedEnumString(
766      string_table, arraysize(string_table), value);
767}
768
769std::string GLES2Util::GetStringCompressedTextureFormat(uint32 value) {
770  return GLES2Util::GetQualifiedEnumString(
771      NULL, 0, value);
772}
773
774std::string GLES2Util::GetStringDrawMode(uint32 value) {
775  static const EnumToString string_table[] = {
776    { GL_POINTS, "GL_POINTS" },
777    { GL_LINE_STRIP, "GL_LINE_STRIP" },
778    { GL_LINE_LOOP, "GL_LINE_LOOP" },
779    { GL_LINES, "GL_LINES" },
780    { GL_TRIANGLE_STRIP, "GL_TRIANGLE_STRIP" },
781    { GL_TRIANGLE_FAN, "GL_TRIANGLE_FAN" },
782    { GL_TRIANGLES, "GL_TRIANGLES" },
783  };
784  return GLES2Util::GetQualifiedEnumString(
785      string_table, arraysize(string_table), value);
786}
787
788std::string GLES2Util::GetStringDstBlendFactor(uint32 value) {
789  static const EnumToString string_table[] = {
790    { GL_ZERO, "GL_ZERO" },
791    { GL_ONE, "GL_ONE" },
792    { GL_SRC_COLOR, "GL_SRC_COLOR" },
793    { GL_ONE_MINUS_SRC_COLOR, "GL_ONE_MINUS_SRC_COLOR" },
794    { GL_DST_COLOR, "GL_DST_COLOR" },
795    { GL_ONE_MINUS_DST_COLOR, "GL_ONE_MINUS_DST_COLOR" },
796    { GL_SRC_ALPHA, "GL_SRC_ALPHA" },
797    { GL_ONE_MINUS_SRC_ALPHA, "GL_ONE_MINUS_SRC_ALPHA" },
798    { GL_DST_ALPHA, "GL_DST_ALPHA" },
799    { GL_ONE_MINUS_DST_ALPHA, "GL_ONE_MINUS_DST_ALPHA" },
800    { GL_CONSTANT_COLOR, "GL_CONSTANT_COLOR" },
801    { GL_ONE_MINUS_CONSTANT_COLOR, "GL_ONE_MINUS_CONSTANT_COLOR" },
802    { GL_CONSTANT_ALPHA, "GL_CONSTANT_ALPHA" },
803    { GL_ONE_MINUS_CONSTANT_ALPHA, "GL_ONE_MINUS_CONSTANT_ALPHA" },
804  };
805  return GLES2Util::GetQualifiedEnumString(
806      string_table, arraysize(string_table), value);
807}
808
809std::string GLES2Util::GetStringEquation(uint32 value) {
810  static const EnumToString string_table[] = {
811    { GL_FUNC_ADD, "GL_FUNC_ADD" },
812    { GL_FUNC_SUBTRACT, "GL_FUNC_SUBTRACT" },
813    { GL_FUNC_REVERSE_SUBTRACT, "GL_FUNC_REVERSE_SUBTRACT" },
814  };
815  return GLES2Util::GetQualifiedEnumString(
816      string_table, arraysize(string_table), value);
817}
818
819std::string GLES2Util::GetStringFaceMode(uint32 value) {
820  static const EnumToString string_table[] = {
821    { GL_CW, "GL_CW" },
822    { GL_CCW, "GL_CCW" },
823  };
824  return GLES2Util::GetQualifiedEnumString(
825      string_table, arraysize(string_table), value);
826}
827
828std::string GLES2Util::GetStringFaceType(uint32 value) {
829  static const EnumToString string_table[] = {
830    { GL_FRONT, "GL_FRONT" },
831    { GL_BACK, "GL_BACK" },
832    { GL_FRONT_AND_BACK, "GL_FRONT_AND_BACK" },
833  };
834  return GLES2Util::GetQualifiedEnumString(
835      string_table, arraysize(string_table), value);
836}
837
838std::string GLES2Util::GetStringFrameBufferParameter(uint32 value) {
839  static const EnumToString string_table[] = {
840    { GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
841    "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" },
842    { GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
843    "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" },
844    { GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
845    "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" },
846    { GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
847    "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" },
848  };
849  return GLES2Util::GetQualifiedEnumString(
850      string_table, arraysize(string_table), value);
851}
852
853std::string GLES2Util::GetStringFrameBufferTarget(uint32 value) {
854  static const EnumToString string_table[] = {
855    { GL_FRAMEBUFFER, "GL_FRAMEBUFFER" },
856  };
857  return GLES2Util::GetQualifiedEnumString(
858      string_table, arraysize(string_table), value);
859}
860
861std::string GLES2Util::GetStringGLState(uint32 value) {
862  static const EnumToString string_table[] = {
863    { GL_ACTIVE_TEXTURE, "GL_ACTIVE_TEXTURE" },
864    { GL_ALIASED_LINE_WIDTH_RANGE, "GL_ALIASED_LINE_WIDTH_RANGE" },
865    { GL_ALIASED_POINT_SIZE_RANGE, "GL_ALIASED_POINT_SIZE_RANGE" },
866    { GL_ALPHA_BITS, "GL_ALPHA_BITS" },
867    { GL_ARRAY_BUFFER_BINDING, "GL_ARRAY_BUFFER_BINDING" },
868    { GL_BLUE_BITS, "GL_BLUE_BITS" },
869    { GL_COMPRESSED_TEXTURE_FORMATS, "GL_COMPRESSED_TEXTURE_FORMATS" },
870    { GL_CURRENT_PROGRAM, "GL_CURRENT_PROGRAM" },
871    { GL_DEPTH_BITS, "GL_DEPTH_BITS" },
872    { GL_DEPTH_RANGE, "GL_DEPTH_RANGE" },
873    { GL_ELEMENT_ARRAY_BUFFER_BINDING, "GL_ELEMENT_ARRAY_BUFFER_BINDING" },
874    { GL_FRAMEBUFFER_BINDING, "GL_FRAMEBUFFER_BINDING" },
875    { GL_GENERATE_MIPMAP_HINT, "GL_GENERATE_MIPMAP_HINT" },
876    { GL_GREEN_BITS, "GL_GREEN_BITS" },
877    { GL_IMPLEMENTATION_COLOR_READ_FORMAT,
878    "GL_IMPLEMENTATION_COLOR_READ_FORMAT" },
879    { GL_IMPLEMENTATION_COLOR_READ_TYPE, "GL_IMPLEMENTATION_COLOR_READ_TYPE" },
880    { GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
881    "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS" },
882    { GL_MAX_CUBE_MAP_TEXTURE_SIZE, "GL_MAX_CUBE_MAP_TEXTURE_SIZE" },
883    { GL_MAX_FRAGMENT_UNIFORM_VECTORS, "GL_MAX_FRAGMENT_UNIFORM_VECTORS" },
884    { GL_MAX_RENDERBUFFER_SIZE, "GL_MAX_RENDERBUFFER_SIZE" },
885    { GL_MAX_TEXTURE_IMAGE_UNITS, "GL_MAX_TEXTURE_IMAGE_UNITS" },
886    { GL_MAX_TEXTURE_SIZE, "GL_MAX_TEXTURE_SIZE" },
887    { GL_MAX_VARYING_VECTORS, "GL_MAX_VARYING_VECTORS" },
888    { GL_MAX_VERTEX_ATTRIBS, "GL_MAX_VERTEX_ATTRIBS" },
889    { GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS" },
890    { GL_MAX_VERTEX_UNIFORM_VECTORS, "GL_MAX_VERTEX_UNIFORM_VECTORS" },
891    { GL_MAX_VIEWPORT_DIMS, "GL_MAX_VIEWPORT_DIMS" },
892    { GL_NUM_COMPRESSED_TEXTURE_FORMATS, "GL_NUM_COMPRESSED_TEXTURE_FORMATS" },
893    { GL_NUM_SHADER_BINARY_FORMATS, "GL_NUM_SHADER_BINARY_FORMATS" },
894    { GL_PACK_ALIGNMENT, "GL_PACK_ALIGNMENT" },
895    { GL_RED_BITS, "GL_RED_BITS" },
896    { GL_RENDERBUFFER_BINDING, "GL_RENDERBUFFER_BINDING" },
897    { GL_SAMPLE_BUFFERS, "GL_SAMPLE_BUFFERS" },
898    { GL_SAMPLE_COVERAGE_INVERT, "GL_SAMPLE_COVERAGE_INVERT" },
899    { GL_SAMPLE_COVERAGE_VALUE, "GL_SAMPLE_COVERAGE_VALUE" },
900    { GL_SAMPLES, "GL_SAMPLES" },
901    { GL_SCISSOR_BOX, "GL_SCISSOR_BOX" },
902    { GL_SHADER_BINARY_FORMATS, "GL_SHADER_BINARY_FORMATS" },
903    { GL_SHADER_COMPILER, "GL_SHADER_COMPILER" },
904    { GL_SUBPIXEL_BITS, "GL_SUBPIXEL_BITS" },
905    { GL_STENCIL_BITS, "GL_STENCIL_BITS" },
906    { GL_TEXTURE_BINDING_2D, "GL_TEXTURE_BINDING_2D" },
907    { GL_TEXTURE_BINDING_CUBE_MAP, "GL_TEXTURE_BINDING_CUBE_MAP" },
908    { GL_UNPACK_ALIGNMENT, "GL_UNPACK_ALIGNMENT" },
909    { GL_UNPACK_FLIP_Y_CHROMIUM, "GL_UNPACK_FLIP_Y_CHROMIUM" },
910    { GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
911    "GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM" },
912    { GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
913    "GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM" },
914    { GL_VERTEX_ARRAY_BINDING_OES, "GL_VERTEX_ARRAY_BINDING_OES" },
915    { GL_VIEWPORT, "GL_VIEWPORT" },
916    { GL_BLEND_COLOR, "GL_BLEND_COLOR" },
917    { GL_BLEND_EQUATION_RGB, "GL_BLEND_EQUATION_RGB" },
918    { GL_BLEND_EQUATION_ALPHA, "GL_BLEND_EQUATION_ALPHA" },
919    { GL_BLEND_SRC_RGB, "GL_BLEND_SRC_RGB" },
920    { GL_BLEND_DST_RGB, "GL_BLEND_DST_RGB" },
921    { GL_BLEND_SRC_ALPHA, "GL_BLEND_SRC_ALPHA" },
922    { GL_BLEND_DST_ALPHA, "GL_BLEND_DST_ALPHA" },
923    { GL_COLOR_CLEAR_VALUE, "GL_COLOR_CLEAR_VALUE" },
924    { GL_DEPTH_CLEAR_VALUE, "GL_DEPTH_CLEAR_VALUE" },
925    { GL_STENCIL_CLEAR_VALUE, "GL_STENCIL_CLEAR_VALUE" },
926    { GL_COLOR_WRITEMASK, "GL_COLOR_WRITEMASK" },
927    { GL_CULL_FACE_MODE, "GL_CULL_FACE_MODE" },
928    { GL_DEPTH_FUNC, "GL_DEPTH_FUNC" },
929    { GL_DEPTH_WRITEMASK, "GL_DEPTH_WRITEMASK" },
930    { GL_DEPTH_RANGE, "GL_DEPTH_RANGE" },
931    { GL_FRONT_FACE, "GL_FRONT_FACE" },
932    { GL_GENERATE_MIPMAP_HINT, "GL_GENERATE_MIPMAP_HINT" },
933    { GL_LINE_WIDTH, "GL_LINE_WIDTH" },
934    { GL_PACK_ALIGNMENT, "GL_PACK_ALIGNMENT" },
935    { GL_UNPACK_ALIGNMENT, "GL_UNPACK_ALIGNMENT" },
936    { GL_POLYGON_OFFSET_FACTOR, "GL_POLYGON_OFFSET_FACTOR" },
937    { GL_POLYGON_OFFSET_UNITS, "GL_POLYGON_OFFSET_UNITS" },
938    { GL_SAMPLE_COVERAGE_VALUE, "GL_SAMPLE_COVERAGE_VALUE" },
939    { GL_SAMPLE_COVERAGE_INVERT, "GL_SAMPLE_COVERAGE_INVERT" },
940    { GL_SCISSOR_BOX, "GL_SCISSOR_BOX" },
941    { GL_STENCIL_FUNC, "GL_STENCIL_FUNC" },
942    { GL_STENCIL_REF, "GL_STENCIL_REF" },
943    { GL_STENCIL_VALUE_MASK, "GL_STENCIL_VALUE_MASK" },
944    { GL_STENCIL_BACK_FUNC, "GL_STENCIL_BACK_FUNC" },
945    { GL_STENCIL_BACK_REF, "GL_STENCIL_BACK_REF" },
946    { GL_STENCIL_BACK_VALUE_MASK, "GL_STENCIL_BACK_VALUE_MASK" },
947    { GL_STENCIL_WRITEMASK, "GL_STENCIL_WRITEMASK" },
948    { GL_STENCIL_BACK_WRITEMASK, "GL_STENCIL_BACK_WRITEMASK" },
949    { GL_STENCIL_FAIL, "GL_STENCIL_FAIL" },
950    { GL_STENCIL_PASS_DEPTH_FAIL, "GL_STENCIL_PASS_DEPTH_FAIL" },
951    { GL_STENCIL_PASS_DEPTH_PASS, "GL_STENCIL_PASS_DEPTH_PASS" },
952    { GL_STENCIL_BACK_FAIL, "GL_STENCIL_BACK_FAIL" },
953    { GL_STENCIL_BACK_PASS_DEPTH_FAIL, "GL_STENCIL_BACK_PASS_DEPTH_FAIL" },
954    { GL_STENCIL_BACK_PASS_DEPTH_PASS, "GL_STENCIL_BACK_PASS_DEPTH_PASS" },
955    { GL_VIEWPORT, "GL_VIEWPORT" },
956    { GL_BLEND, "GL_BLEND" },
957    { GL_CULL_FACE, "GL_CULL_FACE" },
958    { GL_DEPTH_TEST, "GL_DEPTH_TEST" },
959    { GL_DITHER, "GL_DITHER" },
960    { GL_POLYGON_OFFSET_FILL, "GL_POLYGON_OFFSET_FILL" },
961    { GL_SAMPLE_ALPHA_TO_COVERAGE, "GL_SAMPLE_ALPHA_TO_COVERAGE" },
962    { GL_SAMPLE_COVERAGE, "GL_SAMPLE_COVERAGE" },
963    { GL_SCISSOR_TEST, "GL_SCISSOR_TEST" },
964    { GL_STENCIL_TEST, "GL_STENCIL_TEST" },
965  };
966  return GLES2Util::GetQualifiedEnumString(
967      string_table, arraysize(string_table), value);
968}
969
970std::string GLES2Util::GetStringGetMaxIndexType(uint32 value) {
971  static const EnumToString string_table[] = {
972    { GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
973    { GL_UNSIGNED_SHORT, "GL_UNSIGNED_SHORT" },
974    { GL_UNSIGNED_INT, "GL_UNSIGNED_INT" },
975  };
976  return GLES2Util::GetQualifiedEnumString(
977      string_table, arraysize(string_table), value);
978}
979
980std::string GLES2Util::GetStringGetTexParamTarget(uint32 value) {
981  static const EnumToString string_table[] = {
982    { GL_TEXTURE_2D, "GL_TEXTURE_2D" },
983    { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" },
984  };
985  return GLES2Util::GetQualifiedEnumString(
986      string_table, arraysize(string_table), value);
987}
988
989std::string GLES2Util::GetStringHintMode(uint32 value) {
990  static const EnumToString string_table[] = {
991    { GL_FASTEST, "GL_FASTEST" },
992    { GL_NICEST, "GL_NICEST" },
993    { GL_DONT_CARE, "GL_DONT_CARE" },
994  };
995  return GLES2Util::GetQualifiedEnumString(
996      string_table, arraysize(string_table), value);
997}
998
999std::string GLES2Util::GetStringHintTarget(uint32 value) {
1000  static const EnumToString string_table[] = {
1001    { GL_GENERATE_MIPMAP_HINT, "GL_GENERATE_MIPMAP_HINT" },
1002  };
1003  return GLES2Util::GetQualifiedEnumString(
1004      string_table, arraysize(string_table), value);
1005}
1006
1007std::string GLES2Util::GetStringIndexType(uint32 value) {
1008  static const EnumToString string_table[] = {
1009    { GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
1010    { GL_UNSIGNED_SHORT, "GL_UNSIGNED_SHORT" },
1011  };
1012  return GLES2Util::GetQualifiedEnumString(
1013      string_table, arraysize(string_table), value);
1014}
1015
1016std::string GLES2Util::GetStringPixelStore(uint32 value) {
1017  static const EnumToString string_table[] = {
1018    { GL_PACK_ALIGNMENT, "GL_PACK_ALIGNMENT" },
1019    { GL_UNPACK_ALIGNMENT, "GL_UNPACK_ALIGNMENT" },
1020    { GL_UNPACK_FLIP_Y_CHROMIUM, "GL_UNPACK_FLIP_Y_CHROMIUM" },
1021    { GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
1022    "GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM" },
1023    { GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
1024    "GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM" },
1025  };
1026  return GLES2Util::GetQualifiedEnumString(
1027      string_table, arraysize(string_table), value);
1028}
1029
1030std::string GLES2Util::GetStringPixelType(uint32 value) {
1031  static const EnumToString string_table[] = {
1032    { GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
1033    { GL_UNSIGNED_SHORT_5_6_5, "GL_UNSIGNED_SHORT_5_6_5" },
1034    { GL_UNSIGNED_SHORT_4_4_4_4, "GL_UNSIGNED_SHORT_4_4_4_4" },
1035    { GL_UNSIGNED_SHORT_5_5_5_1, "GL_UNSIGNED_SHORT_5_5_5_1" },
1036  };
1037  return GLES2Util::GetQualifiedEnumString(
1038      string_table, arraysize(string_table), value);
1039}
1040
1041std::string GLES2Util::GetStringProgramParameter(uint32 value) {
1042  static const EnumToString string_table[] = {
1043    { GL_DELETE_STATUS, "GL_DELETE_STATUS" },
1044    { GL_LINK_STATUS, "GL_LINK_STATUS" },
1045    { GL_VALIDATE_STATUS, "GL_VALIDATE_STATUS" },
1046    { GL_INFO_LOG_LENGTH, "GL_INFO_LOG_LENGTH" },
1047    { GL_ATTACHED_SHADERS, "GL_ATTACHED_SHADERS" },
1048    { GL_ACTIVE_ATTRIBUTES, "GL_ACTIVE_ATTRIBUTES" },
1049    { GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH" },
1050    { GL_ACTIVE_UNIFORMS, "GL_ACTIVE_UNIFORMS" },
1051    { GL_ACTIVE_UNIFORM_MAX_LENGTH, "GL_ACTIVE_UNIFORM_MAX_LENGTH" },
1052  };
1053  return GLES2Util::GetQualifiedEnumString(
1054      string_table, arraysize(string_table), value);
1055}
1056
1057std::string GLES2Util::GetStringQueryObjectParameter(uint32 value) {
1058  static const EnumToString string_table[] = {
1059    { GL_QUERY_RESULT_EXT, "GL_QUERY_RESULT_EXT" },
1060    { GL_QUERY_RESULT_AVAILABLE_EXT, "GL_QUERY_RESULT_AVAILABLE_EXT" },
1061  };
1062  return GLES2Util::GetQualifiedEnumString(
1063      string_table, arraysize(string_table), value);
1064}
1065
1066std::string GLES2Util::GetStringQueryParameter(uint32 value) {
1067  static const EnumToString string_table[] = {
1068    { GL_CURRENT_QUERY_EXT, "GL_CURRENT_QUERY_EXT" },
1069  };
1070  return GLES2Util::GetQualifiedEnumString(
1071      string_table, arraysize(string_table), value);
1072}
1073
1074std::string GLES2Util::GetStringQueryTarget(uint32 value) {
1075  static const EnumToString string_table[] = {
1076    { GL_ANY_SAMPLES_PASSED_EXT, "GL_ANY_SAMPLES_PASSED_EXT" },
1077    { GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT,
1078    "GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT" },
1079    { GL_COMMANDS_ISSUED_CHROMIUM, "GL_COMMANDS_ISSUED_CHROMIUM" },
1080    { GL_LATENCY_QUERY_CHROMIUM, "GL_LATENCY_QUERY_CHROMIUM" },
1081    { GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM,
1082    "GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM" },
1083    { GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM,
1084    "GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM" },
1085  };
1086  return GLES2Util::GetQualifiedEnumString(
1087      string_table, arraysize(string_table), value);
1088}
1089
1090std::string GLES2Util::GetStringReadPixelFormat(uint32 value) {
1091  static const EnumToString string_table[] = {
1092    { GL_ALPHA, "GL_ALPHA" },
1093    { GL_RGB, "GL_RGB" },
1094    { GL_RGBA, "GL_RGBA" },
1095  };
1096  return GLES2Util::GetQualifiedEnumString(
1097      string_table, arraysize(string_table), value);
1098}
1099
1100std::string GLES2Util::GetStringReadPixelType(uint32 value) {
1101  static const EnumToString string_table[] = {
1102    { GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
1103    { GL_UNSIGNED_SHORT_5_6_5, "GL_UNSIGNED_SHORT_5_6_5" },
1104    { GL_UNSIGNED_SHORT_4_4_4_4, "GL_UNSIGNED_SHORT_4_4_4_4" },
1105    { GL_UNSIGNED_SHORT_5_5_5_1, "GL_UNSIGNED_SHORT_5_5_5_1" },
1106  };
1107  return GLES2Util::GetQualifiedEnumString(
1108      string_table, arraysize(string_table), value);
1109}
1110
1111std::string GLES2Util::GetStringRenderBufferFormat(uint32 value) {
1112  static const EnumToString string_table[] = {
1113    { GL_RGBA4, "GL_RGBA4" },
1114    { GL_RGB565, "GL_RGB565" },
1115    { GL_RGB5_A1, "GL_RGB5_A1" },
1116    { GL_DEPTH_COMPONENT16, "GL_DEPTH_COMPONENT16" },
1117    { GL_STENCIL_INDEX8, "GL_STENCIL_INDEX8" },
1118  };
1119  return GLES2Util::GetQualifiedEnumString(
1120      string_table, arraysize(string_table), value);
1121}
1122
1123std::string GLES2Util::GetStringRenderBufferParameter(uint32 value) {
1124  static const EnumToString string_table[] = {
1125    { GL_RENDERBUFFER_RED_SIZE, "GL_RENDERBUFFER_RED_SIZE" },
1126    { GL_RENDERBUFFER_GREEN_SIZE, "GL_RENDERBUFFER_GREEN_SIZE" },
1127    { GL_RENDERBUFFER_BLUE_SIZE, "GL_RENDERBUFFER_BLUE_SIZE" },
1128    { GL_RENDERBUFFER_ALPHA_SIZE, "GL_RENDERBUFFER_ALPHA_SIZE" },
1129    { GL_RENDERBUFFER_DEPTH_SIZE, "GL_RENDERBUFFER_DEPTH_SIZE" },
1130    { GL_RENDERBUFFER_STENCIL_SIZE, "GL_RENDERBUFFER_STENCIL_SIZE" },
1131    { GL_RENDERBUFFER_WIDTH, "GL_RENDERBUFFER_WIDTH" },
1132    { GL_RENDERBUFFER_HEIGHT, "GL_RENDERBUFFER_HEIGHT" },
1133    { GL_RENDERBUFFER_INTERNAL_FORMAT, "GL_RENDERBUFFER_INTERNAL_FORMAT" },
1134  };
1135  return GLES2Util::GetQualifiedEnumString(
1136      string_table, arraysize(string_table), value);
1137}
1138
1139std::string GLES2Util::GetStringRenderBufferTarget(uint32 value) {
1140  static const EnumToString string_table[] = {
1141    { GL_RENDERBUFFER, "GL_RENDERBUFFER" },
1142  };
1143  return GLES2Util::GetQualifiedEnumString(
1144      string_table, arraysize(string_table), value);
1145}
1146
1147std::string GLES2Util::GetStringResetStatus(uint32 value) {
1148  static const EnumToString string_table[] = {
1149    { GL_GUILTY_CONTEXT_RESET_ARB, "GL_GUILTY_CONTEXT_RESET_ARB" },
1150    { GL_INNOCENT_CONTEXT_RESET_ARB, "GL_INNOCENT_CONTEXT_RESET_ARB" },
1151    { GL_UNKNOWN_CONTEXT_RESET_ARB, "GL_UNKNOWN_CONTEXT_RESET_ARB" },
1152  };
1153  return GLES2Util::GetQualifiedEnumString(
1154      string_table, arraysize(string_table), value);
1155}
1156
1157std::string GLES2Util::GetStringShaderBinaryFormat(uint32 value) {
1158  return GLES2Util::GetQualifiedEnumString(
1159      NULL, 0, value);
1160}
1161
1162std::string GLES2Util::GetStringShaderParameter(uint32 value) {
1163  static const EnumToString string_table[] = {
1164    { GL_SHADER_TYPE, "GL_SHADER_TYPE" },
1165    { GL_DELETE_STATUS, "GL_DELETE_STATUS" },
1166    { GL_COMPILE_STATUS, "GL_COMPILE_STATUS" },
1167    { GL_INFO_LOG_LENGTH, "GL_INFO_LOG_LENGTH" },
1168    { GL_SHADER_SOURCE_LENGTH, "GL_SHADER_SOURCE_LENGTH" },
1169    { GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE,
1170    "GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE" },
1171  };
1172  return GLES2Util::GetQualifiedEnumString(
1173      string_table, arraysize(string_table), value);
1174}
1175
1176std::string GLES2Util::GetStringShaderPrecision(uint32 value) {
1177  static const EnumToString string_table[] = {
1178    { GL_LOW_FLOAT, "GL_LOW_FLOAT" },
1179    { GL_MEDIUM_FLOAT, "GL_MEDIUM_FLOAT" },
1180    { GL_HIGH_FLOAT, "GL_HIGH_FLOAT" },
1181    { GL_LOW_INT, "GL_LOW_INT" },
1182    { GL_MEDIUM_INT, "GL_MEDIUM_INT" },
1183    { GL_HIGH_INT, "GL_HIGH_INT" },
1184  };
1185  return GLES2Util::GetQualifiedEnumString(
1186      string_table, arraysize(string_table), value);
1187}
1188
1189std::string GLES2Util::GetStringShaderType(uint32 value) {
1190  static const EnumToString string_table[] = {
1191    { GL_VERTEX_SHADER, "GL_VERTEX_SHADER" },
1192    { GL_FRAGMENT_SHADER, "GL_FRAGMENT_SHADER" },
1193  };
1194  return GLES2Util::GetQualifiedEnumString(
1195      string_table, arraysize(string_table), value);
1196}
1197
1198std::string GLES2Util::GetStringSrcBlendFactor(uint32 value) {
1199  static const EnumToString string_table[] = {
1200    { GL_ZERO, "GL_ZERO" },
1201    { GL_ONE, "GL_ONE" },
1202    { GL_SRC_COLOR, "GL_SRC_COLOR" },
1203    { GL_ONE_MINUS_SRC_COLOR, "GL_ONE_MINUS_SRC_COLOR" },
1204    { GL_DST_COLOR, "GL_DST_COLOR" },
1205    { GL_ONE_MINUS_DST_COLOR, "GL_ONE_MINUS_DST_COLOR" },
1206    { GL_SRC_ALPHA, "GL_SRC_ALPHA" },
1207    { GL_ONE_MINUS_SRC_ALPHA, "GL_ONE_MINUS_SRC_ALPHA" },
1208    { GL_DST_ALPHA, "GL_DST_ALPHA" },
1209    { GL_ONE_MINUS_DST_ALPHA, "GL_ONE_MINUS_DST_ALPHA" },
1210    { GL_CONSTANT_COLOR, "GL_CONSTANT_COLOR" },
1211    { GL_ONE_MINUS_CONSTANT_COLOR, "GL_ONE_MINUS_CONSTANT_COLOR" },
1212    { GL_CONSTANT_ALPHA, "GL_CONSTANT_ALPHA" },
1213    { GL_ONE_MINUS_CONSTANT_ALPHA, "GL_ONE_MINUS_CONSTANT_ALPHA" },
1214    { GL_SRC_ALPHA_SATURATE, "GL_SRC_ALPHA_SATURATE" },
1215  };
1216  return GLES2Util::GetQualifiedEnumString(
1217      string_table, arraysize(string_table), value);
1218}
1219
1220std::string GLES2Util::GetStringStencilOp(uint32 value) {
1221  static const EnumToString string_table[] = {
1222    { GL_KEEP, "GL_KEEP" },
1223    { GL_ZERO, "GL_ZERO" },
1224    { GL_REPLACE, "GL_REPLACE" },
1225    { GL_INCR, "GL_INCR" },
1226    { GL_INCR_WRAP, "GL_INCR_WRAP" },
1227    { GL_DECR, "GL_DECR" },
1228    { GL_DECR_WRAP, "GL_DECR_WRAP" },
1229    { GL_INVERT, "GL_INVERT" },
1230  };
1231  return GLES2Util::GetQualifiedEnumString(
1232      string_table, arraysize(string_table), value);
1233}
1234
1235std::string GLES2Util::GetStringStringType(uint32 value) {
1236  static const EnumToString string_table[] = {
1237    { GL_VENDOR, "GL_VENDOR" },
1238    { GL_RENDERER, "GL_RENDERER" },
1239    { GL_VERSION, "GL_VERSION" },
1240    { GL_SHADING_LANGUAGE_VERSION, "GL_SHADING_LANGUAGE_VERSION" },
1241    { GL_EXTENSIONS, "GL_EXTENSIONS" },
1242  };
1243  return GLES2Util::GetQualifiedEnumString(
1244      string_table, arraysize(string_table), value);
1245}
1246
1247std::string GLES2Util::GetStringTextureBindTarget(uint32 value) {
1248  static const EnumToString string_table[] = {
1249    { GL_TEXTURE_2D, "GL_TEXTURE_2D" },
1250    { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" },
1251  };
1252  return GLES2Util::GetQualifiedEnumString(
1253      string_table, arraysize(string_table), value);
1254}
1255
1256std::string GLES2Util::GetStringTextureFormat(uint32 value) {
1257  static const EnumToString string_table[] = {
1258    { GL_ALPHA, "GL_ALPHA" },
1259    { GL_LUMINANCE, "GL_LUMINANCE" },
1260    { GL_LUMINANCE_ALPHA, "GL_LUMINANCE_ALPHA" },
1261    { GL_RGB, "GL_RGB" },
1262    { GL_RGBA, "GL_RGBA" },
1263  };
1264  return GLES2Util::GetQualifiedEnumString(
1265      string_table, arraysize(string_table), value);
1266}
1267
1268std::string GLES2Util::GetStringTextureInternalFormat(uint32 value) {
1269  static const EnumToString string_table[] = {
1270    { GL_ALPHA, "GL_ALPHA" },
1271    { GL_LUMINANCE, "GL_LUMINANCE" },
1272    { GL_LUMINANCE_ALPHA, "GL_LUMINANCE_ALPHA" },
1273    { GL_RGB, "GL_RGB" },
1274    { GL_RGBA, "GL_RGBA" },
1275  };
1276  return GLES2Util::GetQualifiedEnumString(
1277      string_table, arraysize(string_table), value);
1278}
1279
1280std::string GLES2Util::GetStringTextureInternalFormatStorage(uint32 value) {
1281  static const EnumToString string_table[] = {
1282    { GL_RGB565, "GL_RGB565" },
1283    { GL_RGBA4, "GL_RGBA4" },
1284    { GL_RGB5_A1, "GL_RGB5_A1" },
1285    { GL_ALPHA8_EXT, "GL_ALPHA8_EXT" },
1286    { GL_LUMINANCE8_EXT, "GL_LUMINANCE8_EXT" },
1287    { GL_LUMINANCE8_ALPHA8_EXT, "GL_LUMINANCE8_ALPHA8_EXT" },
1288    { GL_RGB8_OES, "GL_RGB8_OES" },
1289    { GL_RGBA8_OES, "GL_RGBA8_OES" },
1290  };
1291  return GLES2Util::GetQualifiedEnumString(
1292      string_table, arraysize(string_table), value);
1293}
1294
1295std::string GLES2Util::GetStringTextureMagFilterMode(uint32 value) {
1296  static const EnumToString string_table[] = {
1297    { GL_NEAREST, "GL_NEAREST" },
1298    { GL_LINEAR, "GL_LINEAR" },
1299  };
1300  return GLES2Util::GetQualifiedEnumString(
1301      string_table, arraysize(string_table), value);
1302}
1303
1304std::string GLES2Util::GetStringTextureMinFilterMode(uint32 value) {
1305  static const EnumToString string_table[] = {
1306    { GL_NEAREST, "GL_NEAREST" },
1307    { GL_LINEAR, "GL_LINEAR" },
1308    { GL_NEAREST_MIPMAP_NEAREST, "GL_NEAREST_MIPMAP_NEAREST" },
1309    { GL_LINEAR_MIPMAP_NEAREST, "GL_LINEAR_MIPMAP_NEAREST" },
1310    { GL_NEAREST_MIPMAP_LINEAR, "GL_NEAREST_MIPMAP_LINEAR" },
1311    { GL_LINEAR_MIPMAP_LINEAR, "GL_LINEAR_MIPMAP_LINEAR" },
1312  };
1313  return GLES2Util::GetQualifiedEnumString(
1314      string_table, arraysize(string_table), value);
1315}
1316
1317std::string GLES2Util::GetStringTextureParameter(uint32 value) {
1318  static const EnumToString string_table[] = {
1319    { GL_TEXTURE_MAG_FILTER, "GL_TEXTURE_MAG_FILTER" },
1320    { GL_TEXTURE_MIN_FILTER, "GL_TEXTURE_MIN_FILTER" },
1321    { GL_TEXTURE_POOL_CHROMIUM, "GL_TEXTURE_POOL_CHROMIUM" },
1322    { GL_TEXTURE_WRAP_S, "GL_TEXTURE_WRAP_S" },
1323    { GL_TEXTURE_WRAP_T, "GL_TEXTURE_WRAP_T" },
1324  };
1325  return GLES2Util::GetQualifiedEnumString(
1326      string_table, arraysize(string_table), value);
1327}
1328
1329std::string GLES2Util::GetStringTexturePool(uint32 value) {
1330  static const EnumToString string_table[] = {
1331    { GL_TEXTURE_POOL_MANAGED_CHROMIUM, "GL_TEXTURE_POOL_MANAGED_CHROMIUM" },
1332    { GL_TEXTURE_POOL_UNMANAGED_CHROMIUM,
1333    "GL_TEXTURE_POOL_UNMANAGED_CHROMIUM" },
1334  };
1335  return GLES2Util::GetQualifiedEnumString(
1336      string_table, arraysize(string_table), value);
1337}
1338
1339std::string GLES2Util::GetStringTextureTarget(uint32 value) {
1340  static const EnumToString string_table[] = {
1341    { GL_TEXTURE_2D, "GL_TEXTURE_2D" },
1342    { GL_TEXTURE_CUBE_MAP_POSITIVE_X, "GL_TEXTURE_CUBE_MAP_POSITIVE_X" },
1343    { GL_TEXTURE_CUBE_MAP_NEGATIVE_X, "GL_TEXTURE_CUBE_MAP_NEGATIVE_X" },
1344    { GL_TEXTURE_CUBE_MAP_POSITIVE_Y, "GL_TEXTURE_CUBE_MAP_POSITIVE_Y" },
1345    { GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" },
1346    { GL_TEXTURE_CUBE_MAP_POSITIVE_Z, "GL_TEXTURE_CUBE_MAP_POSITIVE_Z" },
1347    { GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" },
1348  };
1349  return GLES2Util::GetQualifiedEnumString(
1350      string_table, arraysize(string_table), value);
1351}
1352
1353std::string GLES2Util::GetStringTextureUsage(uint32 value) {
1354  static const EnumToString string_table[] = {
1355    { GL_NONE, "GL_NONE" },
1356    { GL_FRAMEBUFFER_ATTACHMENT_ANGLE, "GL_FRAMEBUFFER_ATTACHMENT_ANGLE" },
1357  };
1358  return GLES2Util::GetQualifiedEnumString(
1359      string_table, arraysize(string_table), value);
1360}
1361
1362std::string GLES2Util::GetStringTextureWrapMode(uint32 value) {
1363  static const EnumToString string_table[] = {
1364    { GL_CLAMP_TO_EDGE, "GL_CLAMP_TO_EDGE" },
1365    { GL_MIRRORED_REPEAT, "GL_MIRRORED_REPEAT" },
1366    { GL_REPEAT, "GL_REPEAT" },
1367  };
1368  return GLES2Util::GetQualifiedEnumString(
1369      string_table, arraysize(string_table), value);
1370}
1371
1372std::string GLES2Util::GetStringVertexAttribType(uint32 value) {
1373  static const EnumToString string_table[] = {
1374    { GL_BYTE, "GL_BYTE" },
1375    { GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
1376    { GL_SHORT, "GL_SHORT" },
1377    { GL_UNSIGNED_SHORT, "GL_UNSIGNED_SHORT" },
1378    { GL_FLOAT, "GL_FLOAT" },
1379  };
1380  return GLES2Util::GetQualifiedEnumString(
1381      string_table, arraysize(string_table), value);
1382}
1383
1384std::string GLES2Util::GetStringVertexAttribute(uint32 value) {
1385  static const EnumToString string_table[] = {
1386    { GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED" },
1387    { GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
1388    "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" },
1389    { GL_VERTEX_ATTRIB_ARRAY_ENABLED, "GL_VERTEX_ATTRIB_ARRAY_ENABLED" },
1390    { GL_VERTEX_ATTRIB_ARRAY_SIZE, "GL_VERTEX_ATTRIB_ARRAY_SIZE" },
1391    { GL_VERTEX_ATTRIB_ARRAY_STRIDE, "GL_VERTEX_ATTRIB_ARRAY_STRIDE" },
1392    { GL_VERTEX_ATTRIB_ARRAY_TYPE, "GL_VERTEX_ATTRIB_ARRAY_TYPE" },
1393    { GL_CURRENT_VERTEX_ATTRIB, "GL_CURRENT_VERTEX_ATTRIB" },
1394  };
1395  return GLES2Util::GetQualifiedEnumString(
1396      string_table, arraysize(string_table), value);
1397}
1398
1399std::string GLES2Util::GetStringVertexPointer(uint32 value) {
1400  static const EnumToString string_table[] = {
1401    { GL_VERTEX_ATTRIB_ARRAY_POINTER, "GL_VERTEX_ATTRIB_ARRAY_POINTER" },
1402  };
1403  return GLES2Util::GetQualifiedEnumString(
1404      string_table, arraysize(string_table), value);
1405}
1406
1407#endif  // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_IMPLEMENTATION_AUTOGEN_H_
1408
1409