gles2_cmd_validation_implementation_autogen.h revision 0529e5d033099cbfc42635f6f6183833b09dff6e
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,
2170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM,
2180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    GL_COMMANDS_COMPLETED_CHROMIUM, };
219a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
220a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_read_pixel_format_table[] = {GL_ALPHA, GL_RGB,
221a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                       GL_RGBA, };
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_read_pixel_type_table[] = {
224a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_4_4_4_4,
225a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNSIGNED_SHORT_5_5_5_1, };
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_render_buffer_format_table[] = {
228a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RGBA4, GL_RGB565, GL_RGB5_A1, GL_DEPTH_COMPONENT16, GL_STENCIL_INDEX8, };
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_render_buffer_parameter_table[] = {
231a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_RED_SIZE,        GL_RENDERBUFFER_GREEN_SIZE,
232a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_BLUE_SIZE,       GL_RENDERBUFFER_ALPHA_SIZE,
233a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_DEPTH_SIZE,      GL_RENDERBUFFER_STENCIL_SIZE,
234a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_WIDTH,           GL_RENDERBUFFER_HEIGHT,
235a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RENDERBUFFER_INTERNAL_FORMAT, };
236a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
237a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_render_buffer_target_table[] = {GL_RENDERBUFFER, };
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_reset_status_table[] = {
240a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB,
241a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_UNKNOWN_CONTEXT_RESET_ARB, };
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_shader_parameter_table[] = {
244a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_TYPE,          GL_DELETE_STATUS,
245a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_COMPILE_STATUS,       GL_INFO_LOG_LENGTH,
246a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADER_SOURCE_LENGTH, GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, };
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_shader_precision_table[] = {
249a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LOW_FLOAT, GL_MEDIUM_FLOAT, GL_HIGH_FLOAT,
250a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LOW_INT,   GL_MEDIUM_INT,   GL_HIGH_INT, };
251a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
252a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_shader_type_table[] = {GL_VERTEX_SHADER,
253a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                 GL_FRAGMENT_SHADER, };
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_src_blend_factor_table[] = {
256a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ZERO,               GL_ONE,
257a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_COLOR,          GL_ONE_MINUS_SRC_COLOR,
258a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_COLOR,          GL_ONE_MINUS_DST_COLOR,
259a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_ALPHA,          GL_ONE_MINUS_SRC_ALPHA,
260a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_DST_ALPHA,          GL_ONE_MINUS_DST_ALPHA,
261a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_COLOR,     GL_ONE_MINUS_CONSTANT_COLOR,
262a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CONSTANT_ALPHA,     GL_ONE_MINUS_CONSTANT_ALPHA,
263a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SRC_ALPHA_SATURATE, };
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_stencil_op_table[] = {
266a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_KEEP,      GL_ZERO, GL_REPLACE,   GL_INCR,
267a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, GL_INVERT, };
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_string_type_table[] = {
270a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VENDOR,                   GL_RENDERER,   GL_VERSION,
271a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_SHADING_LANGUAGE_VERSION, GL_EXTENSIONS, };
272a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
273a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_texture_bind_target_table[] = {GL_TEXTURE_2D,
274a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                         GL_TEXTURE_CUBE_MAP, };
275a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
276a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_texture_border_table[] = {0, };
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_format_table[] = {
279a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA, };
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_internal_format_table[] = {
282a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA, };
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2847dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_internal_format_storage_table[] = {
285a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_RGB565,         GL_RGBA4,                 GL_RGB5_A1,  GL_ALPHA8_EXT,
286a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_LUMINANCE8_EXT, GL_LUMINANCE8_ALPHA8_EXT, GL_RGB8_OES, GL_RGBA8_OES, };
287a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
288a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLenum valid_texture_mag_filter_mode_table[] = {GL_NEAREST,
289a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                             GL_LINEAR, };
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_min_filter_mode_table[] = {
292a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST,                GL_LINEAR,
293a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST,
294a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NEAREST_MIPMAP_LINEAR,  GL_LINEAR_MIPMAP_LINEAR, };
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_parameter_table[] = {
297a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_POOL_CHROMIUM,
298a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_WRAP_S,     GL_TEXTURE_WRAP_T, };
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_pool_table[] = {
301a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_POOL_MANAGED_CHROMIUM, GL_TEXTURE_POOL_UNMANAGED_CHROMIUM, };
3022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_target_table[] = {
304a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_2D,                  GL_TEXTURE_CUBE_MAP_POSITIVE_X,
305a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
306a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
307a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, };
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_usage_table[] = {
310a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_NONE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE, };
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_texture_wrap_mode_table[] = {
313a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, GL_REPEAT, };
314a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
315a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_vertex_attrib_size_table[] = {1, 2, 3, 4, };
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_attrib_type_table[] = {
318a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_FLOAT, };
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_attribute_table[] = {
321a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
322a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_ENABLED,    GL_VERTEX_ATTRIB_ARRAY_SIZE,
323a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_STRIDE,     GL_VERTEX_ATTRIB_ARRAY_TYPE,
324a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_CURRENT_VERTEX_ATTRIB, };
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const GLenum valid_vertex_pointer_table[] = {
327a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    GL_VERTEX_ATTRIB_ARRAY_POINTER, };
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
329a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)static const GLint valid_zero_only_table[] = {0, };
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Validators::Validators()
332a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    : attachment(valid_attachment_table, arraysize(valid_attachment_table)),
333a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      backbuffer_attachment(valid_backbuffer_attachment_table,
334a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            arraysize(valid_backbuffer_attachment_table)),
335a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      blit_filter(valid_blit_filter_table, arraysize(valid_blit_filter_table)),
336a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_parameter(valid_buffer_parameter_table,
337a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_buffer_parameter_table)),
338a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_target(valid_buffer_target_table,
339a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    arraysize(valid_buffer_target_table)),
340a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      buffer_usage(valid_buffer_usage_table,
341a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_buffer_usage_table)),
342a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      capability(valid_capability_table, arraysize(valid_capability_table)),
343a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      cmp_function(valid_cmp_function_table,
344a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_cmp_function_table)),
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      compressed_texture_format(),
346a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      draw_mode(valid_draw_mode_table, arraysize(valid_draw_mode_table)),
347a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      dst_blend_factor(valid_dst_blend_factor_table,
348a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_dst_blend_factor_table)),
349a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      equation(valid_equation_table, arraysize(valid_equation_table)),
350a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      face_mode(valid_face_mode_table, arraysize(valid_face_mode_table)),
351a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      face_type(valid_face_type_table, arraysize(valid_face_type_table)),
352a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      false_only(valid_false_only_table, arraysize(valid_false_only_table)),
353a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      frame_buffer_parameter(valid_frame_buffer_parameter_table,
354a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             arraysize(valid_frame_buffer_parameter_table)),
355a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      frame_buffer_target(valid_frame_buffer_target_table,
356a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          arraysize(valid_frame_buffer_target_table)),
357a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      g_l_state(valid_g_l_state_table, arraysize(valid_g_l_state_table)),
358a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      get_max_index_type(valid_get_max_index_type_table,
359a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_get_max_index_type_table)),
360a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      get_tex_param_target(valid_get_tex_param_target_table,
361a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_get_tex_param_target_table)),
362a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      hint_mode(valid_hint_mode_table, arraysize(valid_hint_mode_table)),
363a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      hint_target(valid_hint_target_table, arraysize(valid_hint_target_table)),
364a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      index_type(valid_index_type_table, arraysize(valid_index_type_table)),
365a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_store(valid_pixel_store_table, arraysize(valid_pixel_store_table)),
366a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_store_alignment(valid_pixel_store_alignment_table,
367a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            arraysize(valid_pixel_store_alignment_table)),
368a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      pixel_type(valid_pixel_type_table, arraysize(valid_pixel_type_table)),
369a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      program_parameter(valid_program_parameter_table,
370a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_program_parameter_table)),
371a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_object_parameter(valid_query_object_parameter_table,
372a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             arraysize(valid_query_object_parameter_table)),
373a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_parameter(valid_query_parameter_table,
374a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      arraysize(valid_query_parameter_table)),
375a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      query_target(valid_query_target_table,
376a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_query_target_table)),
377a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      read_pixel_format(valid_read_pixel_format_table,
378a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_read_pixel_format_table)),
379a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      read_pixel_type(valid_read_pixel_type_table,
380a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      arraysize(valid_read_pixel_type_table)),
381a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_format(valid_render_buffer_format_table,
382a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_render_buffer_format_table)),
383a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_parameter(valid_render_buffer_parameter_table,
384a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_render_buffer_parameter_table)),
385a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      render_buffer_target(valid_render_buffer_target_table,
386a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           arraysize(valid_render_buffer_target_table)),
387a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      reset_status(valid_reset_status_table,
388a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_reset_status_table)),
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      shader_binary_format(),
390a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_parameter(valid_shader_parameter_table,
391a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_shader_parameter_table)),
392a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_precision(valid_shader_precision_table,
393a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_shader_precision_table)),
394a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      shader_type(valid_shader_type_table, arraysize(valid_shader_type_table)),
395a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      src_blend_factor(valid_src_blend_factor_table,
396a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_src_blend_factor_table)),
397a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      stencil_op(valid_stencil_op_table, arraysize(valid_stencil_op_table)),
398a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      string_type(valid_string_type_table, arraysize(valid_string_type_table)),
399a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_bind_target(valid_texture_bind_target_table,
400a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          arraysize(valid_texture_bind_target_table)),
401a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_border(valid_texture_border_table,
402a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_border_table)),
403a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_format(valid_texture_format_table,
404a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_format_table)),
405a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_internal_format(valid_texture_internal_format_table,
406a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_internal_format_table)),
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      texture_internal_format_storage(
408a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          valid_texture_internal_format_storage_table,
409a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          arraysize(valid_texture_internal_format_storage_table)),
410a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_mag_filter_mode(valid_texture_mag_filter_mode_table,
411a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_mag_filter_mode_table)),
412a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_min_filter_mode(valid_texture_min_filter_mode_table,
413a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              arraysize(valid_texture_min_filter_mode_table)),
414a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_parameter(valid_texture_parameter_table,
415a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_texture_parameter_table)),
416a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_pool(valid_texture_pool_table,
417a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   arraysize(valid_texture_pool_table)),
418a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_target(valid_texture_target_table,
419a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_texture_target_table)),
420a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_usage(valid_texture_usage_table,
421a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    arraysize(valid_texture_usage_table)),
422a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      texture_wrap_mode(valid_texture_wrap_mode_table,
423a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        arraysize(valid_texture_wrap_mode_table)),
424a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attrib_size(valid_vertex_attrib_size_table,
425a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_vertex_attrib_size_table)),
426a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attrib_type(valid_vertex_attrib_type_table,
427a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         arraysize(valid_vertex_attrib_type_table)),
428a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_attribute(valid_vertex_attribute_table,
429a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       arraysize(valid_vertex_attribute_table)),
430a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      vertex_pointer(valid_vertex_pointer_table,
431a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     arraysize(valid_vertex_pointer_table)),
432a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      zero_only(valid_zero_only_table, arraysize(valid_zero_only_table)) {}
433a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
434a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif  // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
435