Supervised user import: Listen for profile creation/deletion
[chromium-blink-merge.git] / gpu / command_buffer / service / gles2_cmd_validation_implementation_autogen.h
blob091eddafd0a0377b1b9a329e28f372d0fd94ea5b
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
9 // DO NOT EDIT!
11 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
12 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_
14 static const GLenum valid_attachment_table[] = {
15 GL_COLOR_ATTACHMENT0,
16 GL_DEPTH_ATTACHMENT,
17 GL_STENCIL_ATTACHMENT,
20 static const GLenum valid_backbuffer_attachment_table[] = {
21 GL_COLOR_EXT,
22 GL_DEPTH_EXT,
23 GL_STENCIL_EXT,
26 static const GLenum valid_blit_filter_table[] = {
27 GL_NEAREST,
28 GL_LINEAR,
31 static const GLenum valid_buffer_mode_table[] = {
32 GL_INTERLEAVED_ATTRIBS,
33 GL_SEPARATE_ATTRIBS,
36 static const GLenum valid_buffer_parameter_table[] = {
37 GL_BUFFER_SIZE,
38 GL_BUFFER_USAGE,
41 static const GLenum valid_buffer_target_table[] = {
42 GL_ARRAY_BUFFER,
43 GL_ELEMENT_ARRAY_BUFFER,
46 static const GLenum valid_buffer_target_table_es3[] = {
47 GL_COPY_READ_BUFFER,
48 GL_COPY_WRITE_BUFFER,
49 GL_PIXEL_PACK_BUFFER,
50 GL_PIXEL_UNPACK_BUFFER,
51 GL_TRANSFORM_FEEDBACK_BUFFER,
52 GL_UNIFORM_BUFFER,
55 static const GLenum valid_buffer_usage_table[] = {
56 GL_STREAM_DRAW,
57 GL_STATIC_DRAW,
58 GL_DYNAMIC_DRAW,
61 static const GLenum valid_bufferfi_table[] = {
62 GL_DEPTH_STENCIL,
65 static const GLenum valid_bufferfv_table[] = {
66 GL_COLOR,
67 GL_DEPTH,
70 static const GLenum valid_bufferiv_table[] = {
71 GL_COLOR,
72 GL_STENCIL,
75 static const GLenum valid_bufferuiv_table[] = {
76 GL_COLOR,
79 static const GLenum valid_capability_table[] = {
80 GL_BLEND,
81 GL_CULL_FACE,
82 GL_DEPTH_TEST,
83 GL_DITHER,
84 GL_POLYGON_OFFSET_FILL,
85 GL_SAMPLE_ALPHA_TO_COVERAGE,
86 GL_SAMPLE_COVERAGE,
87 GL_SCISSOR_TEST,
88 GL_STENCIL_TEST,
91 static const GLenum valid_capability_table_es3[] = {
92 GL_RASTERIZER_DISCARD,
93 GL_PRIMITIVE_RESTART_FIXED_INDEX,
96 static const GLenum valid_cmp_function_table[] = {
97 GL_NEVER,
98 GL_LESS,
99 GL_EQUAL,
100 GL_LEQUAL,
101 GL_GREATER,
102 GL_NOTEQUAL,
103 GL_GEQUAL,
104 GL_ALWAYS,
107 static const GLenum valid_compressed_texture_format_table_es3[] = {
108 GL_COMPRESSED_R11_EAC,
109 GL_COMPRESSED_SIGNED_R11_EAC,
110 GL_COMPRESSED_RG11_EAC,
111 GL_COMPRESSED_SIGNED_RG11_EAC,
112 GL_COMPRESSED_RGB8_ETC2,
113 GL_COMPRESSED_SRGB8_ETC2,
114 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
115 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
116 GL_COMPRESSED_RGBA8_ETC2_EAC,
117 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
120 static const GLenum valid_draw_mode_table[] = {
121 GL_POINTS,
122 GL_LINE_STRIP,
123 GL_LINE_LOOP,
124 GL_LINES,
125 GL_TRIANGLE_STRIP,
126 GL_TRIANGLE_FAN,
127 GL_TRIANGLES,
130 static const GLenum valid_dst_blend_factor_table[] = {
131 GL_ZERO,
132 GL_ONE,
133 GL_SRC_COLOR,
134 GL_ONE_MINUS_SRC_COLOR,
135 GL_DST_COLOR,
136 GL_ONE_MINUS_DST_COLOR,
137 GL_SRC_ALPHA,
138 GL_ONE_MINUS_SRC_ALPHA,
139 GL_DST_ALPHA,
140 GL_ONE_MINUS_DST_ALPHA,
141 GL_CONSTANT_COLOR,
142 GL_ONE_MINUS_CONSTANT_COLOR,
143 GL_CONSTANT_ALPHA,
144 GL_ONE_MINUS_CONSTANT_ALPHA,
147 static const GLenum valid_equation_table[] = {
148 GL_FUNC_ADD,
149 GL_FUNC_SUBTRACT,
150 GL_FUNC_REVERSE_SUBTRACT,
153 static const GLenum valid_face_mode_table[] = {
154 GL_CW,
155 GL_CCW,
158 static const GLenum valid_face_type_table[] = {
159 GL_FRONT,
160 GL_BACK,
161 GL_FRONT_AND_BACK,
164 static const GLenum valid_frame_buffer_parameter_table[] = {
165 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
166 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
167 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
168 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
171 static const GLenum valid_frame_buffer_target_table[] = {
172 GL_FRAMEBUFFER,
175 static const GLenum valid_g_l_state_table[] = {
176 GL_ACTIVE_TEXTURE,
177 GL_ALIASED_LINE_WIDTH_RANGE,
178 GL_ALIASED_POINT_SIZE_RANGE,
179 GL_ALPHA_BITS,
180 GL_ARRAY_BUFFER_BINDING,
181 GL_BLUE_BITS,
182 GL_COMPRESSED_TEXTURE_FORMATS,
183 GL_CURRENT_PROGRAM,
184 GL_DEPTH_BITS,
185 GL_DEPTH_RANGE,
186 GL_ELEMENT_ARRAY_BUFFER_BINDING,
187 GL_FRAMEBUFFER_BINDING,
188 GL_GENERATE_MIPMAP_HINT,
189 GL_GREEN_BITS,
190 GL_IMPLEMENTATION_COLOR_READ_FORMAT,
191 GL_IMPLEMENTATION_COLOR_READ_TYPE,
192 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
193 GL_MAX_CUBE_MAP_TEXTURE_SIZE,
194 GL_MAX_FRAGMENT_UNIFORM_VECTORS,
195 GL_MAX_RENDERBUFFER_SIZE,
196 GL_MAX_TEXTURE_IMAGE_UNITS,
197 GL_MAX_TEXTURE_SIZE,
198 GL_MAX_VARYING_VECTORS,
199 GL_MAX_VERTEX_ATTRIBS,
200 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
201 GL_MAX_VERTEX_UNIFORM_VECTORS,
202 GL_MAX_VIEWPORT_DIMS,
203 GL_NUM_COMPRESSED_TEXTURE_FORMATS,
204 GL_NUM_SHADER_BINARY_FORMATS,
205 GL_PACK_ALIGNMENT,
206 GL_RED_BITS,
207 GL_RENDERBUFFER_BINDING,
208 GL_SAMPLE_BUFFERS,
209 GL_SAMPLE_COVERAGE_INVERT,
210 GL_SAMPLE_COVERAGE_VALUE,
211 GL_SAMPLES,
212 GL_SCISSOR_BOX,
213 GL_SHADER_BINARY_FORMATS,
214 GL_SHADER_COMPILER,
215 GL_SUBPIXEL_BITS,
216 GL_STENCIL_BITS,
217 GL_TEXTURE_BINDING_2D,
218 GL_TEXTURE_BINDING_CUBE_MAP,
219 GL_UNPACK_ALIGNMENT,
220 GL_UNPACK_FLIP_Y_CHROMIUM,
221 GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
222 GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
223 GL_BIND_GENERATES_RESOURCE_CHROMIUM,
224 GL_VERTEX_ARRAY_BINDING_OES,
225 GL_VIEWPORT,
226 GL_BLEND_COLOR,
227 GL_BLEND_EQUATION_RGB,
228 GL_BLEND_EQUATION_ALPHA,
229 GL_BLEND_SRC_RGB,
230 GL_BLEND_DST_RGB,
231 GL_BLEND_SRC_ALPHA,
232 GL_BLEND_DST_ALPHA,
233 GL_COLOR_CLEAR_VALUE,
234 GL_DEPTH_CLEAR_VALUE,
235 GL_STENCIL_CLEAR_VALUE,
236 GL_COLOR_WRITEMASK,
237 GL_CULL_FACE_MODE,
238 GL_DEPTH_FUNC,
239 GL_DEPTH_WRITEMASK,
240 GL_FRONT_FACE,
241 GL_LINE_WIDTH,
242 GL_POLYGON_OFFSET_FACTOR,
243 GL_POLYGON_OFFSET_UNITS,
244 GL_STENCIL_FUNC,
245 GL_STENCIL_REF,
246 GL_STENCIL_VALUE_MASK,
247 GL_STENCIL_BACK_FUNC,
248 GL_STENCIL_BACK_REF,
249 GL_STENCIL_BACK_VALUE_MASK,
250 GL_STENCIL_WRITEMASK,
251 GL_STENCIL_BACK_WRITEMASK,
252 GL_STENCIL_FAIL,
253 GL_STENCIL_PASS_DEPTH_FAIL,
254 GL_STENCIL_PASS_DEPTH_PASS,
255 GL_STENCIL_BACK_FAIL,
256 GL_STENCIL_BACK_PASS_DEPTH_FAIL,
257 GL_STENCIL_BACK_PASS_DEPTH_PASS,
258 GL_BLEND,
259 GL_CULL_FACE,
260 GL_DEPTH_TEST,
261 GL_DITHER,
262 GL_POLYGON_OFFSET_FILL,
263 GL_SAMPLE_ALPHA_TO_COVERAGE,
264 GL_SAMPLE_COVERAGE,
265 GL_SCISSOR_TEST,
266 GL_STENCIL_TEST,
267 GL_RASTERIZER_DISCARD,
268 GL_PRIMITIVE_RESTART_FIXED_INDEX,
271 static const GLenum valid_g_l_state_table_es3[] = {
272 GL_COPY_READ_BUFFER_BINDING,
273 GL_COPY_WRITE_BUFFER_BINDING,
274 GL_DRAW_BUFFER0,
275 GL_DRAW_BUFFER1,
276 GL_DRAW_BUFFER2,
277 GL_DRAW_BUFFER3,
278 GL_DRAW_BUFFER4,
279 GL_DRAW_BUFFER5,
280 GL_DRAW_BUFFER6,
281 GL_DRAW_BUFFER7,
282 GL_DRAW_BUFFER8,
283 GL_DRAW_BUFFER9,
284 GL_DRAW_BUFFER10,
285 GL_DRAW_BUFFER11,
286 GL_DRAW_BUFFER12,
287 GL_DRAW_BUFFER13,
288 GL_DRAW_BUFFER14,
289 GL_DRAW_BUFFER15,
290 GL_DRAW_FRAMEBUFFER_BINDING,
291 GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
292 GL_MAJOR_VERSION,
293 GL_MAX_3D_TEXTURE_SIZE,
294 GL_MAX_ARRAY_TEXTURE_LAYERS,
295 GL_MAX_COLOR_ATTACHMENTS,
296 GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
297 GL_MAX_COMBINED_UNIFORM_BLOCKS,
298 GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
299 GL_MAX_DRAW_BUFFERS,
300 GL_MAX_ELEMENT_INDEX,
301 GL_MAX_ELEMENTS_INDICES,
302 GL_MAX_ELEMENTS_VERTICES,
303 GL_MAX_FRAGMENT_INPUT_COMPONENTS,
304 GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
305 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
306 GL_MAX_PROGRAM_TEXEL_OFFSET,
307 GL_MAX_SAMPLES,
308 GL_MAX_SERVER_WAIT_TIMEOUT,
309 GL_MAX_TEXTURE_LOD_BIAS,
310 GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
311 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
312 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
313 GL_MAX_UNIFORM_BLOCK_SIZE,
314 GL_MAX_UNIFORM_BUFFER_BINDINGS,
315 GL_MAX_VARYING_COMPONENTS,
316 GL_MAX_VERTEX_OUTPUT_COMPONENTS,
317 GL_MAX_VERTEX_UNIFORM_BLOCKS,
318 GL_MAX_VERTEX_UNIFORM_COMPONENTS,
319 GL_MIN_PROGRAM_TEXEL_OFFSET,
320 GL_MINOR_VERSION,
321 GL_NUM_EXTENSIONS,
322 GL_NUM_PROGRAM_BINARY_FORMATS,
323 GL_PACK_ROW_LENGTH,
324 GL_PACK_SKIP_PIXELS,
325 GL_PACK_SKIP_ROWS,
326 GL_PIXEL_PACK_BUFFER_BINDING,
327 GL_PIXEL_UNPACK_BUFFER_BINDING,
328 GL_PROGRAM_BINARY_FORMATS,
329 GL_READ_BUFFER,
330 GL_READ_FRAMEBUFFER_BINDING,
331 GL_SAMPLER_BINDING,
332 GL_TEXTURE_BINDING_2D_ARRAY,
333 GL_TEXTURE_BINDING_3D,
334 GL_TRANSFORM_FEEDBACK_BINDING,
335 GL_TRANSFORM_FEEDBACK_ACTIVE,
336 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
337 GL_TRANSFORM_FEEDBACK_PAUSED,
338 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
339 GL_TRANSFORM_FEEDBACK_BUFFER_START,
340 GL_UNIFORM_BUFFER_BINDING,
341 GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
342 GL_UNIFORM_BUFFER_SIZE,
343 GL_UNIFORM_BUFFER_START,
344 GL_UNPACK_IMAGE_HEIGHT,
345 GL_UNPACK_ROW_LENGTH,
346 GL_UNPACK_SKIP_IMAGES,
347 GL_UNPACK_SKIP_PIXELS,
348 GL_UNPACK_SKIP_ROWS,
351 static const GLenum valid_get_max_index_type_table[] = {
352 GL_UNSIGNED_BYTE,
353 GL_UNSIGNED_SHORT,
354 GL_UNSIGNED_INT,
357 static const GLenum valid_get_tex_param_target_table[] = {
358 GL_TEXTURE_2D,
359 GL_TEXTURE_CUBE_MAP,
362 static const GLenum valid_hint_mode_table[] = {
363 GL_FASTEST,
364 GL_NICEST,
365 GL_DONT_CARE,
368 static const GLenum valid_hint_target_table[] = {
369 GL_GENERATE_MIPMAP_HINT,
372 static const GLenum valid_image_internal_format_table[] = {
373 GL_RGB,
374 GL_RGB_YUV_420_CHROMIUM,
375 GL_RGBA,
378 static const GLenum valid_image_usage_table[] = {
379 GL_MAP_CHROMIUM,
380 GL_SCANOUT_CHROMIUM,
383 static const GLenum valid_index_type_table[] = {
384 GL_UNSIGNED_BYTE,
385 GL_UNSIGNED_SHORT,
388 static const GLenum valid_indexed_buffer_target_table[] = {
389 GL_TRANSFORM_FEEDBACK_BUFFER,
390 GL_UNIFORM_BUFFER,
393 static const GLenum valid_indexed_g_l_state_table[] = {
394 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
395 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
396 GL_TRANSFORM_FEEDBACK_BUFFER_START,
397 GL_UNIFORM_BUFFER_BINDING,
398 GL_UNIFORM_BUFFER_SIZE,
399 GL_UNIFORM_BUFFER_START,
402 static const GLenum valid_map_buffer_access_table[] = {
403 GL_MAP_READ_BIT,
404 GL_MAP_WRITE_BIT,
405 GL_MAP_INVALIDATE_RANGE_BIT,
406 GL_MAP_INVALIDATE_BUFFER_BIT,
407 GL_MAP_FLUSH_EXPLICIT_BIT,
408 GL_MAP_UNSYNCHRONIZED_BIT,
411 static const GLenum valid_matrix_mode_table[] = {
412 GL_PATH_PROJECTION_CHROMIUM,
413 GL_PATH_MODELVIEW_CHROMIUM,
416 static const GLenum valid_pixel_store_table[] = {
417 GL_PACK_ALIGNMENT,
418 GL_UNPACK_ALIGNMENT,
419 GL_UNPACK_FLIP_Y_CHROMIUM,
420 GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
421 GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
424 static const GLint valid_pixel_store_alignment_table[] = {
431 static const GLenum valid_pixel_type_table[] = {
432 GL_UNSIGNED_BYTE,
433 GL_UNSIGNED_SHORT_5_6_5,
434 GL_UNSIGNED_SHORT_4_4_4_4,
435 GL_UNSIGNED_SHORT_5_5_5_1,
438 static const GLenum valid_pixel_type_table_es3[] = {
439 GL_BYTE,
440 GL_UNSIGNED_SHORT,
441 GL_SHORT,
442 GL_UNSIGNED_INT,
443 GL_INT,
444 GL_HALF_FLOAT,
445 GL_FLOAT,
446 GL_UNSIGNED_INT_2_10_10_10_REV,
447 GL_UNSIGNED_INT_10F_11F_11F_REV,
448 GL_UNSIGNED_INT_5_9_9_9_REV,
449 GL_UNSIGNED_INT_24_8,
450 GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
453 static const GLenum valid_program_parameter_table[] = {
454 GL_DELETE_STATUS,
455 GL_LINK_STATUS,
456 GL_VALIDATE_STATUS,
457 GL_INFO_LOG_LENGTH,
458 GL_ATTACHED_SHADERS,
459 GL_ACTIVE_ATTRIBUTES,
460 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
461 GL_ACTIVE_UNIFORMS,
462 GL_ACTIVE_UNIFORM_MAX_LENGTH,
465 static const GLenum valid_query_object_parameter_table[] = {
466 GL_QUERY_RESULT_EXT,
467 GL_QUERY_RESULT_AVAILABLE_EXT,
470 static const GLenum valid_query_parameter_table[] = {
471 GL_CURRENT_QUERY_EXT,
474 static const GLenum valid_query_target_table[] = {
475 GL_ANY_SAMPLES_PASSED_EXT,
476 GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT,
477 GL_COMMANDS_ISSUED_CHROMIUM,
478 GL_LATENCY_QUERY_CHROMIUM,
479 GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM,
480 GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM,
481 GL_COMMANDS_COMPLETED_CHROMIUM,
484 static const GLenum valid_read_pixel_format_table[] = {
485 GL_ALPHA,
486 GL_RGB,
487 GL_RGBA,
490 static const GLenum valid_read_pixel_type_table[] = {
491 GL_UNSIGNED_BYTE,
492 GL_UNSIGNED_SHORT_5_6_5,
493 GL_UNSIGNED_SHORT_4_4_4_4,
494 GL_UNSIGNED_SHORT_5_5_5_1,
497 static const GLenum valid_render_buffer_format_table[] = {
498 GL_RGBA4,
499 GL_RGB565,
500 GL_RGB5_A1,
501 GL_DEPTH_COMPONENT16,
502 GL_STENCIL_INDEX8,
505 static const GLenum valid_render_buffer_parameter_table[] = {
506 GL_RENDERBUFFER_RED_SIZE,
507 GL_RENDERBUFFER_GREEN_SIZE,
508 GL_RENDERBUFFER_BLUE_SIZE,
509 GL_RENDERBUFFER_ALPHA_SIZE,
510 GL_RENDERBUFFER_DEPTH_SIZE,
511 GL_RENDERBUFFER_STENCIL_SIZE,
512 GL_RENDERBUFFER_WIDTH,
513 GL_RENDERBUFFER_HEIGHT,
514 GL_RENDERBUFFER_INTERNAL_FORMAT,
517 static const GLenum valid_render_buffer_target_table[] = {
518 GL_RENDERBUFFER,
521 static const GLenum valid_reset_status_table[] = {
522 GL_GUILTY_CONTEXT_RESET_ARB,
523 GL_INNOCENT_CONTEXT_RESET_ARB,
524 GL_UNKNOWN_CONTEXT_RESET_ARB,
527 static const GLenum valid_sampler_parameter_table[] = {
528 GL_TEXTURE_MAG_FILTER,
529 GL_TEXTURE_MIN_FILTER,
530 GL_TEXTURE_MIN_LOD,
531 GL_TEXTURE_MAX_LOD,
532 GL_TEXTURE_WRAP_S,
533 GL_TEXTURE_WRAP_T,
534 GL_TEXTURE_WRAP_R,
535 GL_TEXTURE_COMPARE_MODE,
536 GL_TEXTURE_COMPARE_FUNC,
539 static const GLenum valid_shader_parameter_table[] = {
540 GL_SHADER_TYPE,
541 GL_DELETE_STATUS,
542 GL_COMPILE_STATUS,
543 GL_INFO_LOG_LENGTH,
544 GL_SHADER_SOURCE_LENGTH,
545 GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE,
548 static const GLenum valid_shader_precision_table[] = {
549 GL_LOW_FLOAT,
550 GL_MEDIUM_FLOAT,
551 GL_HIGH_FLOAT,
552 GL_LOW_INT,
553 GL_MEDIUM_INT,
554 GL_HIGH_INT,
557 static const GLenum valid_shader_type_table[] = {
558 GL_VERTEX_SHADER,
559 GL_FRAGMENT_SHADER,
562 static const GLenum valid_src_blend_factor_table[] = {
563 GL_ZERO,
564 GL_ONE,
565 GL_SRC_COLOR,
566 GL_ONE_MINUS_SRC_COLOR,
567 GL_DST_COLOR,
568 GL_ONE_MINUS_DST_COLOR,
569 GL_SRC_ALPHA,
570 GL_ONE_MINUS_SRC_ALPHA,
571 GL_DST_ALPHA,
572 GL_ONE_MINUS_DST_ALPHA,
573 GL_CONSTANT_COLOR,
574 GL_ONE_MINUS_CONSTANT_COLOR,
575 GL_CONSTANT_ALPHA,
576 GL_ONE_MINUS_CONSTANT_ALPHA,
577 GL_SRC_ALPHA_SATURATE,
580 static const GLenum valid_stencil_op_table[] = {
581 GL_KEEP,
582 GL_ZERO,
583 GL_REPLACE,
584 GL_INCR,
585 GL_INCR_WRAP,
586 GL_DECR,
587 GL_DECR_WRAP,
588 GL_INVERT,
591 static const GLenum valid_string_type_table[] = {
592 GL_VENDOR,
593 GL_RENDERER,
594 GL_VERSION,
595 GL_SHADING_LANGUAGE_VERSION,
596 GL_EXTENSIONS,
599 static const GLenum valid_subscription_target_table[] = {
600 GL_MOUSE_POSITION_CHROMIUM,
603 static const GLbitfield valid_sync_flush_flags_table[] = {
604 GL_SYNC_FLUSH_COMMANDS_BIT,
608 static const GLenum valid_sync_parameter_table[] = {
609 GL_SYNC_STATUS,
610 GL_OBJECT_TYPE,
611 GL_SYNC_CONDITION,
612 GL_SYNC_FLAGS,
615 static const GLenum valid_texture_3_d_target_table[] = {
616 GL_TEXTURE_3D,
617 GL_TEXTURE_2D_ARRAY,
620 static const GLenum valid_texture_bind_target_table[] = {
621 GL_TEXTURE_2D,
622 GL_TEXTURE_CUBE_MAP,
625 static const GLenum valid_texture_bind_target_table_es3[] = {
626 GL_TEXTURE_3D,
627 GL_TEXTURE_2D_ARRAY,
630 static const GLenum valid_texture_format_table[] = {
631 GL_ALPHA,
632 GL_LUMINANCE,
633 GL_LUMINANCE_ALPHA,
634 GL_RGB,
635 GL_RGBA,
638 static const GLenum valid_texture_format_table_es3[] = {
639 GL_RED,
640 GL_RED_INTEGER,
641 GL_RG,
642 GL_RG_INTEGER,
643 GL_RGB_INTEGER,
644 GL_RGBA_INTEGER,
645 GL_DEPTH_COMPONENT,
646 GL_DEPTH_STENCIL,
649 static const GLenum valid_texture_internal_format_table[] = {
650 GL_ALPHA,
651 GL_LUMINANCE,
652 GL_LUMINANCE_ALPHA,
653 GL_RGB,
654 GL_RGBA,
657 static const GLenum valid_texture_internal_format_table_es3[] = {
658 GL_R8,
659 GL_R8_SNORM,
660 GL_R16F,
661 GL_R32F,
662 GL_R8UI,
663 GL_R8I,
664 GL_R16UI,
665 GL_R16I,
666 GL_R32UI,
667 GL_R32I,
668 GL_RG8,
669 GL_RG8_SNORM,
670 GL_RG16F,
671 GL_RG32F,
672 GL_RG8UI,
673 GL_RG8I,
674 GL_RG16UI,
675 GL_RG16I,
676 GL_RG32UI,
677 GL_RG32I,
678 GL_RGB8,
679 GL_SRGB8,
680 GL_RGB565,
681 GL_RGB8_SNORM,
682 GL_R11F_G11F_B10F,
683 GL_RGB9_E5,
684 GL_RGB16F,
685 GL_RGB32F,
686 GL_RGB8UI,
687 GL_RGB8I,
688 GL_RGB16UI,
689 GL_RGB16I,
690 GL_RGB32UI,
691 GL_RGB32I,
692 GL_RGBA8,
693 GL_SRGB8_ALPHA8,
694 GL_RGBA8_SNORM,
695 GL_RGB5_A1,
696 GL_RGBA4,
697 GL_RGB10_A2,
698 GL_RGBA16F,
699 GL_RGBA32F,
700 GL_RGBA8UI,
701 GL_RGBA8I,
702 GL_RGB10_A2UI,
703 GL_RGBA16UI,
704 GL_RGBA16I,
705 GL_RGBA32UI,
706 GL_RGBA32I,
707 GL_DEPTH_COMPONENT16,
708 GL_DEPTH_COMPONENT24,
709 GL_DEPTH_COMPONENT32F,
710 GL_DEPTH24_STENCIL8,
711 GL_DEPTH32F_STENCIL8,
714 static const GLenum valid_texture_internal_format_storage_table[] = {
715 GL_RGB565,
716 GL_RGBA4,
717 GL_RGB5_A1,
718 GL_ALPHA8_EXT,
719 GL_LUMINANCE8_EXT,
720 GL_LUMINANCE8_ALPHA8_EXT,
721 GL_RGB8_OES,
722 GL_RGBA8_OES,
725 static const GLenum valid_texture_internal_format_storage_table_es3[] = {
726 GL_R8,
727 GL_R8_SNORM,
728 GL_R16F,
729 GL_R32F,
730 GL_R8UI,
731 GL_R8I,
732 GL_R16UI,
733 GL_R16I,
734 GL_R32UI,
735 GL_R32I,
736 GL_RG8,
737 GL_RG8_SNORM,
738 GL_RG16F,
739 GL_RG32F,
740 GL_RG8UI,
741 GL_RG8I,
742 GL_RG16UI,
743 GL_RG16I,
744 GL_RG32UI,
745 GL_RG32I,
746 GL_SRGB8,
747 GL_RGB8_SNORM,
748 GL_R11F_G11F_B10F,
749 GL_RGB9_E5,
750 GL_RGB16F,
751 GL_RGB32F,
752 GL_RGB8UI,
753 GL_RGB8I,
754 GL_RGB16UI,
755 GL_RGB16I,
756 GL_RGB32UI,
757 GL_RGB32I,
758 GL_SRGB8_ALPHA8,
759 GL_RGBA8_SNORM,
760 GL_RGB10_A2,
761 GL_RGBA16F,
762 GL_RGBA32F,
763 GL_RGBA8UI,
764 GL_RGBA8I,
765 GL_RGB10_A2UI,
766 GL_RGBA16UI,
767 GL_RGBA16I,
768 GL_RGBA32UI,
769 GL_RGBA32I,
770 GL_DEPTH_COMPONENT16,
771 GL_DEPTH_COMPONENT24,
772 GL_DEPTH_COMPONENT32F,
773 GL_DEPTH24_STENCIL8,
774 GL_DEPTH32F_STENCIL8,
775 GL_COMPRESSED_R11_EAC,
776 GL_COMPRESSED_SIGNED_R11_EAC,
777 GL_COMPRESSED_RG11_EAC,
778 GL_COMPRESSED_SIGNED_RG11_EAC,
779 GL_COMPRESSED_RGB8_ETC2,
780 GL_COMPRESSED_SRGB8_ETC2,
781 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
782 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
783 GL_COMPRESSED_RGBA8_ETC2_EAC,
784 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
787 static const GLenum deprecated_texture_internal_format_storage_table_es3[] = {
788 GL_ALPHA8_EXT,
789 GL_LUMINANCE8_EXT,
790 GL_LUMINANCE8_ALPHA8_EXT,
791 GL_ALPHA16F_EXT,
792 GL_LUMINANCE16F_EXT,
793 GL_LUMINANCE_ALPHA16F_EXT,
794 GL_ALPHA32F_EXT,
795 GL_LUMINANCE32F_EXT,
796 GL_LUMINANCE_ALPHA32F_EXT,
799 static const GLenum valid_texture_mag_filter_mode_table[] = {
800 GL_NEAREST,
801 GL_LINEAR,
804 static const GLenum valid_texture_min_filter_mode_table[] = {
805 GL_NEAREST,
806 GL_LINEAR,
807 GL_NEAREST_MIPMAP_NEAREST,
808 GL_LINEAR_MIPMAP_NEAREST,
809 GL_NEAREST_MIPMAP_LINEAR,
810 GL_LINEAR_MIPMAP_LINEAR,
813 static const GLenum valid_texture_parameter_table[] = {
814 GL_TEXTURE_MAG_FILTER,
815 GL_TEXTURE_MIN_FILTER,
816 GL_TEXTURE_POOL_CHROMIUM,
817 GL_TEXTURE_WRAP_S,
818 GL_TEXTURE_WRAP_T,
821 static const GLenum valid_texture_pool_table[] = {
822 GL_TEXTURE_POOL_MANAGED_CHROMIUM,
823 GL_TEXTURE_POOL_UNMANAGED_CHROMIUM,
826 static const GLenum valid_texture_target_table[] = {
827 GL_TEXTURE_2D,
828 GL_TEXTURE_CUBE_MAP_POSITIVE_X,
829 GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
830 GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
831 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
832 GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
833 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
836 static const GLenum valid_texture_usage_table[] = {
837 GL_NONE,
838 GL_FRAMEBUFFER_ATTACHMENT_ANGLE,
841 static const GLenum valid_texture_wrap_mode_table[] = {
842 GL_CLAMP_TO_EDGE,
843 GL_MIRRORED_REPEAT,
844 GL_REPEAT,
847 static const GLenum valid_transform_feedback_bind_target_table[] = {
848 GL_TRANSFORM_FEEDBACK,
851 static const GLenum valid_transform_feedback_primitive_mode_table[] = {
852 GL_POINTS,
853 GL_LINES,
854 GL_TRIANGLES,
857 static const GLenum valid_uniform_block_parameter_table[] = {
858 GL_UNIFORM_BLOCK_BINDING,
859 GL_UNIFORM_BLOCK_DATA_SIZE,
860 GL_UNIFORM_BLOCK_NAME_LENGTH,
861 GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
862 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
863 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
864 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
867 static const GLenum valid_uniform_parameter_table[] = {
868 GL_UNIFORM_SIZE,
869 GL_UNIFORM_TYPE,
870 GL_UNIFORM_NAME_LENGTH,
871 GL_UNIFORM_BLOCK_INDEX,
872 GL_UNIFORM_OFFSET,
873 GL_UNIFORM_ARRAY_STRIDE,
874 GL_UNIFORM_MATRIX_STRIDE,
875 GL_UNIFORM_IS_ROW_MAJOR,
878 static const GLenum valid_value_buffer_target_table[] = {
879 GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM,
882 static const GLenum valid_vertex_attrib_i_type_table[] = {
883 GL_BYTE,
884 GL_UNSIGNED_BYTE,
885 GL_SHORT,
886 GL_UNSIGNED_SHORT,
887 GL_INT,
888 GL_UNSIGNED_INT,
891 static const GLint valid_vertex_attrib_size_table[] = {
898 static const GLenum valid_vertex_attrib_type_table[] = {
899 GL_BYTE,
900 GL_UNSIGNED_BYTE,
901 GL_SHORT,
902 GL_UNSIGNED_SHORT,
903 GL_FLOAT,
906 static const GLenum valid_vertex_attribute_table[] = {
907 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
908 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
909 GL_VERTEX_ATTRIB_ARRAY_ENABLED,
910 GL_VERTEX_ATTRIB_ARRAY_SIZE,
911 GL_VERTEX_ATTRIB_ARRAY_STRIDE,
912 GL_VERTEX_ATTRIB_ARRAY_TYPE,
913 GL_CURRENT_VERTEX_ATTRIB,
916 static const GLenum valid_vertex_pointer_table[] = {
917 GL_VERTEX_ATTRIB_ARRAY_POINTER,
920 Validators::Validators()
921 : attachment(valid_attachment_table, arraysize(valid_attachment_table)),
922 backbuffer_attachment(valid_backbuffer_attachment_table,
923 arraysize(valid_backbuffer_attachment_table)),
924 blit_filter(valid_blit_filter_table, arraysize(valid_blit_filter_table)),
925 buffer_mode(valid_buffer_mode_table, arraysize(valid_buffer_mode_table)),
926 buffer_parameter(valid_buffer_parameter_table,
927 arraysize(valid_buffer_parameter_table)),
928 buffer_target(valid_buffer_target_table,
929 arraysize(valid_buffer_target_table)),
930 buffer_usage(valid_buffer_usage_table,
931 arraysize(valid_buffer_usage_table)),
932 bufferfi(valid_bufferfi_table, arraysize(valid_bufferfi_table)),
933 bufferfv(valid_bufferfv_table, arraysize(valid_bufferfv_table)),
934 bufferiv(valid_bufferiv_table, arraysize(valid_bufferiv_table)),
935 bufferuiv(valid_bufferuiv_table, arraysize(valid_bufferuiv_table)),
936 capability(valid_capability_table, arraysize(valid_capability_table)),
937 cmp_function(valid_cmp_function_table,
938 arraysize(valid_cmp_function_table)),
939 compressed_texture_format(),
940 draw_mode(valid_draw_mode_table, arraysize(valid_draw_mode_table)),
941 dst_blend_factor(valid_dst_blend_factor_table,
942 arraysize(valid_dst_blend_factor_table)),
943 equation(valid_equation_table, arraysize(valid_equation_table)),
944 face_mode(valid_face_mode_table, arraysize(valid_face_mode_table)),
945 face_type(valid_face_type_table, arraysize(valid_face_type_table)),
946 frame_buffer_parameter(valid_frame_buffer_parameter_table,
947 arraysize(valid_frame_buffer_parameter_table)),
948 frame_buffer_target(valid_frame_buffer_target_table,
949 arraysize(valid_frame_buffer_target_table)),
950 g_l_state(valid_g_l_state_table, arraysize(valid_g_l_state_table)),
951 get_max_index_type(valid_get_max_index_type_table,
952 arraysize(valid_get_max_index_type_table)),
953 get_tex_param_target(valid_get_tex_param_target_table,
954 arraysize(valid_get_tex_param_target_table)),
955 hint_mode(valid_hint_mode_table, arraysize(valid_hint_mode_table)),
956 hint_target(valid_hint_target_table, arraysize(valid_hint_target_table)),
957 image_internal_format(valid_image_internal_format_table,
958 arraysize(valid_image_internal_format_table)),
959 image_usage(valid_image_usage_table, arraysize(valid_image_usage_table)),
960 index_type(valid_index_type_table, arraysize(valid_index_type_table)),
961 indexed_buffer_target(valid_indexed_buffer_target_table,
962 arraysize(valid_indexed_buffer_target_table)),
963 indexed_g_l_state(valid_indexed_g_l_state_table,
964 arraysize(valid_indexed_g_l_state_table)),
965 map_buffer_access(valid_map_buffer_access_table,
966 arraysize(valid_map_buffer_access_table)),
967 matrix_mode(valid_matrix_mode_table, arraysize(valid_matrix_mode_table)),
968 pixel_store(valid_pixel_store_table, arraysize(valid_pixel_store_table)),
969 pixel_store_alignment(valid_pixel_store_alignment_table,
970 arraysize(valid_pixel_store_alignment_table)),
971 pixel_type(valid_pixel_type_table, arraysize(valid_pixel_type_table)),
972 program_parameter(valid_program_parameter_table,
973 arraysize(valid_program_parameter_table)),
974 query_object_parameter(valid_query_object_parameter_table,
975 arraysize(valid_query_object_parameter_table)),
976 query_parameter(valid_query_parameter_table,
977 arraysize(valid_query_parameter_table)),
978 query_target(valid_query_target_table,
979 arraysize(valid_query_target_table)),
980 read_pixel_format(valid_read_pixel_format_table,
981 arraysize(valid_read_pixel_format_table)),
982 read_pixel_type(valid_read_pixel_type_table,
983 arraysize(valid_read_pixel_type_table)),
984 render_buffer_format(valid_render_buffer_format_table,
985 arraysize(valid_render_buffer_format_table)),
986 render_buffer_parameter(valid_render_buffer_parameter_table,
987 arraysize(valid_render_buffer_parameter_table)),
988 render_buffer_target(valid_render_buffer_target_table,
989 arraysize(valid_render_buffer_target_table)),
990 reset_status(valid_reset_status_table,
991 arraysize(valid_reset_status_table)),
992 sampler_parameter(valid_sampler_parameter_table,
993 arraysize(valid_sampler_parameter_table)),
994 shader_binary_format(),
995 shader_parameter(valid_shader_parameter_table,
996 arraysize(valid_shader_parameter_table)),
997 shader_precision(valid_shader_precision_table,
998 arraysize(valid_shader_precision_table)),
999 shader_type(valid_shader_type_table, arraysize(valid_shader_type_table)),
1000 src_blend_factor(valid_src_blend_factor_table,
1001 arraysize(valid_src_blend_factor_table)),
1002 stencil_op(valid_stencil_op_table, arraysize(valid_stencil_op_table)),
1003 string_type(valid_string_type_table, arraysize(valid_string_type_table)),
1004 subscription_target(valid_subscription_target_table,
1005 arraysize(valid_subscription_target_table)),
1006 sync_flush_flags(valid_sync_flush_flags_table,
1007 arraysize(valid_sync_flush_flags_table)),
1008 sync_parameter(valid_sync_parameter_table,
1009 arraysize(valid_sync_parameter_table)),
1010 texture_3_d_target(valid_texture_3_d_target_table,
1011 arraysize(valid_texture_3_d_target_table)),
1012 texture_bind_target(valid_texture_bind_target_table,
1013 arraysize(valid_texture_bind_target_table)),
1014 texture_format(valid_texture_format_table,
1015 arraysize(valid_texture_format_table)),
1016 texture_internal_format(valid_texture_internal_format_table,
1017 arraysize(valid_texture_internal_format_table)),
1018 texture_internal_format_storage(
1019 valid_texture_internal_format_storage_table,
1020 arraysize(valid_texture_internal_format_storage_table)),
1021 texture_mag_filter_mode(valid_texture_mag_filter_mode_table,
1022 arraysize(valid_texture_mag_filter_mode_table)),
1023 texture_min_filter_mode(valid_texture_min_filter_mode_table,
1024 arraysize(valid_texture_min_filter_mode_table)),
1025 texture_parameter(valid_texture_parameter_table,
1026 arraysize(valid_texture_parameter_table)),
1027 texture_pool(valid_texture_pool_table,
1028 arraysize(valid_texture_pool_table)),
1029 texture_target(valid_texture_target_table,
1030 arraysize(valid_texture_target_table)),
1031 texture_usage(valid_texture_usage_table,
1032 arraysize(valid_texture_usage_table)),
1033 texture_wrap_mode(valid_texture_wrap_mode_table,
1034 arraysize(valid_texture_wrap_mode_table)),
1035 transform_feedback_bind_target(
1036 valid_transform_feedback_bind_target_table,
1037 arraysize(valid_transform_feedback_bind_target_table)),
1038 transform_feedback_primitive_mode(
1039 valid_transform_feedback_primitive_mode_table,
1040 arraysize(valid_transform_feedback_primitive_mode_table)),
1041 uniform_block_parameter(valid_uniform_block_parameter_table,
1042 arraysize(valid_uniform_block_parameter_table)),
1043 uniform_parameter(valid_uniform_parameter_table,
1044 arraysize(valid_uniform_parameter_table)),
1045 value_buffer_target(valid_value_buffer_target_table,
1046 arraysize(valid_value_buffer_target_table)),
1047 vertex_attrib_i_type(valid_vertex_attrib_i_type_table,
1048 arraysize(valid_vertex_attrib_i_type_table)),
1049 vertex_attrib_size(valid_vertex_attrib_size_table,
1050 arraysize(valid_vertex_attrib_size_table)),
1051 vertex_attrib_type(valid_vertex_attrib_type_table,
1052 arraysize(valid_vertex_attrib_type_table)),
1053 vertex_attribute(valid_vertex_attribute_table,
1054 arraysize(valid_vertex_attribute_table)),
1055 vertex_pointer(valid_vertex_pointer_table,
1056 arraysize(valid_vertex_pointer_table)) {
1059 void Validators::UpdateValuesES3() {
1060 buffer_target.AddValues(valid_buffer_target_table_es3,
1061 arraysize(valid_buffer_target_table_es3));
1062 capability.AddValues(valid_capability_table_es3,
1063 arraysize(valid_capability_table_es3));
1064 compressed_texture_format.AddValues(
1065 valid_compressed_texture_format_table_es3,
1066 arraysize(valid_compressed_texture_format_table_es3));
1067 g_l_state.AddValues(valid_g_l_state_table_es3,
1068 arraysize(valid_g_l_state_table_es3));
1069 pixel_type.AddValues(valid_pixel_type_table_es3,
1070 arraysize(valid_pixel_type_table_es3));
1071 texture_bind_target.AddValues(valid_texture_bind_target_table_es3,
1072 arraysize(valid_texture_bind_target_table_es3));
1073 texture_format.AddValues(valid_texture_format_table_es3,
1074 arraysize(valid_texture_format_table_es3));
1075 texture_internal_format.AddValues(
1076 valid_texture_internal_format_table_es3,
1077 arraysize(valid_texture_internal_format_table_es3));
1078 texture_internal_format_storage.RemoveValues(
1079 deprecated_texture_internal_format_storage_table_es3,
1080 arraysize(deprecated_texture_internal_format_storage_table_es3));
1081 texture_internal_format_storage.AddValues(
1082 valid_texture_internal_format_storage_table_es3,
1083 arraysize(valid_texture_internal_format_storage_table_es3));
1086 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_