gles2_cmd_validation_implementation_autogen.h revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
14ad1aa43a48567659193a298fad74f55e00b3dd9Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is auto-generated from
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// gpu/command_buffer/build_gles2_cmd_buffer.py
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// It's formatted by clang-format using chromium coding style:
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)//    clang-format -i -style=chromium filename
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// DO NOT EDIT!
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_attachment_table[] = {
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COLOR_ATTACHMENT0, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT, };
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_backbuffer_attachment_table[] = {
18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COLOR_EXT, GL_DEPTH_EXT, GL_STENCIL_EXT, };
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_blit_filter_table[] = {GL_NEAREST, GL_LINEAR, };
21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_buffer_parameter_table[] = {GL_BUFFER_SIZE,
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                      GL_BUFFER_USAGE, };
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_buffer_target_table[] = {GL_ARRAY_BUFFER,
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                   GL_ELEMENT_ARRAY_BUFFER, };
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_buffer_usage_table[] = {
29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STREAM_DRAW, GL_STATIC_DRAW, GL_DYNAMIC_DRAW, };
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_capability_table[] = {
32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND,           GL_CULL_FACE,           GL_DEPTH_TEST,
33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DITHER,          GL_POLYGON_OFFSET_FILL, GL_SAMPLE_ALPHA_TO_COVERAGE,
34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE, GL_SCISSOR_TEST,        GL_STENCIL_TEST, };
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_cmp_function_table[] = {
37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEVER,   GL_LESS,     GL_EQUAL,  GL_LEQUAL,
38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, GL_ALWAYS, };
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_draw_mode_table[] = {
41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_POINTS,         GL_LINE_STRIP,   GL_LINE_LOOP, GL_LINES,
42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, };
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_dst_blend_factor_table[] = {
45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ZERO,           GL_ONE,
46a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_COLOR,      GL_ONE_MINUS_SRC_COLOR,
47a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_COLOR,      GL_ONE_MINUS_DST_COLOR,
48a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_ALPHA,      GL_ONE_MINUS_SRC_ALPHA,
49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_ALPHA,      GL_ONE_MINUS_DST_ALPHA,
50a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR,
51a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, };
52a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
53a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_equation_table[] = {GL_FUNC_ADD, GL_FUNC_SUBTRACT,
54a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GL_FUNC_REVERSE_SUBTRACT, };
55a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
56a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_face_mode_table[] = {GL_CW, GL_CCW, };
57a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
58a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_face_type_table[] = {GL_FRONT, GL_BACK,
59a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                               GL_FRONT_AND_BACK, };
60a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
61a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLboolean valid_false_only_table[] = {false, };
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_frame_buffer_parameter_table[] = {
64a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
65a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
66a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
67a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, };
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
69a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_frame_buffer_target_table[] = {GL_FRAMEBUFFER, };
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_g_l_state_table[] = {
72a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ACTIVE_TEXTURE,
73a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALIASED_LINE_WIDTH_RANGE,
74a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALIASED_POINT_SIZE_RANGE,
75a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALPHA_BITS,
76a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ARRAY_BUFFER_BINDING,
77a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLUE_BITS,
78a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COMPRESSED_TEXTURE_FORMATS,
79a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CURRENT_PROGRAM,
80a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_BITS,
81a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_RANGE,
82a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ELEMENT_ARRAY_BUFFER_BINDING,
83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRAMEBUFFER_BINDING,
84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GENERATE_MIPMAP_HINT,
85a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GREEN_BITS,
86a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_IMPLEMENTATION_COLOR_READ_FORMAT,
87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_IMPLEMENTATION_COLOR_READ_TYPE,
88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
89a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_CUBE_MAP_TEXTURE_SIZE,
90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_FRAGMENT_UNIFORM_VECTORS,
91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_RENDERBUFFER_SIZE,
92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_TEXTURE_IMAGE_UNITS,
93a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_TEXTURE_SIZE,
94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_VARYING_VECTORS,
95a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_VERTEX_ATTRIBS,
96a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
97a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_VERTEX_UNIFORM_VECTORS,
98a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_MAX_VIEWPORT_DIMS,
99a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NUM_COMPRESSED_TEXTURE_FORMATS,
100a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NUM_SHADER_BINARY_FORMATS,
101a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_PACK_ALIGNMENT,
102a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RED_BITS,
103a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_BINDING,
104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_BUFFERS,
105a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE_INVERT,
106a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE_VALUE,
107a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLES,
108a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SCISSOR_BOX,
109a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_BINARY_FORMATS,
110a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_COMPILER,
111a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SUBPIXEL_BITS,
112a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BITS,
113a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_BINDING_2D,
114a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_BINDING_CUBE_MAP,
115a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_ALIGNMENT,
116a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_FLIP_Y_CHROMIUM,
117a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
118a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
119c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    GL_BIND_GENERATES_RESOURCE_CHROMIUM,
120a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ARRAY_BINDING_OES,
121a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VIEWPORT,
122a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_COLOR,
123a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_EQUATION_RGB,
124a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_EQUATION_ALPHA,
125a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_SRC_RGB,
126a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_DST_RGB,
127a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_SRC_ALPHA,
128a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND_DST_ALPHA,
129a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COLOR_CLEAR_VALUE,
130a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_CLEAR_VALUE,
131a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_CLEAR_VALUE,
132a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COLOR_WRITEMASK,
133a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CULL_FACE_MODE,
134a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_FUNC,
135a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_WRITEMASK,
136a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_RANGE,
137a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_FRONT_FACE,
138a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GENERATE_MIPMAP_HINT,
139a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LINE_WIDTH,
140a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_PACK_ALIGNMENT,
141a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_ALIGNMENT,
142a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_POLYGON_OFFSET_FACTOR,
143a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_POLYGON_OFFSET_UNITS,
144a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE_VALUE,
145a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE_INVERT,
146a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SCISSOR_BOX,
147a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_FUNC,
148a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_REF,
149a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_VALUE_MASK,
150a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_FUNC,
151a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_REF,
152a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_VALUE_MASK,
153a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_WRITEMASK,
154a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_WRITEMASK,
155a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_FAIL,
156a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_PASS_DEPTH_FAIL,
157a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_PASS_DEPTH_PASS,
158a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_FAIL,
159a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_PASS_DEPTH_FAIL,
160a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_BACK_PASS_DEPTH_PASS,
161a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VIEWPORT,
162a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BLEND,
163a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CULL_FACE,
164a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DEPTH_TEST,
165a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DITHER,
166a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_POLYGON_OFFSET_FILL,
167a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_ALPHA_TO_COVERAGE,
168a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SAMPLE_COVERAGE,
169a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SCISSOR_TEST,
170a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_STENCIL_TEST, };
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1727dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_get_max_index_type_table[] = {
173a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, };
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_get_tex_param_target_table[] = {
176a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, };
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
178a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_hint_mode_table[] = {GL_FASTEST, GL_NICEST,
179a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                               GL_DONT_CARE, };
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
181a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_hint_target_table[] = {GL_GENERATE_MIPMAP_HINT, };
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
183a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_index_type_table[] = {GL_UNSIGNED_BYTE,
184a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                GL_UNSIGNED_SHORT, };
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_pixel_store_table[] = {
187a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_PACK_ALIGNMENT,
188a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_ALIGNMENT,
189a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_FLIP_Y_CHROMIUM,
190a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
191a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM, };
192a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
193a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_pixel_store_alignment_table[] = {1, 2, 4, 8, };
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_pixel_type_table[] = {
196a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_4_4_4_4,
197a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_SHORT_5_5_5_1, };
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_program_parameter_table[] = {
200a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DELETE_STATUS,               GL_LINK_STATUS,
201a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VALIDATE_STATUS,             GL_INFO_LOG_LENGTH,
202a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ATTACHED_SHADERS,            GL_ACTIVE_ATTRIBUTES,
203a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS,
204a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ACTIVE_UNIFORM_MAX_LENGTH, };
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_query_object_parameter_table[] = {
207a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_QUERY_RESULT_EXT, GL_QUERY_RESULT_AVAILABLE_EXT, };
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
209a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_query_parameter_table[] = {GL_CURRENT_QUERY_EXT, };
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_query_target_table[] = {
212a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ANY_SAMPLES_PASSED_EXT,
213a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT,
214a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COMMANDS_ISSUED_CHROMIUM,
215a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LATENCY_QUERY_CHROMIUM,
216a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM,
217a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, };
218a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
219a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_read_pixel_format_table[] = {GL_ALPHA, GL_RGB,
220a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                       GL_RGBA, };
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_read_pixel_type_table[] = {
223a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_4_4_4_4,
224a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_SHORT_5_5_5_1, };
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_render_buffer_format_table[] = {
227a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RGBA4, GL_RGB565, GL_RGB5_A1, GL_DEPTH_COMPONENT16, GL_STENCIL_INDEX8, };
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_render_buffer_parameter_table[] = {
230a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_RED_SIZE,        GL_RENDERBUFFER_GREEN_SIZE,
231a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_BLUE_SIZE,       GL_RENDERBUFFER_ALPHA_SIZE,
232a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_DEPTH_SIZE,      GL_RENDERBUFFER_STENCIL_SIZE,
233a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_WIDTH,           GL_RENDERBUFFER_HEIGHT,
234a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_INTERNAL_FORMAT, };
235a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
236a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_render_buffer_target_table[] = {GL_RENDERBUFFER, };
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_reset_status_table[] = {
239a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB,
240a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNKNOWN_CONTEXT_RESET_ARB, };
2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_shader_parameter_table[] = {
243a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_TYPE,          GL_DELETE_STATUS,
244a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COMPILE_STATUS,       GL_INFO_LOG_LENGTH,
245a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_SOURCE_LENGTH, GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, };
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_shader_precision_table[] = {
248a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LOW_FLOAT, GL_MEDIUM_FLOAT, GL_HIGH_FLOAT,
249a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LOW_INT,   GL_MEDIUM_INT,   GL_HIGH_INT, };
250a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
251a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_shader_type_table[] = {GL_VERTEX_SHADER,
252a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                 GL_FRAGMENT_SHADER, };
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_src_blend_factor_table[] = {
255a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ZERO,               GL_ONE,
256a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_COLOR,          GL_ONE_MINUS_SRC_COLOR,
257a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_COLOR,          GL_ONE_MINUS_DST_COLOR,
258a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_ALPHA,          GL_ONE_MINUS_SRC_ALPHA,
259a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_ALPHA,          GL_ONE_MINUS_DST_ALPHA,
260a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_COLOR,     GL_ONE_MINUS_CONSTANT_COLOR,
261a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_ALPHA,     GL_ONE_MINUS_CONSTANT_ALPHA,
262a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_ALPHA_SATURATE, };
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_stencil_op_table[] = {
265a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_KEEP,      GL_ZERO, GL_REPLACE,   GL_INCR,
266a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, GL_INVERT, };
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_string_type_table[] = {
269a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VENDOR,                   GL_RENDERER,   GL_VERSION,
270a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADING_LANGUAGE_VERSION, GL_EXTENSIONS, };
271a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
272a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_texture_bind_target_table[] = {GL_TEXTURE_2D,
273a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                         GL_TEXTURE_CUBE_MAP, };
274a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
275a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_texture_border_table[] = {0, };
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2777dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_format_table[] = {
278a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA, };
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2807dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_internal_format_table[] = {
281a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA, };
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2837dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_internal_format_storage_table[] = {
284a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RGB565,         GL_RGBA4,                 GL_RGB5_A1,  GL_ALPHA8_EXT,
285a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LUMINANCE8_EXT, GL_LUMINANCE8_ALPHA8_EXT, GL_RGB8_OES, GL_RGBA8_OES, };
286a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
287a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_texture_mag_filter_mode_table[] = {GL_NEAREST,
288a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                             GL_LINEAR, };
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_min_filter_mode_table[] = {
291a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST,                GL_LINEAR,
292a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST,
293a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST_MIPMAP_LINEAR,  GL_LINEAR_MIPMAP_LINEAR, };
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_parameter_table[] = {
296a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_POOL_CHROMIUM,
297a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_WRAP_S,     GL_TEXTURE_WRAP_T, };
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_pool_table[] = {
300a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_POOL_MANAGED_CHROMIUM, GL_TEXTURE_POOL_UNMANAGED_CHROMIUM, };
3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_target_table[] = {
303a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_2D,                  GL_TEXTURE_CUBE_MAP_POSITIVE_X,
304a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
305a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
306a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, };
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_usage_table[] = {
309a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NONE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE, };
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_wrap_mode_table[] = {
312a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, GL_REPEAT, };
313a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
314a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_vertex_attrib_size_table[] = {1, 2, 3, 4, };
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_attrib_type_table[] = {
317a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_FLOAT, };
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_attribute_table[] = {
320a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
321a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_ENABLED,    GL_VERTEX_ATTRIB_ARRAY_SIZE,
322a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_STRIDE,     GL_VERTEX_ATTRIB_ARRAY_TYPE,
323a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CURRENT_VERTEX_ATTRIB, };
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_pointer_table[] = {
326a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_POINTER, };
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
328a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_zero_only_table[] = {0, };
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Validators::Validators()
331a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    : attachment(valid_attachment_table, arraysize(valid_attachment_table)),
332a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      backbuffer_attachment(valid_backbuffer_attachment_table,
333a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            arraysize(valid_backbuffer_attachment_table)),
334a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      blit_filter(valid_blit_filter_table, arraysize(valid_blit_filter_table)),
335a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_parameter(valid_buffer_parameter_table,
336a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_buffer_parameter_table)),
337a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_target(valid_buffer_target_table,
338a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    arraysize(valid_buffer_target_table)),
339a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_usage(valid_buffer_usage_table,
340a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_buffer_usage_table)),
341a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      capability(valid_capability_table, arraysize(valid_capability_table)),
342a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      cmp_function(valid_cmp_function_table,
343a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_cmp_function_table)),
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      compressed_texture_format(),
345a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      draw_mode(valid_draw_mode_table, arraysize(valid_draw_mode_table)),
346a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      dst_blend_factor(valid_dst_blend_factor_table,
347a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_dst_blend_factor_table)),
348a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      equation(valid_equation_table, arraysize(valid_equation_table)),
349a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      face_mode(valid_face_mode_table, arraysize(valid_face_mode_table)),
350a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      face_type(valid_face_type_table, arraysize(valid_face_type_table)),
351a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      false_only(valid_false_only_table, arraysize(valid_false_only_table)),
352a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      frame_buffer_parameter(valid_frame_buffer_parameter_table,
353a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             arraysize(valid_frame_buffer_parameter_table)),
354a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      frame_buffer_target(valid_frame_buffer_target_table,
355a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          arraysize(valid_frame_buffer_target_table)),
356a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      g_l_state(valid_g_l_state_table, arraysize(valid_g_l_state_table)),
357a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      get_max_index_type(valid_get_max_index_type_table,
358a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_get_max_index_type_table)),
359a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      get_tex_param_target(valid_get_tex_param_target_table,
360a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_get_tex_param_target_table)),
361a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      hint_mode(valid_hint_mode_table, arraysize(valid_hint_mode_table)),
362a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      hint_target(valid_hint_target_table, arraysize(valid_hint_target_table)),
363a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      index_type(valid_index_type_table, arraysize(valid_index_type_table)),
364a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_store(valid_pixel_store_table, arraysize(valid_pixel_store_table)),
365a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_store_alignment(valid_pixel_store_alignment_table,
366a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            arraysize(valid_pixel_store_alignment_table)),
367a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_type(valid_pixel_type_table, arraysize(valid_pixel_type_table)),
368a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      program_parameter(valid_program_parameter_table,
369a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_program_parameter_table)),
370a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_object_parameter(valid_query_object_parameter_table,
371a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             arraysize(valid_query_object_parameter_table)),
372a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_parameter(valid_query_parameter_table,
373a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      arraysize(valid_query_parameter_table)),
374a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_target(valid_query_target_table,
375a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_query_target_table)),
376a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      read_pixel_format(valid_read_pixel_format_table,
377a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_read_pixel_format_table)),
378a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      read_pixel_type(valid_read_pixel_type_table,
379a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      arraysize(valid_read_pixel_type_table)),
380a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_format(valid_render_buffer_format_table,
381a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_render_buffer_format_table)),
382a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_parameter(valid_render_buffer_parameter_table,
383a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_render_buffer_parameter_table)),
384a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_target(valid_render_buffer_target_table,
385a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_render_buffer_target_table)),
386a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      reset_status(valid_reset_status_table,
387a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_reset_status_table)),
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shader_binary_format(),
389a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_parameter(valid_shader_parameter_table,
390a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_shader_parameter_table)),
391a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_precision(valid_shader_precision_table,
392a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_shader_precision_table)),
393a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_type(valid_shader_type_table, arraysize(valid_shader_type_table)),
394a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      src_blend_factor(valid_src_blend_factor_table,
395a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_src_blend_factor_table)),
396a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      stencil_op(valid_stencil_op_table, arraysize(valid_stencil_op_table)),
397a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      string_type(valid_string_type_table, arraysize(valid_string_type_table)),
398a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_bind_target(valid_texture_bind_target_table,
399a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          arraysize(valid_texture_bind_target_table)),
400a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_border(valid_texture_border_table,
401a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_border_table)),
402a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_format(valid_texture_format_table,
403a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_format_table)),
404a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_internal_format(valid_texture_internal_format_table,
405a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_internal_format_table)),
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      texture_internal_format_storage(
407a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          valid_texture_internal_format_storage_table,
408a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          arraysize(valid_texture_internal_format_storage_table)),
409a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_mag_filter_mode(valid_texture_mag_filter_mode_table,
410a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_mag_filter_mode_table)),
411a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_min_filter_mode(valid_texture_min_filter_mode_table,
412a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_min_filter_mode_table)),
413a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_parameter(valid_texture_parameter_table,
414a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_texture_parameter_table)),
415a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_pool(valid_texture_pool_table,
416a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_texture_pool_table)),
417a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_target(valid_texture_target_table,
418a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_target_table)),
419a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_usage(valid_texture_usage_table,
420a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    arraysize(valid_texture_usage_table)),
421a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_wrap_mode(valid_texture_wrap_mode_table,
422a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_texture_wrap_mode_table)),
423a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attrib_size(valid_vertex_attrib_size_table,
424a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_vertex_attrib_size_table)),
425a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attrib_type(valid_vertex_attrib_type_table,
426a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_vertex_attrib_type_table)),
427a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attribute(valid_vertex_attribute_table,
428a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_vertex_attribute_table)),
429a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_pointer(valid_vertex_pointer_table,
430a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_vertex_pointer_table)),
431a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      zero_only(valid_zero_only_table, arraysize(valid_zero_only_table)) {}
432a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
433a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif  // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
434