gl: ES 3.0 constants

Change-Id: I3d2335948e88c21aa7da7c5d022da59f7fcbddc5
Reviewed-on: https://go-review.googlesource.com/24073
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/gl/consts.go b/gl/consts.go
index 10d56f3..370d0b8 100644
--- a/gl/consts.go
+++ b/gl/consts.go
@@ -346,3 +346,312 @@
 	NO_ERROR = 0
 	NONE     = 0
 )
+
+// GL ES 3.0 constants.
+const (
+	ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH          = 0x8A35
+	ACTIVE_UNIFORM_BLOCKS                         = 0x8A36
+	ALREADY_SIGNALED                              = 0x911A
+	ANY_SAMPLES_PASSED                            = 0x8C2F
+	ANY_SAMPLES_PASSED_CONSERVATIVE               = 0x8D6A
+	BLUE                                          = 0x1905
+	BUFFER_ACCESS_FLAGS                           = 0x911F
+	BUFFER_MAP_LENGTH                             = 0x9120
+	BUFFER_MAP_OFFSET                             = 0x9121
+	BUFFER_MAPPED                                 = 0x88BC
+	BUFFER_MAP_POINTER                            = 0x88BD
+	COLOR                                         = 0x1800
+	COLOR_ATTACHMENT10                            = 0x8CEA
+	COLOR_ATTACHMENT1                             = 0x8CE1
+	COLOR_ATTACHMENT11                            = 0x8CEB
+	COLOR_ATTACHMENT12                            = 0x8CEC
+	COLOR_ATTACHMENT13                            = 0x8CED
+	COLOR_ATTACHMENT14                            = 0x8CEE
+	COLOR_ATTACHMENT15                            = 0x8CEF
+	COLOR_ATTACHMENT2                             = 0x8CE2
+	COLOR_ATTACHMENT3                             = 0x8CE3
+	COLOR_ATTACHMENT4                             = 0x8CE4
+	COLOR_ATTACHMENT5                             = 0x8CE5
+	COLOR_ATTACHMENT6                             = 0x8CE6
+	COLOR_ATTACHMENT7                             = 0x8CE7
+	COLOR_ATTACHMENT8                             = 0x8CE8
+	COLOR_ATTACHMENT9                             = 0x8CE9
+	COMPARE_REF_TO_TEXTURE                        = 0x884E
+	COMPRESSED_R11_EAC                            = 0x9270
+	COMPRESSED_RG11_EAC                           = 0x9272
+	COMPRESSED_RGB8_ETC2                          = 0x9274
+	COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2      = 0x9276
+	COMPRESSED_RGBA8_ETC2_EAC                     = 0x9278
+	COMPRESSED_SIGNED_R11_EAC                     = 0x9271
+	COMPRESSED_SIGNED_RG11_EAC                    = 0x9273
+	COMPRESSED_SRGB8_ALPHA8_ETC2_EAC              = 0x9279
+	COMPRESSED_SRGB8_ETC2                         = 0x9275
+	COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2     = 0x9277
+	CONDITION_SATISFIED                           = 0x911C
+	COPY_READ_BUFFER                              = 0x8F36
+	COPY_READ_BUFFER_BINDING                      = 0x8F36
+	COPY_WRITE_BUFFER                             = 0x8F37
+	COPY_WRITE_BUFFER_BINDING                     = 0x8F37
+	CURRENT_QUERY                                 = 0x8865
+	DEPTH                                         = 0x1801
+	DEPTH24_STENCIL8                              = 0x88F0
+	DEPTH32F_STENCIL8                             = 0x8CAD
+	DEPTH_COMPONENT24                             = 0x81A6
+	DEPTH_COMPONENT32F                            = 0x8CAC
+	DEPTH_STENCIL                                 = 0x84F9
+	DEPTH_STENCIL_ATTACHMENT                      = 0x821A
+	DRAW_BUFFER0                                  = 0x8825
+	DRAW_BUFFER10                                 = 0x882F
+	DRAW_BUFFER1                                  = 0x8826
+	DRAW_BUFFER11                                 = 0x8830
+	DRAW_BUFFER12                                 = 0x8831
+	DRAW_BUFFER13                                 = 0x8832
+	DRAW_BUFFER14                                 = 0x8833
+	DRAW_BUFFER15                                 = 0x8834
+	DRAW_BUFFER2                                  = 0x8827
+	DRAW_BUFFER3                                  = 0x8828
+	DRAW_BUFFER4                                  = 0x8829
+	DRAW_BUFFER5                                  = 0x882A
+	DRAW_BUFFER6                                  = 0x882B
+	DRAW_BUFFER7                                  = 0x882C
+	DRAW_BUFFER8                                  = 0x882D
+	DRAW_BUFFER9                                  = 0x882E
+	DRAW_FRAMEBUFFER                              = 0x8CA9
+	DRAW_FRAMEBUFFER_BINDING                      = 0x8CA6
+	DYNAMIC_COPY                                  = 0x88EA
+	DYNAMIC_READ                                  = 0x88E9
+	FLOAT_32_UNSIGNED_INT_24_8_REV                = 0x8DAD
+	FLOAT_MAT2x3                                  = 0x8B65
+	FLOAT_MAT2x4                                  = 0x8B66
+	FLOAT_MAT3x2                                  = 0x8B67
+	FLOAT_MAT3x4                                  = 0x8B68
+	FLOAT_MAT4x2                                  = 0x8B69
+	FLOAT_MAT4x3                                  = 0x8B6A
+	FRAGMENT_SHADER_DERIVATIVE_HINT               = 0x8B8B
+	FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE             = 0x8215
+	FRAMEBUFFER_ATTACHMENT_BLUE_SIZE              = 0x8214
+	FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING         = 0x8210
+	FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE         = 0x8211
+	FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE             = 0x8216
+	FRAMEBUFFER_ATTACHMENT_GREEN_SIZE             = 0x8213
+	FRAMEBUFFER_ATTACHMENT_RED_SIZE               = 0x8212
+	FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE           = 0x8217
+	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER          = 0x8CD4
+	FRAMEBUFFER_DEFAULT                           = 0x8218
+	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56
+	FRAMEBUFFER_UNDEFINED                         = 0x8219
+	GREEN                                         = 0x1904
+	HALF_FLOAT                                    = 0x140B
+	INT_2_10_10_10_REV                            = 0x8D9F
+	INTERLEAVED_ATTRIBS                           = 0x8C8C
+	INT_SAMPLER_2D                                = 0x8DCA
+	INT_SAMPLER_2D_ARRAY                          = 0x8DCF
+	INT_SAMPLER_3D                                = 0x8DCB
+	INT_SAMPLER_CUBE                              = 0x8DCC
+	INVALID_INDEX                                 = 0xFFFFFFFF
+	MAJOR_VERSION                                 = 0x821B
+	MAP_FLUSH_EXPLICIT_BIT                        = 0x0010
+	MAP_INVALIDATE_BUFFER_BIT                     = 0x0008
+	MAP_INVALIDATE_RANGE_BIT                      = 0x0004
+	MAP_READ_BIT                                  = 0x0001
+	MAP_UNSYNCHRONIZED_BIT                        = 0x0020
+	MAP_WRITE_BIT                                 = 0x0002
+	MAX                                           = 0x8008
+	MAX_3D_TEXTURE_SIZE                           = 0x8073
+	MAX_ARRAY_TEXTURE_LAYERS                      = 0x88FF
+	MAX_COLOR_ATTACHMENTS                         = 0x8CDF
+	MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS      = 0x8A33
+	MAX_COMBINED_UNIFORM_BLOCKS                   = 0x8A2E
+	MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS        = 0x8A31
+	MAX_DRAW_BUFFERS                              = 0x8824
+	MAX_ELEMENT_INDEX                             = 0x8D6B
+	MAX_ELEMENTS_INDICES                          = 0x80E9
+	MAX_ELEMENTS_VERTICES                         = 0x80E8
+	MAX_FRAGMENT_INPUT_COMPONENTS                 = 0x9125
+	MAX_FRAGMENT_UNIFORM_BLOCKS                   = 0x8A2D
+	MAX_FRAGMENT_UNIFORM_COMPONENTS               = 0x8B49
+	MAX_PROGRAM_TEXEL_OFFSET                      = 0x8905
+	MAX_SAMPLES                                   = 0x8D57
+	MAX_SERVER_WAIT_TIMEOUT                       = 0x9111
+	MAX_TEXTURE_LOD_BIAS                          = 0x84FD
+	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
+	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       = 0x8C8B
+	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    = 0x8C80
+	MAX_UNIFORM_BLOCK_SIZE                        = 0x8A30
+	MAX_UNIFORM_BUFFER_BINDINGS                   = 0x8A2F
+	MAX_VARYING_COMPONENTS                        = 0x8B4B
+	MAX_VERTEX_OUTPUT_COMPONENTS                  = 0x9122
+	MAX_VERTEX_UNIFORM_BLOCKS                     = 0x8A2B
+	MAX_VERTEX_UNIFORM_COMPONENTS                 = 0x8B4A
+	MIN                                           = 0x8007
+	MINOR_VERSION                                 = 0x821C
+	MIN_PROGRAM_TEXEL_OFFSET                      = 0x8904
+	NUM_EXTENSIONS                                = 0x821D
+	NUM_PROGRAM_BINARY_FORMATS                    = 0x87FE
+	NUM_SAMPLE_COUNTS                             = 0x9380
+	OBJECT_TYPE                                   = 0x9112
+	PACK_ROW_LENGTH                               = 0x0D02
+	PACK_SKIP_PIXELS                              = 0x0D04
+	PACK_SKIP_ROWS                                = 0x0D03
+	PIXEL_PACK_BUFFER                             = 0x88EB
+	PIXEL_PACK_BUFFER_BINDING                     = 0x88ED
+	PIXEL_UNPACK_BUFFER                           = 0x88EC
+	PIXEL_UNPACK_BUFFER_BINDING                   = 0x88EF
+	PRIMITIVE_RESTART_FIXED_INDEX                 = 0x8D69
+	PROGRAM_BINARY_FORMATS                        = 0x87FF
+	PROGRAM_BINARY_LENGTH                         = 0x8741
+	PROGRAM_BINARY_RETRIEVABLE_HINT               = 0x8257
+	QUERY_RESULT                                  = 0x8866
+	QUERY_RESULT_AVAILABLE                        = 0x8867
+	R11F_G11F_B10F                                = 0x8C3A
+	R16F                                          = 0x822D
+	R16I                                          = 0x8233
+	R16UI                                         = 0x8234
+	R32F                                          = 0x822E
+	R32I                                          = 0x8235
+	R32UI                                         = 0x8236
+	R8                                            = 0x8229
+	R8I                                           = 0x8231
+	R8_SNORM                                      = 0x8F94
+	R8UI                                          = 0x8232
+	RASTERIZER_DISCARD                            = 0x8C89
+	READ_BUFFER                                   = 0x0C02
+	READ_FRAMEBUFFER                              = 0x8CA8
+	READ_FRAMEBUFFER_BINDING                      = 0x8CAA
+	RED                                           = 0x1903
+	RED_INTEGER                                   = 0x8D94
+	RENDERBUFFER_SAMPLES                          = 0x8CAB
+	RG                                            = 0x8227
+	RG16F                                         = 0x822F
+	RG16I                                         = 0x8239
+	RG16UI                                        = 0x823A
+	RG32F                                         = 0x8230
+	RG32I                                         = 0x823B
+	RG32UI                                        = 0x823C
+	RG8                                           = 0x822B
+	RG8I                                          = 0x8237
+	RG8_SNORM                                     = 0x8F95
+	RG8UI                                         = 0x8238
+	RGB10_A2                                      = 0x8059
+	RGB10_A2UI                                    = 0x906F
+	RGB16F                                        = 0x881B
+	RGB16I                                        = 0x8D89
+	RGB16UI                                       = 0x8D77
+	RGB32F                                        = 0x8815
+	RGB32I                                        = 0x8D83
+	RGB32UI                                       = 0x8D71
+	RGB8                                          = 0x8051
+	RGB8I                                         = 0x8D8F
+	RGB8_SNORM                                    = 0x8F96
+	RGB8UI                                        = 0x8D7D
+	RGB9_E5                                       = 0x8C3D
+	RGBA16F                                       = 0x881A
+	RGBA16I                                       = 0x8D88
+	RGBA16UI                                      = 0x8D76
+	RGBA32F                                       = 0x8814
+	RGBA32I                                       = 0x8D82
+	RGBA32UI                                      = 0x8D70
+	RGBA8                                         = 0x8058
+	RGBA8I                                        = 0x8D8E
+	RGBA8_SNORM                                   = 0x8F97
+	RGBA8UI                                       = 0x8D7C
+	RGBA_INTEGER                                  = 0x8D99
+	RGB_INTEGER                                   = 0x8D98
+	RG_INTEGER                                    = 0x8228
+	SAMPLER_2D_ARRAY                              = 0x8DC1
+	SAMPLER_2D_ARRAY_SHADOW                       = 0x8DC4
+	SAMPLER_2D_SHADOW                             = 0x8B62
+	SAMPLER_3D                                    = 0x8B5F
+	SAMPLER_BINDING                               = 0x8919
+	SAMPLER_CUBE_SHADOW                           = 0x8DC5
+	SEPARATE_ATTRIBS                              = 0x8C8D
+	SIGNALED                                      = 0x9119
+	SIGNED_NORMALIZED                             = 0x8F9C
+	SRGB                                          = 0x8C40
+	SRGB8                                         = 0x8C41
+	SRGB8_ALPHA8                                  = 0x8C43
+	STATIC_COPY                                   = 0x88E6
+	STATIC_READ                                   = 0x88E5
+	STENCIL                                       = 0x1802
+	STREAM_COPY                                   = 0x88E2
+	STREAM_READ                                   = 0x88E1
+	SYNC_CONDITION                                = 0x9113
+	SYNC_FENCE                                    = 0x9116
+	SYNC_FLAGS                                    = 0x9115
+	SYNC_FLUSH_COMMANDS_BIT                       = 0x00000001
+	SYNC_GPU_COMMANDS_COMPLETE                    = 0x9117
+	SYNC_STATUS                                   = 0x9114
+	TEXTURE_2D_ARRAY                              = 0x8C1A
+	TEXTURE_3D                                    = 0x806F
+	TEXTURE_BASE_LEVEL                            = 0x813C
+	TEXTURE_BINDING_2D_ARRAY                      = 0x8C1D
+	TEXTURE_BINDING_3D                            = 0x806A
+	TEXTURE_COMPARE_FUNC                          = 0x884D
+	TEXTURE_COMPARE_MODE                          = 0x884C
+	TEXTURE_IMMUTABLE_FORMAT                      = 0x912F
+	TEXTURE_IMMUTABLE_LEVELS                      = 0x82DF
+	TEXTURE_MAX_LEVEL                             = 0x813D
+	TEXTURE_MAX_LOD                               = 0x813B
+	TEXTURE_MIN_LOD                               = 0x813A
+	TEXTURE_SWIZZLE_A                             = 0x8E45
+	TEXTURE_SWIZZLE_B                             = 0x8E44
+	TEXTURE_SWIZZLE_G                             = 0x8E43
+	TEXTURE_SWIZZLE_R                             = 0x8E42
+	TEXTURE_WRAP_R                                = 0x8072
+	TIMEOUT_EXPIRED                               = 0x911B
+	TIMEOUT_IGNORED                               = 0xFFFFFFFFFFFFFFFF
+	TRANSFORM_FEEDBACK                            = 0x8E22
+	TRANSFORM_FEEDBACK_ACTIVE                     = 0x8E24
+	TRANSFORM_FEEDBACK_BINDING                    = 0x8E25
+	TRANSFORM_FEEDBACK_BUFFER                     = 0x8C8E
+	TRANSFORM_FEEDBACK_BUFFER_BINDING             = 0x8C8F
+	TRANSFORM_FEEDBACK_BUFFER_MODE                = 0x8C7F
+	TRANSFORM_FEEDBACK_BUFFER_SIZE                = 0x8C85
+	TRANSFORM_FEEDBACK_BUFFER_START               = 0x8C84
+	TRANSFORM_FEEDBACK_PAUSED                     = 0x8E23
+	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         = 0x8C88
+	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         = 0x8C76
+	TRANSFORM_FEEDBACK_VARYINGS                   = 0x8C83
+	UNIFORM_ARRAY_STRIDE                          = 0x8A3C
+	UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES          = 0x8A43
+	UNIFORM_BLOCK_ACTIVE_UNIFORMS                 = 0x8A42
+	UNIFORM_BLOCK_BINDING                         = 0x8A3F
+	UNIFORM_BLOCK_DATA_SIZE                       = 0x8A40
+	UNIFORM_BLOCK_INDEX                           = 0x8A3A
+	UNIFORM_BLOCK_NAME_LENGTH                     = 0x8A41
+	UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER   = 0x8A46
+	UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER     = 0x8A44
+	UNIFORM_BUFFER                                = 0x8A11
+	UNIFORM_BUFFER_BINDING                        = 0x8A28
+	UNIFORM_BUFFER_OFFSET_ALIGNMENT               = 0x8A34
+	UNIFORM_BUFFER_SIZE                           = 0x8A2A
+	UNIFORM_BUFFER_START                          = 0x8A29
+	UNIFORM_IS_ROW_MAJOR                          = 0x8A3E
+	UNIFORM_MATRIX_STRIDE                         = 0x8A3D
+	UNIFORM_NAME_LENGTH                           = 0x8A39
+	UNIFORM_OFFSET                                = 0x8A3B
+	UNIFORM_SIZE                                  = 0x8A38
+	UNIFORM_TYPE                                  = 0x8A37
+	UNPACK_IMAGE_HEIGHT                           = 0x806E
+	UNPACK_ROW_LENGTH                             = 0x0CF2
+	UNPACK_SKIP_IMAGES                            = 0x806D
+	UNPACK_SKIP_PIXELS                            = 0x0CF4
+	UNPACK_SKIP_ROWS                              = 0x0CF3
+	UNSIGNALED                                    = 0x9118
+	UNSIGNED_INT_10F_11F_11F_REV                  = 0x8C3B
+	UNSIGNED_INT_2_10_10_10_REV                   = 0x8368
+	UNSIGNED_INT_24_8                             = 0x84FA
+	UNSIGNED_INT_5_9_9_9_REV                      = 0x8C3E
+	UNSIGNED_INT_SAMPLER_2D                       = 0x8DD2
+	UNSIGNED_INT_SAMPLER_2D_ARRAY                 = 0x8DD7
+	UNSIGNED_INT_SAMPLER_3D                       = 0x8DD3
+	UNSIGNED_INT_SAMPLER_CUBE                     = 0x8DD4
+	UNSIGNED_INT_VEC2                             = 0x8DC6
+	UNSIGNED_INT_VEC3                             = 0x8DC7
+	UNSIGNED_INT_VEC4                             = 0x8DC8
+	UNSIGNED_NORMALIZED                           = 0x8C17
+	VERTEX_ARRAY_BINDING                          = 0x85B5
+	VERTEX_ATTRIB_ARRAY_DIVISOR                   = 0x88FE
+	VERTEX_ATTRIB_ARRAY_INTEGER                   = 0x88FD
+	WAIT_FAILED                                   = 0x911D
+)
diff --git a/gl/gendebug.go b/gl/gendebug.go
index 57b966e..936accb 100644
--- a/gl/gendebug.go
+++ b/gl/gendebug.go
@@ -322,7 +322,7 @@
 
 type entry struct {
 	name  string
-	value int
+	value uint64
 }
 
 // enum builds a list of all GL constants that make up the gl.Enum type.
@@ -344,11 +344,11 @@
 			if len(v.Names) != 1 || len(v.Values) != 1 {
 				continue
 			}
-			val, err := strconv.ParseInt(v.Values[0].(*ast.BasicLit).Value, 0, 32)
+			val, err := strconv.ParseUint(v.Values[0].(*ast.BasicLit).Value, 0, 64)
 			if err != nil {
 				log.Fatalf("enum %s: %v", v.Names[0].Name, err)
 			}
-			entries = append(entries, entry{v.Names[0].Name, int(val)})
+			entries = append(entries, entry{v.Names[0].Name, val})
 		}
 	}
 	return entries
@@ -356,7 +356,7 @@
 
 func dedup(entries []entry) []entry {
 	// Find all duplicates. Use "%d" as the name of any value with duplicates.
-	seen := make(map[int]int)
+	seen := make(map[uint64]int)
 	for _, e := range entries {
 		seen[e.value]++
 	}
diff --git a/gl/gldebug.go b/gl/gldebug.go
index 8dde6df..b2f6133 100644
--- a/gl/gldebug.go
+++ b/gl/gldebug.go
@@ -54,11 +54,11 @@
 	case 0x1:
 		return "1"
 	case 0x2:
-		return "LINE_LOOP"
+		return "2"
 	case 0x3:
 		return "LINE_STRIP"
 	case 0x4:
-		return "TRIANGLES"
+		return "4"
 	case 0x5:
 		return "TRIANGLE_STRIP"
 	case 0x6:
@@ -590,7 +590,7 @@
 	case 0x8cdd:
 		return "FRAMEBUFFER_UNSUPPORTED"
 	case 0x8ca6:
-		return "FRAMEBUFFER_BINDING"
+		return "36006"
 	case 0x8ca7:
 		return "RENDERBUFFER_BINDING"
 	case 0x84e8:
@@ -637,6 +637,602 @@
 		return "FRAGMENT_SHADER"
 	case 0x8b31:
 		return "VERTEX_SHADER"
+	case 0x8a35:
+		return "ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"
+	case 0x8a36:
+		return "ACTIVE_UNIFORM_BLOCKS"
+	case 0x911a:
+		return "ALREADY_SIGNALED"
+	case 0x8c2f:
+		return "ANY_SAMPLES_PASSED"
+	case 0x8d6a:
+		return "ANY_SAMPLES_PASSED_CONSERVATIVE"
+	case 0x1905:
+		return "BLUE"
+	case 0x911f:
+		return "BUFFER_ACCESS_FLAGS"
+	case 0x9120:
+		return "BUFFER_MAP_LENGTH"
+	case 0x9121:
+		return "BUFFER_MAP_OFFSET"
+	case 0x88bc:
+		return "BUFFER_MAPPED"
+	case 0x88bd:
+		return "BUFFER_MAP_POINTER"
+	case 0x1800:
+		return "COLOR"
+	case 0x8cea:
+		return "COLOR_ATTACHMENT10"
+	case 0x8ce1:
+		return "COLOR_ATTACHMENT1"
+	case 0x8ceb:
+		return "COLOR_ATTACHMENT11"
+	case 0x8cec:
+		return "COLOR_ATTACHMENT12"
+	case 0x8ced:
+		return "COLOR_ATTACHMENT13"
+	case 0x8cee:
+		return "COLOR_ATTACHMENT14"
+	case 0x8cef:
+		return "COLOR_ATTACHMENT15"
+	case 0x8ce2:
+		return "COLOR_ATTACHMENT2"
+	case 0x8ce3:
+		return "COLOR_ATTACHMENT3"
+	case 0x8ce4:
+		return "COLOR_ATTACHMENT4"
+	case 0x8ce5:
+		return "COLOR_ATTACHMENT5"
+	case 0x8ce6:
+		return "COLOR_ATTACHMENT6"
+	case 0x8ce7:
+		return "COLOR_ATTACHMENT7"
+	case 0x8ce8:
+		return "COLOR_ATTACHMENT8"
+	case 0x8ce9:
+		return "COLOR_ATTACHMENT9"
+	case 0x884e:
+		return "COMPARE_REF_TO_TEXTURE"
+	case 0x9270:
+		return "COMPRESSED_R11_EAC"
+	case 0x9272:
+		return "COMPRESSED_RG11_EAC"
+	case 0x9274:
+		return "COMPRESSED_RGB8_ETC2"
+	case 0x9276:
+		return "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"
+	case 0x9278:
+		return "COMPRESSED_RGBA8_ETC2_EAC"
+	case 0x9271:
+		return "COMPRESSED_SIGNED_R11_EAC"
+	case 0x9273:
+		return "COMPRESSED_SIGNED_RG11_EAC"
+	case 0x9279:
+		return "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"
+	case 0x9275:
+		return "COMPRESSED_SRGB8_ETC2"
+	case 0x9277:
+		return "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"
+	case 0x911c:
+		return "CONDITION_SATISFIED"
+	case 0x8f36:
+		return "36662"
+	case 0x8f37:
+		return "36663"
+	case 0x8865:
+		return "CURRENT_QUERY"
+	case 0x1801:
+		return "DEPTH"
+	case 0x88f0:
+		return "DEPTH24_STENCIL8"
+	case 0x8cad:
+		return "DEPTH32F_STENCIL8"
+	case 0x81a6:
+		return "DEPTH_COMPONENT24"
+	case 0x8cac:
+		return "DEPTH_COMPONENT32F"
+	case 0x84f9:
+		return "DEPTH_STENCIL"
+	case 0x821a:
+		return "DEPTH_STENCIL_ATTACHMENT"
+	case 0x8825:
+		return "DRAW_BUFFER0"
+	case 0x882f:
+		return "DRAW_BUFFER10"
+	case 0x8826:
+		return "DRAW_BUFFER1"
+	case 0x8830:
+		return "DRAW_BUFFER11"
+	case 0x8831:
+		return "DRAW_BUFFER12"
+	case 0x8832:
+		return "DRAW_BUFFER13"
+	case 0x8833:
+		return "DRAW_BUFFER14"
+	case 0x8834:
+		return "DRAW_BUFFER15"
+	case 0x8827:
+		return "DRAW_BUFFER2"
+	case 0x8828:
+		return "DRAW_BUFFER3"
+	case 0x8829:
+		return "DRAW_BUFFER4"
+	case 0x882a:
+		return "DRAW_BUFFER5"
+	case 0x882b:
+		return "DRAW_BUFFER6"
+	case 0x882c:
+		return "DRAW_BUFFER7"
+	case 0x882d:
+		return "DRAW_BUFFER8"
+	case 0x882e:
+		return "DRAW_BUFFER9"
+	case 0x8ca9:
+		return "DRAW_FRAMEBUFFER"
+	case 0x88ea:
+		return "DYNAMIC_COPY"
+	case 0x88e9:
+		return "DYNAMIC_READ"
+	case 0x8dad:
+		return "FLOAT_32_UNSIGNED_INT_24_8_REV"
+	case 0x8b65:
+		return "FLOAT_MAT2x3"
+	case 0x8b66:
+		return "FLOAT_MAT2x4"
+	case 0x8b67:
+		return "FLOAT_MAT3x2"
+	case 0x8b68:
+		return "FLOAT_MAT3x4"
+	case 0x8b69:
+		return "FLOAT_MAT4x2"
+	case 0x8b6a:
+		return "FLOAT_MAT4x3"
+	case 0x8b8b:
+		return "FRAGMENT_SHADER_DERIVATIVE_HINT"
+	case 0x8215:
+		return "FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"
+	case 0x8214:
+		return "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"
+	case 0x8210:
+		return "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"
+	case 0x8211:
+		return "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"
+	case 0x8216:
+		return "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"
+	case 0x8213:
+		return "FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"
+	case 0x8212:
+		return "FRAMEBUFFER_ATTACHMENT_RED_SIZE"
+	case 0x8217:
+		return "FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"
+	case 0x8cd4:
+		return "FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"
+	case 0x8218:
+		return "FRAMEBUFFER_DEFAULT"
+	case 0x8d56:
+		return "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"
+	case 0x8219:
+		return "FRAMEBUFFER_UNDEFINED"
+	case 0x1904:
+		return "GREEN"
+	case 0x140b:
+		return "HALF_FLOAT"
+	case 0x8d9f:
+		return "INT_2_10_10_10_REV"
+	case 0x8c8c:
+		return "INTERLEAVED_ATTRIBS"
+	case 0x8dca:
+		return "INT_SAMPLER_2D"
+	case 0x8dcf:
+		return "INT_SAMPLER_2D_ARRAY"
+	case 0x8dcb:
+		return "INT_SAMPLER_3D"
+	case 0x8dcc:
+		return "INT_SAMPLER_CUBE"
+	case 0xffffffff:
+		return "INVALID_INDEX"
+	case 0x821b:
+		return "MAJOR_VERSION"
+	case 0x10:
+		return "MAP_FLUSH_EXPLICIT_BIT"
+	case 0x8:
+		return "MAP_INVALIDATE_BUFFER_BIT"
+	case 0x20:
+		return "MAP_UNSYNCHRONIZED_BIT"
+	case 0x8008:
+		return "MAX"
+	case 0x8073:
+		return "MAX_3D_TEXTURE_SIZE"
+	case 0x88ff:
+		return "MAX_ARRAY_TEXTURE_LAYERS"
+	case 0x8cdf:
+		return "MAX_COLOR_ATTACHMENTS"
+	case 0x8a33:
+		return "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"
+	case 0x8a2e:
+		return "MAX_COMBINED_UNIFORM_BLOCKS"
+	case 0x8a31:
+		return "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"
+	case 0x8824:
+		return "MAX_DRAW_BUFFERS"
+	case 0x8d6b:
+		return "MAX_ELEMENT_INDEX"
+	case 0x80e9:
+		return "MAX_ELEMENTS_INDICES"
+	case 0x80e8:
+		return "MAX_ELEMENTS_VERTICES"
+	case 0x9125:
+		return "MAX_FRAGMENT_INPUT_COMPONENTS"
+	case 0x8a2d:
+		return "MAX_FRAGMENT_UNIFORM_BLOCKS"
+	case 0x8b49:
+		return "MAX_FRAGMENT_UNIFORM_COMPONENTS"
+	case 0x8905:
+		return "MAX_PROGRAM_TEXEL_OFFSET"
+	case 0x8d57:
+		return "MAX_SAMPLES"
+	case 0x9111:
+		return "MAX_SERVER_WAIT_TIMEOUT"
+	case 0x84fd:
+		return "MAX_TEXTURE_LOD_BIAS"
+	case 0x8c8a:
+		return "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"
+	case 0x8c8b:
+		return "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"
+	case 0x8c80:
+		return "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"
+	case 0x8a30:
+		return "MAX_UNIFORM_BLOCK_SIZE"
+	case 0x8a2f:
+		return "MAX_UNIFORM_BUFFER_BINDINGS"
+	case 0x8b4b:
+		return "MAX_VARYING_COMPONENTS"
+	case 0x9122:
+		return "MAX_VERTEX_OUTPUT_COMPONENTS"
+	case 0x8a2b:
+		return "MAX_VERTEX_UNIFORM_BLOCKS"
+	case 0x8b4a:
+		return "MAX_VERTEX_UNIFORM_COMPONENTS"
+	case 0x8007:
+		return "MIN"
+	case 0x821c:
+		return "MINOR_VERSION"
+	case 0x8904:
+		return "MIN_PROGRAM_TEXEL_OFFSET"
+	case 0x821d:
+		return "NUM_EXTENSIONS"
+	case 0x87fe:
+		return "NUM_PROGRAM_BINARY_FORMATS"
+	case 0x9380:
+		return "NUM_SAMPLE_COUNTS"
+	case 0x9112:
+		return "OBJECT_TYPE"
+	case 0xd02:
+		return "PACK_ROW_LENGTH"
+	case 0xd04:
+		return "PACK_SKIP_PIXELS"
+	case 0xd03:
+		return "PACK_SKIP_ROWS"
+	case 0x88eb:
+		return "PIXEL_PACK_BUFFER"
+	case 0x88ed:
+		return "PIXEL_PACK_BUFFER_BINDING"
+	case 0x88ec:
+		return "PIXEL_UNPACK_BUFFER"
+	case 0x88ef:
+		return "PIXEL_UNPACK_BUFFER_BINDING"
+	case 0x8d69:
+		return "PRIMITIVE_RESTART_FIXED_INDEX"
+	case 0x87ff:
+		return "PROGRAM_BINARY_FORMATS"
+	case 0x8741:
+		return "PROGRAM_BINARY_LENGTH"
+	case 0x8257:
+		return "PROGRAM_BINARY_RETRIEVABLE_HINT"
+	case 0x8866:
+		return "QUERY_RESULT"
+	case 0x8867:
+		return "QUERY_RESULT_AVAILABLE"
+	case 0x8c3a:
+		return "R11F_G11F_B10F"
+	case 0x822d:
+		return "R16F"
+	case 0x8233:
+		return "R16I"
+	case 0x8234:
+		return "R16UI"
+	case 0x822e:
+		return "R32F"
+	case 0x8235:
+		return "R32I"
+	case 0x8236:
+		return "R32UI"
+	case 0x8229:
+		return "R8"
+	case 0x8231:
+		return "R8I"
+	case 0x8f94:
+		return "R8_SNORM"
+	case 0x8232:
+		return "R8UI"
+	case 0x8c89:
+		return "RASTERIZER_DISCARD"
+	case 0xc02:
+		return "READ_BUFFER"
+	case 0x8ca8:
+		return "READ_FRAMEBUFFER"
+	case 0x8caa:
+		return "READ_FRAMEBUFFER_BINDING"
+	case 0x1903:
+		return "RED"
+	case 0x8d94:
+		return "RED_INTEGER"
+	case 0x8cab:
+		return "RENDERBUFFER_SAMPLES"
+	case 0x8227:
+		return "RG"
+	case 0x822f:
+		return "RG16F"
+	case 0x8239:
+		return "RG16I"
+	case 0x823a:
+		return "RG16UI"
+	case 0x8230:
+		return "RG32F"
+	case 0x823b:
+		return "RG32I"
+	case 0x823c:
+		return "RG32UI"
+	case 0x822b:
+		return "RG8"
+	case 0x8237:
+		return "RG8I"
+	case 0x8f95:
+		return "RG8_SNORM"
+	case 0x8238:
+		return "RG8UI"
+	case 0x8059:
+		return "RGB10_A2"
+	case 0x906f:
+		return "RGB10_A2UI"
+	case 0x881b:
+		return "RGB16F"
+	case 0x8d89:
+		return "RGB16I"
+	case 0x8d77:
+		return "RGB16UI"
+	case 0x8815:
+		return "RGB32F"
+	case 0x8d83:
+		return "RGB32I"
+	case 0x8d71:
+		return "RGB32UI"
+	case 0x8051:
+		return "RGB8"
+	case 0x8d8f:
+		return "RGB8I"
+	case 0x8f96:
+		return "RGB8_SNORM"
+	case 0x8d7d:
+		return "RGB8UI"
+	case 0x8c3d:
+		return "RGB9_E5"
+	case 0x881a:
+		return "RGBA16F"
+	case 0x8d88:
+		return "RGBA16I"
+	case 0x8d76:
+		return "RGBA16UI"
+	case 0x8814:
+		return "RGBA32F"
+	case 0x8d82:
+		return "RGBA32I"
+	case 0x8d70:
+		return "RGBA32UI"
+	case 0x8058:
+		return "RGBA8"
+	case 0x8d8e:
+		return "RGBA8I"
+	case 0x8f97:
+		return "RGBA8_SNORM"
+	case 0x8d7c:
+		return "RGBA8UI"
+	case 0x8d99:
+		return "RGBA_INTEGER"
+	case 0x8d98:
+		return "RGB_INTEGER"
+	case 0x8228:
+		return "RG_INTEGER"
+	case 0x8dc1:
+		return "SAMPLER_2D_ARRAY"
+	case 0x8dc4:
+		return "SAMPLER_2D_ARRAY_SHADOW"
+	case 0x8b62:
+		return "SAMPLER_2D_SHADOW"
+	case 0x8b5f:
+		return "SAMPLER_3D"
+	case 0x8919:
+		return "SAMPLER_BINDING"
+	case 0x8dc5:
+		return "SAMPLER_CUBE_SHADOW"
+	case 0x8c8d:
+		return "SEPARATE_ATTRIBS"
+	case 0x9119:
+		return "SIGNALED"
+	case 0x8f9c:
+		return "SIGNED_NORMALIZED"
+	case 0x8c40:
+		return "SRGB"
+	case 0x8c41:
+		return "SRGB8"
+	case 0x8c43:
+		return "SRGB8_ALPHA8"
+	case 0x88e6:
+		return "STATIC_COPY"
+	case 0x88e5:
+		return "STATIC_READ"
+	case 0x1802:
+		return "STENCIL"
+	case 0x88e2:
+		return "STREAM_COPY"
+	case 0x88e1:
+		return "STREAM_READ"
+	case 0x9113:
+		return "SYNC_CONDITION"
+	case 0x9116:
+		return "SYNC_FENCE"
+	case 0x9115:
+		return "SYNC_FLAGS"
+	case 0x9117:
+		return "SYNC_GPU_COMMANDS_COMPLETE"
+	case 0x9114:
+		return "SYNC_STATUS"
+	case 0x8c1a:
+		return "TEXTURE_2D_ARRAY"
+	case 0x806f:
+		return "TEXTURE_3D"
+	case 0x813c:
+		return "TEXTURE_BASE_LEVEL"
+	case 0x8c1d:
+		return "TEXTURE_BINDING_2D_ARRAY"
+	case 0x806a:
+		return "TEXTURE_BINDING_3D"
+	case 0x884d:
+		return "TEXTURE_COMPARE_FUNC"
+	case 0x884c:
+		return "TEXTURE_COMPARE_MODE"
+	case 0x912f:
+		return "TEXTURE_IMMUTABLE_FORMAT"
+	case 0x82df:
+		return "TEXTURE_IMMUTABLE_LEVELS"
+	case 0x813d:
+		return "TEXTURE_MAX_LEVEL"
+	case 0x813b:
+		return "TEXTURE_MAX_LOD"
+	case 0x813a:
+		return "TEXTURE_MIN_LOD"
+	case 0x8e45:
+		return "TEXTURE_SWIZZLE_A"
+	case 0x8e44:
+		return "TEXTURE_SWIZZLE_B"
+	case 0x8e43:
+		return "TEXTURE_SWIZZLE_G"
+	case 0x8e42:
+		return "TEXTURE_SWIZZLE_R"
+	case 0x8072:
+		return "TEXTURE_WRAP_R"
+	case 0x911b:
+		return "TIMEOUT_EXPIRED"
+	case 0xffffffffffffffff:
+		return "TIMEOUT_IGNORED"
+	case 0x8e22:
+		return "TRANSFORM_FEEDBACK"
+	case 0x8e24:
+		return "TRANSFORM_FEEDBACK_ACTIVE"
+	case 0x8e25:
+		return "TRANSFORM_FEEDBACK_BINDING"
+	case 0x8c8e:
+		return "TRANSFORM_FEEDBACK_BUFFER"
+	case 0x8c8f:
+		return "TRANSFORM_FEEDBACK_BUFFER_BINDING"
+	case 0x8c7f:
+		return "TRANSFORM_FEEDBACK_BUFFER_MODE"
+	case 0x8c85:
+		return "TRANSFORM_FEEDBACK_BUFFER_SIZE"
+	case 0x8c84:
+		return "TRANSFORM_FEEDBACK_BUFFER_START"
+	case 0x8e23:
+		return "TRANSFORM_FEEDBACK_PAUSED"
+	case 0x8c88:
+		return "TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"
+	case 0x8c76:
+		return "TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"
+	case 0x8c83:
+		return "TRANSFORM_FEEDBACK_VARYINGS"
+	case 0x8a3c:
+		return "UNIFORM_ARRAY_STRIDE"
+	case 0x8a43:
+		return "UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"
+	case 0x8a42:
+		return "UNIFORM_BLOCK_ACTIVE_UNIFORMS"
+	case 0x8a3f:
+		return "UNIFORM_BLOCK_BINDING"
+	case 0x8a40:
+		return "UNIFORM_BLOCK_DATA_SIZE"
+	case 0x8a3a:
+		return "UNIFORM_BLOCK_INDEX"
+	case 0x8a41:
+		return "UNIFORM_BLOCK_NAME_LENGTH"
+	case 0x8a46:
+		return "UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"
+	case 0x8a44:
+		return "UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"
+	case 0x8a11:
+		return "UNIFORM_BUFFER"
+	case 0x8a28:
+		return "UNIFORM_BUFFER_BINDING"
+	case 0x8a34:
+		return "UNIFORM_BUFFER_OFFSET_ALIGNMENT"
+	case 0x8a2a:
+		return "UNIFORM_BUFFER_SIZE"
+	case 0x8a29:
+		return "UNIFORM_BUFFER_START"
+	case 0x8a3e:
+		return "UNIFORM_IS_ROW_MAJOR"
+	case 0x8a3d:
+		return "UNIFORM_MATRIX_STRIDE"
+	case 0x8a39:
+		return "UNIFORM_NAME_LENGTH"
+	case 0x8a3b:
+		return "UNIFORM_OFFSET"
+	case 0x8a38:
+		return "UNIFORM_SIZE"
+	case 0x8a37:
+		return "UNIFORM_TYPE"
+	case 0x806e:
+		return "UNPACK_IMAGE_HEIGHT"
+	case 0xcf2:
+		return "UNPACK_ROW_LENGTH"
+	case 0x806d:
+		return "UNPACK_SKIP_IMAGES"
+	case 0xcf4:
+		return "UNPACK_SKIP_PIXELS"
+	case 0xcf3:
+		return "UNPACK_SKIP_ROWS"
+	case 0x9118:
+		return "UNSIGNALED"
+	case 0x8c3b:
+		return "UNSIGNED_INT_10F_11F_11F_REV"
+	case 0x8368:
+		return "UNSIGNED_INT_2_10_10_10_REV"
+	case 0x84fa:
+		return "UNSIGNED_INT_24_8"
+	case 0x8c3e:
+		return "UNSIGNED_INT_5_9_9_9_REV"
+	case 0x8dd2:
+		return "UNSIGNED_INT_SAMPLER_2D"
+	case 0x8dd7:
+		return "UNSIGNED_INT_SAMPLER_2D_ARRAY"
+	case 0x8dd3:
+		return "UNSIGNED_INT_SAMPLER_3D"
+	case 0x8dd4:
+		return "UNSIGNED_INT_SAMPLER_CUBE"
+	case 0x8dc6:
+		return "UNSIGNED_INT_VEC2"
+	case 0x8dc7:
+		return "UNSIGNED_INT_VEC3"
+	case 0x8dc8:
+		return "UNSIGNED_INT_VEC4"
+	case 0x8c17:
+		return "UNSIGNED_NORMALIZED"
+	case 0x85b5:
+		return "VERTEX_ARRAY_BINDING"
+	case 0x88fe:
+		return "VERTEX_ATTRIB_ARRAY_DIVISOR"
+	case 0x88fd:
+		return "VERTEX_ATTRIB_ARRAY_INTEGER"
+	case 0x911d:
+		return "WAIT_FAILED"
 	default:
 		return fmt.Sprintf("gl.Enum(0x%x)", uint32(v))
 	}