- add sources.
[platform/framework/web/crosswalk.git] / src / gpu / command_buffer / common / gles2_cmd_utils_implementation_autogen.h
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
12 static 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_UNPACK_COMPLETED_CHROMIUM", },
229   { 0x882A, "GL_DRAW_BUFFER5_NV", },
230   { 0x80AA, "GL_SAMPLE_COVERAGE_VALUE", },
231   { 0x84F6, "GL_ASYNC_PIXEL_PACK_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
676 const GLES2Util::EnumToString* const GLES2Util::enum_to_string_table_ =
677     enum_to_string_table;
678 const size_t GLES2Util::enum_to_string_table_len_ =
679     sizeof(enum_to_string_table) / sizeof(enum_to_string_table[0]);
680
681 std::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
691 std::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
701 std::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
710 std::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
719 std::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
728 std::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
738 std::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
754 std::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
769 std::string GLES2Util::GetStringCompressedTextureFormat(uint32 value) {
770   return GLES2Util::GetQualifiedEnumString(
771       NULL, 0, value);
772 }
773
774 std::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
788 std::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
809 std::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
819 std::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
828 std::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
838 std::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
853 std::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
861 std::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
970 std::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
980 std::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
989 std::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
999 std::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
1007 std::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
1016 std::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
1030 std::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
1041 std::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
1057 std::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
1066 std::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
1074 std::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_UNPACK_COMPLETED_CHROMIUM,
1082     "GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM" },
1083     { GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM,
1084     "GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM" },
1085   };
1086   return GLES2Util::GetQualifiedEnumString(
1087       string_table, arraysize(string_table), value);
1088 }
1089
1090 std::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
1100 std::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
1111 std::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
1123 std::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
1139 std::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
1147 std::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
1157 std::string GLES2Util::GetStringShaderBinaryFormat(uint32 value) {
1158   return GLES2Util::GetQualifiedEnumString(
1159       NULL, 0, value);
1160 }
1161
1162 std::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
1176 std::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
1189 std::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
1198 std::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
1220 std::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
1235 std::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
1247 std::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
1256 std::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
1268 std::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
1280 std::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
1295 std::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
1304 std::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
1317 std::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
1329 std::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
1339 std::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
1353 std::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
1362 std::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
1372 std::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
1384 std::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
1399 std::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