OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file is auto-generated. DO NOT EDIT! | 5 // This file is auto-generated. DO NOT EDIT! |
6 | 6 |
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H
_ // NOLINT | 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H
_ // NOLINT |
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H
_ // NOLINT | 8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H
_ // NOLINT |
9 | 9 |
10 bool ValidateGLenumAttachment(GLenum value) { | 10 static GLenum valid_attachment_table[] = { |
11 switch (value) { | 11 GL_COLOR_ATTACHMENT0, |
12 case GL_COLOR_ATTACHMENT0: | 12 GL_DEPTH_ATTACHMENT, |
13 case GL_DEPTH_ATTACHMENT: | 13 GL_STENCIL_ATTACHMENT, |
14 case GL_STENCIL_ATTACHMENT: | 14 }; |
15 return true; | 15 |
16 default: | 16 static GLenum valid_buffer_parameter_table[] = { |
17 return false; | 17 GL_BUFFER_SIZE, |
18 } | 18 GL_BUFFER_USAGE, |
| 19 }; |
| 20 |
| 21 static GLenum valid_buffer_target_table[] = { |
| 22 GL_ARRAY_BUFFER, |
| 23 GL_ELEMENT_ARRAY_BUFFER, |
| 24 }; |
| 25 |
| 26 static GLenum valid_buffer_usage_table[] = { |
| 27 GL_STREAM_DRAW, |
| 28 GL_STATIC_DRAW, |
| 29 GL_DYNAMIC_DRAW, |
| 30 }; |
| 31 |
| 32 static GLenum valid_capability_table[] = { |
| 33 GL_BLEND, |
| 34 GL_CULL_FACE, |
| 35 GL_DEPTH_TEST, |
| 36 GL_DITHER, |
| 37 GL_POLYGON_OFFSET_FILL, |
| 38 GL_SAMPLE_ALPHA_TO_COVERAGE, |
| 39 GL_SAMPLE_COVERAGE, |
| 40 GL_SCISSOR_TEST, |
| 41 GL_STENCIL_TEST, |
| 42 }; |
| 43 |
| 44 static GLenum valid_cmp_function_table[] = { |
| 45 GL_NEVER, |
| 46 GL_LESS, |
| 47 GL_EQUAL, |
| 48 GL_LEQUAL, |
| 49 GL_GREATER, |
| 50 GL_NOTEQUAL, |
| 51 GL_GEQUAL, |
| 52 GL_ALWAYS, |
| 53 }; |
| 54 |
| 55 static GLenum valid_compressed_texture_format_table[] = { |
| 56 GL_COMPRESSED_RGB_S3TC_DXT1_EXT, |
| 57 GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, |
| 58 }; |
| 59 |
| 60 static GLenum valid_draw_mode_table[] = { |
| 61 GL_POINTS, |
| 62 GL_LINE_STRIP, |
| 63 GL_LINE_LOOP, |
| 64 GL_LINES, |
| 65 GL_TRIANGLE_STRIP, |
| 66 GL_TRIANGLE_FAN, |
| 67 GL_TRIANGLES, |
| 68 }; |
| 69 |
| 70 static GLenum valid_dst_blend_factor_table[] = { |
| 71 GL_ZERO, |
| 72 GL_ONE, |
| 73 GL_SRC_COLOR, |
| 74 GL_ONE_MINUS_SRC_COLOR, |
| 75 GL_DST_COLOR, |
| 76 GL_ONE_MINUS_DST_COLOR, |
| 77 GL_SRC_ALPHA, |
| 78 GL_ONE_MINUS_SRC_ALPHA, |
| 79 GL_DST_ALPHA, |
| 80 GL_ONE_MINUS_DST_ALPHA, |
| 81 GL_CONSTANT_COLOR, |
| 82 GL_ONE_MINUS_CONSTANT_COLOR, |
| 83 GL_CONSTANT_ALPHA, |
| 84 GL_ONE_MINUS_CONSTANT_ALPHA, |
| 85 }; |
| 86 |
| 87 static GLenum valid_equation_table[] = { |
| 88 GL_FUNC_ADD, |
| 89 GL_FUNC_SUBTRACT, |
| 90 GL_FUNC_REVERSE_SUBTRACT, |
| 91 }; |
| 92 |
| 93 static GLenum valid_face_mode_table[] = { |
| 94 GL_CW, |
| 95 GL_CCW, |
| 96 }; |
| 97 |
| 98 static GLenum valid_face_type_table[] = { |
| 99 GL_FRONT, |
| 100 GL_BACK, |
| 101 GL_FRONT_AND_BACK, |
| 102 }; |
| 103 |
| 104 static GLboolean valid_false_only_table[] = { |
| 105 false, |
| 106 }; |
| 107 |
| 108 static GLenum valid_frame_buffer_parameter_table[] = { |
| 109 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, |
| 110 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, |
| 111 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, |
| 112 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, |
| 113 }; |
| 114 |
| 115 static GLenum valid_frame_buffer_target_table[] = { |
| 116 GL_FRAMEBUFFER, |
| 117 }; |
| 118 |
| 119 static GLenum valid_g_l_state_table[] = { |
| 120 GL_ACTIVE_TEXTURE, |
| 121 GL_ALIASED_LINE_WIDTH_RANGE, |
| 122 GL_ALIASED_POINT_SIZE_RANGE, |
| 123 GL_ALPHA_BITS, |
| 124 GL_ARRAY_BUFFER_BINDING, |
| 125 GL_BLEND, |
| 126 GL_BLEND_COLOR, |
| 127 GL_BLEND_DST_ALPHA, |
| 128 GL_BLEND_DST_RGB, |
| 129 GL_BLEND_EQUATION_ALPHA, |
| 130 GL_BLEND_EQUATION_RGB, |
| 131 GL_BLEND_SRC_ALPHA, |
| 132 GL_BLEND_SRC_RGB, |
| 133 GL_BLUE_BITS, |
| 134 GL_COLOR_CLEAR_VALUE, |
| 135 GL_COLOR_WRITEMASK, |
| 136 GL_COMPRESSED_TEXTURE_FORMATS, |
| 137 GL_CULL_FACE, |
| 138 GL_CULL_FACE_MODE, |
| 139 GL_CURRENT_PROGRAM, |
| 140 GL_DEPTH_BITS, |
| 141 GL_DEPTH_CLEAR_VALUE, |
| 142 GL_DEPTH_FUNC, |
| 143 GL_DEPTH_RANGE, |
| 144 GL_DEPTH_TEST, |
| 145 GL_DEPTH_WRITEMASK, |
| 146 GL_DITHER, |
| 147 GL_ELEMENT_ARRAY_BUFFER_BINDING, |
| 148 GL_FRAMEBUFFER_BINDING, |
| 149 GL_FRONT_FACE, |
| 150 GL_GENERATE_MIPMAP_HINT, |
| 151 GL_GREEN_BITS, |
| 152 GL_IMPLEMENTATION_COLOR_READ_FORMAT, |
| 153 GL_IMPLEMENTATION_COLOR_READ_TYPE, |
| 154 GL_LINE_WIDTH, |
| 155 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, |
| 156 GL_MAX_CUBE_MAP_TEXTURE_SIZE, |
| 157 GL_MAX_FRAGMENT_UNIFORM_VECTORS, |
| 158 GL_MAX_RENDERBUFFER_SIZE, |
| 159 GL_MAX_TEXTURE_IMAGE_UNITS, |
| 160 GL_MAX_TEXTURE_SIZE, |
| 161 GL_MAX_VARYING_VECTORS, |
| 162 GL_MAX_VERTEX_ATTRIBS, |
| 163 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, |
| 164 GL_MAX_VERTEX_UNIFORM_VECTORS, |
| 165 GL_MAX_VIEWPORT_DIMS, |
| 166 GL_NUM_COMPRESSED_TEXTURE_FORMATS, |
| 167 GL_NUM_SHADER_BINARY_FORMATS, |
| 168 GL_PACK_ALIGNMENT, |
| 169 GL_POLYGON_OFFSET_FACTOR, |
| 170 GL_POLYGON_OFFSET_FILL, |
| 171 GL_POLYGON_OFFSET_UNITS, |
| 172 GL_RED_BITS, |
| 173 GL_RENDERBUFFER_BINDING, |
| 174 GL_SAMPLE_BUFFERS, |
| 175 GL_SAMPLE_COVERAGE_INVERT, |
| 176 GL_SAMPLE_COVERAGE_VALUE, |
| 177 GL_SAMPLES, |
| 178 GL_SCISSOR_BOX, |
| 179 GL_SCISSOR_TEST, |
| 180 GL_SHADER_BINARY_FORMATS, |
| 181 GL_SHADER_COMPILER, |
| 182 GL_STENCIL_BACK_FAIL, |
| 183 GL_STENCIL_BACK_FUNC, |
| 184 GL_STENCIL_BACK_PASS_DEPTH_FAIL, |
| 185 GL_STENCIL_BACK_PASS_DEPTH_PASS, |
| 186 GL_STENCIL_BACK_REF, |
| 187 GL_STENCIL_BACK_VALUE_MASK, |
| 188 GL_STENCIL_BACK_WRITEMASK, |
| 189 GL_STENCIL_BITS, |
| 190 GL_STENCIL_CLEAR_VALUE, |
| 191 GL_STENCIL_FAIL, |
| 192 GL_STENCIL_FUNC, |
| 193 GL_STENCIL_PASS_DEPTH_FAIL, |
| 194 GL_STENCIL_PASS_DEPTH_PASS, |
| 195 GL_STENCIL_REF, |
| 196 GL_STENCIL_TEST, |
| 197 GL_STENCIL_VALUE_MASK, |
| 198 GL_STENCIL_WRITEMASK, |
| 199 GL_SUBPIXEL_BITS, |
| 200 GL_TEXTURE_BINDING_2D, |
| 201 GL_TEXTURE_BINDING_CUBE_MAP, |
| 202 GL_UNPACK_ALIGNMENT, |
| 203 GL_VIEWPORT, |
| 204 }; |
| 205 |
| 206 static GLenum valid_get_max_index_type_table[] = { |
| 207 GL_UNSIGNED_BYTE, |
| 208 GL_UNSIGNED_SHORT, |
| 209 GL_UNSIGNED_INT, |
| 210 }; |
| 211 |
| 212 static GLenum valid_hint_mode_table[] = { |
| 213 GL_FASTEST, |
| 214 GL_NICEST, |
| 215 GL_DONT_CARE, |
| 216 }; |
| 217 |
| 218 static GLenum valid_hint_target_table[] = { |
| 219 GL_GENERATE_MIPMAP_HINT, |
| 220 }; |
| 221 |
| 222 static GLenum valid_index_type_table[] = { |
| 223 GL_UNSIGNED_BYTE, |
| 224 GL_UNSIGNED_SHORT, |
| 225 }; |
| 226 |
| 227 static GLenum valid_pixel_store_table[] = { |
| 228 GL_PACK_ALIGNMENT, |
| 229 GL_UNPACK_ALIGNMENT, |
| 230 }; |
| 231 |
| 232 static GLint valid_pixel_store_alignment_table[] = { |
| 233 1, |
| 234 2, |
| 235 4, |
| 236 8, |
| 237 }; |
| 238 |
| 239 static GLenum valid_pixel_type_table[] = { |
| 240 GL_UNSIGNED_BYTE, |
| 241 GL_UNSIGNED_SHORT_5_6_5, |
| 242 GL_UNSIGNED_SHORT_4_4_4_4, |
| 243 GL_UNSIGNED_SHORT_5_5_5_1, |
| 244 }; |
| 245 |
| 246 static GLenum valid_program_parameter_table[] = { |
| 247 GL_DELETE_STATUS, |
| 248 GL_LINK_STATUS, |
| 249 GL_VALIDATE_STATUS, |
| 250 GL_INFO_LOG_LENGTH, |
| 251 GL_ATTACHED_SHADERS, |
| 252 GL_ACTIVE_ATTRIBUTES, |
| 253 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, |
| 254 GL_ACTIVE_UNIFORMS, |
| 255 GL_ACTIVE_UNIFORM_MAX_LENGTH, |
| 256 }; |
| 257 |
| 258 static GLenum valid_read_pixel_format_table[] = { |
| 259 GL_ALPHA, |
| 260 GL_RGB, |
| 261 GL_RGBA, |
| 262 }; |
| 263 |
| 264 static GLenum valid_render_buffer_format_table[] = { |
| 265 GL_RGBA4, |
| 266 GL_RGB565, |
| 267 GL_RGB5_A1, |
| 268 GL_DEPTH_COMPONENT16, |
| 269 GL_STENCIL_INDEX8, |
| 270 }; |
| 271 |
| 272 static GLenum valid_render_buffer_parameter_table[] = { |
| 273 GL_RENDERBUFFER_WIDTH, |
| 274 GL_RENDERBUFFER_HEIGHT, |
| 275 GL_RENDERBUFFER_INTERNAL_FORMAT, |
| 276 GL_RENDERBUFFER_RED_SIZE, |
| 277 GL_RENDERBUFFER_GREEN_SIZE, |
| 278 GL_RENDERBUFFER_BLUE_SIZE, |
| 279 GL_RENDERBUFFER_ALPHA_SIZE, |
| 280 GL_RENDERBUFFER_DEPTH_SIZE, |
| 281 GL_RENDERBUFFER_STENCIL_SIZE, |
| 282 }; |
| 283 |
| 284 static GLenum valid_render_buffer_target_table[] = { |
| 285 GL_RENDERBUFFER, |
| 286 }; |
| 287 |
| 288 static GLenum valid_shader_parameter_table[] = { |
| 289 GL_SHADER_TYPE, |
| 290 GL_DELETE_STATUS, |
| 291 GL_COMPILE_STATUS, |
| 292 GL_INFO_LOG_LENGTH, |
| 293 GL_SHADER_SOURCE_LENGTH, |
| 294 }; |
| 295 |
| 296 static GLenum valid_shader_precision_table[] = { |
| 297 GL_LOW_FLOAT, |
| 298 GL_MEDIUM_FLOAT, |
| 299 GL_HIGH_FLOAT, |
| 300 GL_LOW_INT, |
| 301 GL_MEDIUM_INT, |
| 302 GL_HIGH_INT, |
| 303 }; |
| 304 |
| 305 static GLenum valid_shader_type_table[] = { |
| 306 GL_VERTEX_SHADER, |
| 307 GL_FRAGMENT_SHADER, |
| 308 }; |
| 309 |
| 310 static GLenum valid_src_blend_factor_table[] = { |
| 311 GL_ZERO, |
| 312 GL_ONE, |
| 313 GL_SRC_COLOR, |
| 314 GL_ONE_MINUS_SRC_COLOR, |
| 315 GL_DST_COLOR, |
| 316 GL_ONE_MINUS_DST_COLOR, |
| 317 GL_SRC_ALPHA, |
| 318 GL_ONE_MINUS_SRC_ALPHA, |
| 319 GL_DST_ALPHA, |
| 320 GL_ONE_MINUS_DST_ALPHA, |
| 321 GL_CONSTANT_COLOR, |
| 322 GL_ONE_MINUS_CONSTANT_COLOR, |
| 323 GL_CONSTANT_ALPHA, |
| 324 GL_ONE_MINUS_CONSTANT_ALPHA, |
| 325 GL_SRC_ALPHA_SATURATE, |
| 326 }; |
| 327 |
| 328 static GLenum valid_stencil_op_table[] = { |
| 329 GL_KEEP, |
| 330 GL_ZERO, |
| 331 GL_REPLACE, |
| 332 GL_INCR, |
| 333 GL_INCR_WRAP, |
| 334 GL_DECR, |
| 335 GL_DECR_WRAP, |
| 336 GL_INVERT, |
| 337 }; |
| 338 |
| 339 static GLenum valid_string_type_table[] = { |
| 340 GL_VENDOR, |
| 341 GL_RENDERER, |
| 342 GL_VERSION, |
| 343 GL_SHADING_LANGUAGE_VERSION, |
| 344 GL_EXTENSIONS, |
| 345 }; |
| 346 |
| 347 static GLenum valid_texture_bind_target_table[] = { |
| 348 GL_TEXTURE_2D, |
| 349 GL_TEXTURE_CUBE_MAP, |
| 350 }; |
| 351 |
| 352 static GLint valid_texture_border_table[] = { |
| 353 0, |
| 354 }; |
| 355 |
| 356 static GLenum valid_texture_format_table[] = { |
| 357 GL_ALPHA, |
| 358 GL_LUMINANCE, |
| 359 GL_LUMINANCE_ALPHA, |
| 360 GL_RGB, |
| 361 GL_RGBA, |
| 362 }; |
| 363 |
| 364 static GLenum valid_texture_parameter_table[] = { |
| 365 GL_TEXTURE_MAG_FILTER, |
| 366 GL_TEXTURE_MIN_FILTER, |
| 367 GL_TEXTURE_WRAP_S, |
| 368 GL_TEXTURE_WRAP_T, |
| 369 }; |
| 370 |
| 371 static GLenum valid_texture_target_table[] = { |
| 372 GL_TEXTURE_2D, |
| 373 GL_TEXTURE_CUBE_MAP_POSITIVE_X, |
| 374 GL_TEXTURE_CUBE_MAP_NEGATIVE_X, |
| 375 GL_TEXTURE_CUBE_MAP_POSITIVE_Y, |
| 376 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, |
| 377 GL_TEXTURE_CUBE_MAP_POSITIVE_Z, |
| 378 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
| 379 }; |
| 380 |
| 381 static GLint valid_vertex_attrib_size_table[] = { |
| 382 1, |
| 383 2, |
| 384 3, |
| 385 4, |
| 386 }; |
| 387 |
| 388 static GLenum valid_vertex_attrib_type_table[] = { |
| 389 GL_BYTE, |
| 390 GL_UNSIGNED_BYTE, |
| 391 GL_SHORT, |
| 392 GL_UNSIGNED_SHORT, |
| 393 GL_FLOAT, |
| 394 }; |
| 395 |
| 396 static GLenum valid_vertex_attribute_table[] = { |
| 397 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, |
| 398 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, |
| 399 GL_VERTEX_ATTRIB_ARRAY_ENABLED, |
| 400 GL_VERTEX_ATTRIB_ARRAY_SIZE, |
| 401 GL_VERTEX_ATTRIB_ARRAY_STRIDE, |
| 402 GL_VERTEX_ATTRIB_ARRAY_TYPE, |
| 403 GL_CURRENT_VERTEX_ATTRIB, |
| 404 }; |
| 405 |
| 406 static GLenum valid_vertex_pointer_table[] = { |
| 407 GL_VERTEX_ATTRIB_ARRAY_POINTER, |
| 408 }; |
| 409 |
| 410 Validators::Validators() |
| 411 : attachment( |
| 412 valid_attachment_table, arraysize(valid_attachment_table)), |
| 413 buffer_parameter( |
| 414 valid_buffer_parameter_table, arraysize(valid_buffer_parameter_table)), |
| 415 buffer_target( |
| 416 valid_buffer_target_table, arraysize(valid_buffer_target_table)), |
| 417 buffer_usage( |
| 418 valid_buffer_usage_table, arraysize(valid_buffer_usage_table)), |
| 419 capability( |
| 420 valid_capability_table, arraysize(valid_capability_table)), |
| 421 cmp_function( |
| 422 valid_cmp_function_table, arraysize(valid_cmp_function_table)), |
| 423 compressed_texture_format( |
| 424 valid_compressed_texture_format_table, arraysize( |
| 425 valid_compressed_texture_format_table)), |
| 426 draw_mode( |
| 427 valid_draw_mode_table, arraysize(valid_draw_mode_table)), |
| 428 dst_blend_factor( |
| 429 valid_dst_blend_factor_table, arraysize(valid_dst_blend_factor_table)), |
| 430 equation( |
| 431 valid_equation_table, arraysize(valid_equation_table)), |
| 432 face_mode( |
| 433 valid_face_mode_table, arraysize(valid_face_mode_table)), |
| 434 face_type( |
| 435 valid_face_type_table, arraysize(valid_face_type_table)), |
| 436 false_only( |
| 437 valid_false_only_table, arraysize(valid_false_only_table)), |
| 438 frame_buffer_parameter( |
| 439 valid_frame_buffer_parameter_table, arraysize( |
| 440 valid_frame_buffer_parameter_table)), |
| 441 frame_buffer_target( |
| 442 valid_frame_buffer_target_table, arraysize( |
| 443 valid_frame_buffer_target_table)), |
| 444 g_l_state( |
| 445 valid_g_l_state_table, arraysize(valid_g_l_state_table)), |
| 446 get_max_index_type( |
| 447 valid_get_max_index_type_table, arraysize( |
| 448 valid_get_max_index_type_table)), |
| 449 hint_mode( |
| 450 valid_hint_mode_table, arraysize(valid_hint_mode_table)), |
| 451 hint_target( |
| 452 valid_hint_target_table, arraysize(valid_hint_target_table)), |
| 453 index_type( |
| 454 valid_index_type_table, arraysize(valid_index_type_table)), |
| 455 pixel_store( |
| 456 valid_pixel_store_table, arraysize(valid_pixel_store_table)), |
| 457 pixel_store_alignment( |
| 458 valid_pixel_store_alignment_table, arraysize( |
| 459 valid_pixel_store_alignment_table)), |
| 460 pixel_type( |
| 461 valid_pixel_type_table, arraysize(valid_pixel_type_table)), |
| 462 program_parameter( |
| 463 valid_program_parameter_table, arraysize( |
| 464 valid_program_parameter_table)), |
| 465 read_pixel_format( |
| 466 valid_read_pixel_format_table, arraysize( |
| 467 valid_read_pixel_format_table)), |
| 468 render_buffer_format( |
| 469 valid_render_buffer_format_table, arraysize( |
| 470 valid_render_buffer_format_table)), |
| 471 render_buffer_parameter( |
| 472 valid_render_buffer_parameter_table, arraysize( |
| 473 valid_render_buffer_parameter_table)), |
| 474 render_buffer_target( |
| 475 valid_render_buffer_target_table, arraysize( |
| 476 valid_render_buffer_target_table)), |
| 477 shader_parameter( |
| 478 valid_shader_parameter_table, arraysize(valid_shader_parameter_table)), |
| 479 shader_precision( |
| 480 valid_shader_precision_table, arraysize(valid_shader_precision_table)), |
| 481 shader_type( |
| 482 valid_shader_type_table, arraysize(valid_shader_type_table)), |
| 483 src_blend_factor( |
| 484 valid_src_blend_factor_table, arraysize(valid_src_blend_factor_table)), |
| 485 stencil_op( |
| 486 valid_stencil_op_table, arraysize(valid_stencil_op_table)), |
| 487 string_type( |
| 488 valid_string_type_table, arraysize(valid_string_type_table)), |
| 489 texture_bind_target( |
| 490 valid_texture_bind_target_table, arraysize( |
| 491 valid_texture_bind_target_table)), |
| 492 texture_border( |
| 493 valid_texture_border_table, arraysize(valid_texture_border_table)), |
| 494 texture_format( |
| 495 valid_texture_format_table, arraysize(valid_texture_format_table)), |
| 496 texture_parameter( |
| 497 valid_texture_parameter_table, arraysize( |
| 498 valid_texture_parameter_table)), |
| 499 texture_target( |
| 500 valid_texture_target_table, arraysize(valid_texture_target_table)), |
| 501 vertex_attrib_size( |
| 502 valid_vertex_attrib_size_table, arraysize( |
| 503 valid_vertex_attrib_size_table)), |
| 504 vertex_attrib_type( |
| 505 valid_vertex_attrib_type_table, arraysize( |
| 506 valid_vertex_attrib_type_table)), |
| 507 vertex_attribute( |
| 508 valid_vertex_attribute_table, arraysize(valid_vertex_attribute_table)), |
| 509 vertex_pointer( |
| 510 valid_vertex_pointer_table, arraysize(valid_vertex_pointer_table)) { |
19 } | 511 } |
20 | |
21 bool ValidateGLenumBufferParameter(GLenum value) { | |
22 switch (value) { | |
23 case GL_BUFFER_SIZE: | |
24 case GL_BUFFER_USAGE: | |
25 return true; | |
26 default: | |
27 return false; | |
28 } | |
29 } | |
30 | |
31 bool ValidateGLenumBufferTarget(GLenum value) { | |
32 switch (value) { | |
33 case GL_ARRAY_BUFFER: | |
34 case GL_ELEMENT_ARRAY_BUFFER: | |
35 return true; | |
36 default: | |
37 return false; | |
38 } | |
39 } | |
40 | |
41 bool ValidateGLenumBufferUsage(GLenum value) { | |
42 switch (value) { | |
43 case GL_STREAM_DRAW: | |
44 case GL_STATIC_DRAW: | |
45 case GL_DYNAMIC_DRAW: | |
46 return true; | |
47 default: | |
48 return false; | |
49 } | |
50 } | |
51 | |
52 bool ValidateGLenumCapability(GLenum value) { | |
53 switch (value) { | |
54 case GL_BLEND: | |
55 case GL_CULL_FACE: | |
56 case GL_DEPTH_TEST: | |
57 case GL_DITHER: | |
58 case GL_POLYGON_OFFSET_FILL: | |
59 case GL_SAMPLE_ALPHA_TO_COVERAGE: | |
60 case GL_SAMPLE_COVERAGE: | |
61 case GL_SCISSOR_TEST: | |
62 case GL_STENCIL_TEST: | |
63 return true; | |
64 default: | |
65 return false; | |
66 } | |
67 } | |
68 | |
69 bool ValidateGLenumCmpFunction(GLenum value) { | |
70 switch (value) { | |
71 case GL_NEVER: | |
72 case GL_LESS: | |
73 case GL_EQUAL: | |
74 case GL_LEQUAL: | |
75 case GL_GREATER: | |
76 case GL_NOTEQUAL: | |
77 case GL_GEQUAL: | |
78 case GL_ALWAYS: | |
79 return true; | |
80 default: | |
81 return false; | |
82 } | |
83 } | |
84 | |
85 bool ValidateGLenumCompressedTextureFormat(GLenum value) { | |
86 switch (value) { | |
87 case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: | |
88 case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: | |
89 return true; | |
90 default: | |
91 return false; | |
92 } | |
93 } | |
94 | |
95 bool ValidateGLenumDrawMode(GLenum value) { | |
96 switch (value) { | |
97 case GL_POINTS: | |
98 case GL_LINE_STRIP: | |
99 case GL_LINE_LOOP: | |
100 case GL_LINES: | |
101 case GL_TRIANGLE_STRIP: | |
102 case GL_TRIANGLE_FAN: | |
103 case GL_TRIANGLES: | |
104 return true; | |
105 default: | |
106 return false; | |
107 } | |
108 } | |
109 | |
110 bool ValidateGLenumDstBlendFactor(GLenum value) { | |
111 switch (value) { | |
112 case GL_ZERO: | |
113 case GL_ONE: | |
114 case GL_SRC_COLOR: | |
115 case GL_ONE_MINUS_SRC_COLOR: | |
116 case GL_DST_COLOR: | |
117 case GL_ONE_MINUS_DST_COLOR: | |
118 case GL_SRC_ALPHA: | |
119 case GL_ONE_MINUS_SRC_ALPHA: | |
120 case GL_DST_ALPHA: | |
121 case GL_ONE_MINUS_DST_ALPHA: | |
122 case GL_CONSTANT_COLOR: | |
123 case GL_ONE_MINUS_CONSTANT_COLOR: | |
124 case GL_CONSTANT_ALPHA: | |
125 case GL_ONE_MINUS_CONSTANT_ALPHA: | |
126 return true; | |
127 default: | |
128 return false; | |
129 } | |
130 } | |
131 | |
132 bool ValidateGLenumEquation(GLenum value) { | |
133 switch (value) { | |
134 case GL_FUNC_ADD: | |
135 case GL_FUNC_SUBTRACT: | |
136 case GL_FUNC_REVERSE_SUBTRACT: | |
137 return true; | |
138 default: | |
139 return false; | |
140 } | |
141 } | |
142 | |
143 bool ValidateGLenumFaceMode(GLenum value) { | |
144 switch (value) { | |
145 case GL_CW: | |
146 case GL_CCW: | |
147 return true; | |
148 default: | |
149 return false; | |
150 } | |
151 } | |
152 | |
153 bool ValidateGLenumFaceType(GLenum value) { | |
154 switch (value) { | |
155 case GL_FRONT: | |
156 case GL_BACK: | |
157 case GL_FRONT_AND_BACK: | |
158 return true; | |
159 default: | |
160 return false; | |
161 } | |
162 } | |
163 | |
164 bool ValidateGLbooleanFalse(GLenum value) { | |
165 switch (value) { | |
166 case false: | |
167 return true; | |
168 default: | |
169 return false; | |
170 } | |
171 } | |
172 | |
173 bool ValidateGLenumFrameBufferParameter(GLenum value) { | |
174 switch (value) { | |
175 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: | |
176 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: | |
177 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: | |
178 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: | |
179 return true; | |
180 default: | |
181 return false; | |
182 } | |
183 } | |
184 | |
185 bool ValidateGLenumFrameBufferTarget(GLenum value) { | |
186 switch (value) { | |
187 case GL_FRAMEBUFFER: | |
188 return true; | |
189 default: | |
190 return false; | |
191 } | |
192 } | |
193 | |
194 bool ValidateGLenumGLState(GLenum value) { | |
195 switch (value) { | |
196 case GL_ACTIVE_TEXTURE: | |
197 case GL_ALIASED_LINE_WIDTH_RANGE: | |
198 case GL_ALIASED_POINT_SIZE_RANGE: | |
199 case GL_ALPHA_BITS: | |
200 case GL_ARRAY_BUFFER_BINDING: | |
201 case GL_BLEND: | |
202 case GL_BLEND_COLOR: | |
203 case GL_BLEND_DST_ALPHA: | |
204 case GL_BLEND_DST_RGB: | |
205 case GL_BLEND_EQUATION_ALPHA: | |
206 case GL_BLEND_EQUATION_RGB: | |
207 case GL_BLEND_SRC_ALPHA: | |
208 case GL_BLEND_SRC_RGB: | |
209 case GL_BLUE_BITS: | |
210 case GL_COLOR_CLEAR_VALUE: | |
211 case GL_COLOR_WRITEMASK: | |
212 case GL_COMPRESSED_TEXTURE_FORMATS: | |
213 case GL_CULL_FACE: | |
214 case GL_CULL_FACE_MODE: | |
215 case GL_CURRENT_PROGRAM: | |
216 case GL_DEPTH_BITS: | |
217 case GL_DEPTH_CLEAR_VALUE: | |
218 case GL_DEPTH_FUNC: | |
219 case GL_DEPTH_RANGE: | |
220 case GL_DEPTH_TEST: | |
221 case GL_DEPTH_WRITEMASK: | |
222 case GL_DITHER: | |
223 case GL_ELEMENT_ARRAY_BUFFER_BINDING: | |
224 case GL_FRAMEBUFFER_BINDING: | |
225 case GL_FRONT_FACE: | |
226 case GL_GENERATE_MIPMAP_HINT: | |
227 case GL_GREEN_BITS: | |
228 case GL_IMPLEMENTATION_COLOR_READ_FORMAT: | |
229 case GL_IMPLEMENTATION_COLOR_READ_TYPE: | |
230 case GL_LINE_WIDTH: | |
231 case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: | |
232 case GL_MAX_CUBE_MAP_TEXTURE_SIZE: | |
233 case GL_MAX_FRAGMENT_UNIFORM_VECTORS: | |
234 case GL_MAX_RENDERBUFFER_SIZE: | |
235 case GL_MAX_TEXTURE_IMAGE_UNITS: | |
236 case GL_MAX_TEXTURE_SIZE: | |
237 case GL_MAX_VARYING_VECTORS: | |
238 case GL_MAX_VERTEX_ATTRIBS: | |
239 case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: | |
240 case GL_MAX_VERTEX_UNIFORM_VECTORS: | |
241 case GL_MAX_VIEWPORT_DIMS: | |
242 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: | |
243 case GL_NUM_SHADER_BINARY_FORMATS: | |
244 case GL_PACK_ALIGNMENT: | |
245 case GL_POLYGON_OFFSET_FACTOR: | |
246 case GL_POLYGON_OFFSET_FILL: | |
247 case GL_POLYGON_OFFSET_UNITS: | |
248 case GL_RED_BITS: | |
249 case GL_RENDERBUFFER_BINDING: | |
250 case GL_SAMPLE_BUFFERS: | |
251 case GL_SAMPLE_COVERAGE_INVERT: | |
252 case GL_SAMPLE_COVERAGE_VALUE: | |
253 case GL_SAMPLES: | |
254 case GL_SCISSOR_BOX: | |
255 case GL_SCISSOR_TEST: | |
256 case GL_SHADER_BINARY_FORMATS: | |
257 case GL_SHADER_COMPILER: | |
258 case GL_STENCIL_BACK_FAIL: | |
259 case GL_STENCIL_BACK_FUNC: | |
260 case GL_STENCIL_BACK_PASS_DEPTH_FAIL: | |
261 case GL_STENCIL_BACK_PASS_DEPTH_PASS: | |
262 case GL_STENCIL_BACK_REF: | |
263 case GL_STENCIL_BACK_VALUE_MASK: | |
264 case GL_STENCIL_BACK_WRITEMASK: | |
265 case GL_STENCIL_BITS: | |
266 case GL_STENCIL_CLEAR_VALUE: | |
267 case GL_STENCIL_FAIL: | |
268 case GL_STENCIL_FUNC: | |
269 case GL_STENCIL_PASS_DEPTH_FAIL: | |
270 case GL_STENCIL_PASS_DEPTH_PASS: | |
271 case GL_STENCIL_REF: | |
272 case GL_STENCIL_TEST: | |
273 case GL_STENCIL_VALUE_MASK: | |
274 case GL_STENCIL_WRITEMASK: | |
275 case GL_SUBPIXEL_BITS: | |
276 case GL_TEXTURE_BINDING_2D: | |
277 case GL_TEXTURE_BINDING_CUBE_MAP: | |
278 case GL_UNPACK_ALIGNMENT: | |
279 case GL_VIEWPORT: | |
280 return true; | |
281 default: | |
282 return false; | |
283 } | |
284 } | |
285 | |
286 bool ValidateGLenumGetMaxIndexType(GLenum value) { | |
287 switch (value) { | |
288 case GL_UNSIGNED_BYTE: | |
289 case GL_UNSIGNED_SHORT: | |
290 case GL_UNSIGNED_INT: | |
291 return true; | |
292 default: | |
293 return false; | |
294 } | |
295 } | |
296 | |
297 bool ValidateGLenumHintMode(GLenum value) { | |
298 switch (value) { | |
299 case GL_FASTEST: | |
300 case GL_NICEST: | |
301 case GL_DONT_CARE: | |
302 return true; | |
303 default: | |
304 return false; | |
305 } | |
306 } | |
307 | |
308 bool ValidateGLenumHintTarget(GLenum value) { | |
309 switch (value) { | |
310 case GL_GENERATE_MIPMAP_HINT: | |
311 return true; | |
312 default: | |
313 return false; | |
314 } | |
315 } | |
316 | |
317 bool ValidateGLenumIndexType(GLenum value) { | |
318 switch (value) { | |
319 case GL_UNSIGNED_BYTE: | |
320 case GL_UNSIGNED_SHORT: | |
321 return true; | |
322 default: | |
323 return false; | |
324 } | |
325 } | |
326 | |
327 bool ValidateGLenumPixelStore(GLenum value) { | |
328 switch (value) { | |
329 case GL_PACK_ALIGNMENT: | |
330 case GL_UNPACK_ALIGNMENT: | |
331 return true; | |
332 default: | |
333 return false; | |
334 } | |
335 } | |
336 | |
337 bool ValidateGLintPixelStoreAlignment(GLenum value) { | |
338 switch (value) { | |
339 case 1: | |
340 case 2: | |
341 case 4: | |
342 case 8: | |
343 return true; | |
344 default: | |
345 return false; | |
346 } | |
347 } | |
348 | |
349 bool ValidateGLenumPixelType(GLenum value) { | |
350 switch (value) { | |
351 case GL_UNSIGNED_BYTE: | |
352 case GL_UNSIGNED_SHORT_5_6_5: | |
353 case GL_UNSIGNED_SHORT_4_4_4_4: | |
354 case GL_UNSIGNED_SHORT_5_5_5_1: | |
355 return true; | |
356 default: | |
357 return false; | |
358 } | |
359 } | |
360 | |
361 bool ValidateGLenumProgramParameter(GLenum value) { | |
362 switch (value) { | |
363 case GL_DELETE_STATUS: | |
364 case GL_LINK_STATUS: | |
365 case GL_VALIDATE_STATUS: | |
366 case GL_INFO_LOG_LENGTH: | |
367 case GL_ATTACHED_SHADERS: | |
368 case GL_ACTIVE_ATTRIBUTES: | |
369 case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: | |
370 case GL_ACTIVE_UNIFORMS: | |
371 case GL_ACTIVE_UNIFORM_MAX_LENGTH: | |
372 return true; | |
373 default: | |
374 return false; | |
375 } | |
376 } | |
377 | |
378 bool ValidateGLenumReadPixelFormat(GLenum value) { | |
379 switch (value) { | |
380 case GL_ALPHA: | |
381 case GL_RGB: | |
382 case GL_RGBA: | |
383 return true; | |
384 default: | |
385 return false; | |
386 } | |
387 } | |
388 | |
389 bool ValidateGLenumRenderBufferFormat(GLenum value) { | |
390 switch (value) { | |
391 case GL_RGBA4: | |
392 case GL_RGB565: | |
393 case GL_RGB5_A1: | |
394 case GL_DEPTH_COMPONENT16: | |
395 case GL_STENCIL_INDEX8: | |
396 return true; | |
397 default: | |
398 return false; | |
399 } | |
400 } | |
401 | |
402 bool ValidateGLenumRenderBufferParameter(GLenum value) { | |
403 switch (value) { | |
404 case GL_RENDERBUFFER_WIDTH: | |
405 case GL_RENDERBUFFER_HEIGHT: | |
406 case GL_RENDERBUFFER_INTERNAL_FORMAT: | |
407 case GL_RENDERBUFFER_RED_SIZE: | |
408 case GL_RENDERBUFFER_GREEN_SIZE: | |
409 case GL_RENDERBUFFER_BLUE_SIZE: | |
410 case GL_RENDERBUFFER_ALPHA_SIZE: | |
411 case GL_RENDERBUFFER_DEPTH_SIZE: | |
412 case GL_RENDERBUFFER_STENCIL_SIZE: | |
413 return true; | |
414 default: | |
415 return false; | |
416 } | |
417 } | |
418 | |
419 bool ValidateGLenumRenderBufferTarget(GLenum value) { | |
420 switch (value) { | |
421 case GL_RENDERBUFFER: | |
422 return true; | |
423 default: | |
424 return false; | |
425 } | |
426 } | |
427 | |
428 bool ValidateGLenumShaderParameter(GLenum value) { | |
429 switch (value) { | |
430 case GL_SHADER_TYPE: | |
431 case GL_DELETE_STATUS: | |
432 case GL_COMPILE_STATUS: | |
433 case GL_INFO_LOG_LENGTH: | |
434 case GL_SHADER_SOURCE_LENGTH: | |
435 return true; | |
436 default: | |
437 return false; | |
438 } | |
439 } | |
440 | |
441 bool ValidateGLenumShaderPrecision(GLenum value) { | |
442 switch (value) { | |
443 case GL_LOW_FLOAT: | |
444 case GL_MEDIUM_FLOAT: | |
445 case GL_HIGH_FLOAT: | |
446 case GL_LOW_INT: | |
447 case GL_MEDIUM_INT: | |
448 case GL_HIGH_INT: | |
449 return true; | |
450 default: | |
451 return false; | |
452 } | |
453 } | |
454 | |
455 bool ValidateGLenumShaderType(GLenum value) { | |
456 switch (value) { | |
457 case GL_VERTEX_SHADER: | |
458 case GL_FRAGMENT_SHADER: | |
459 return true; | |
460 default: | |
461 return false; | |
462 } | |
463 } | |
464 | |
465 bool ValidateGLenumSrcBlendFactor(GLenum value) { | |
466 switch (value) { | |
467 case GL_ZERO: | |
468 case GL_ONE: | |
469 case GL_SRC_COLOR: | |
470 case GL_ONE_MINUS_SRC_COLOR: | |
471 case GL_DST_COLOR: | |
472 case GL_ONE_MINUS_DST_COLOR: | |
473 case GL_SRC_ALPHA: | |
474 case GL_ONE_MINUS_SRC_ALPHA: | |
475 case GL_DST_ALPHA: | |
476 case GL_ONE_MINUS_DST_ALPHA: | |
477 case GL_CONSTANT_COLOR: | |
478 case GL_ONE_MINUS_CONSTANT_COLOR: | |
479 case GL_CONSTANT_ALPHA: | |
480 case GL_ONE_MINUS_CONSTANT_ALPHA: | |
481 case GL_SRC_ALPHA_SATURATE: | |
482 return true; | |
483 default: | |
484 return false; | |
485 } | |
486 } | |
487 | |
488 bool ValidateGLenumStencilOp(GLenum value) { | |
489 switch (value) { | |
490 case GL_KEEP: | |
491 case GL_ZERO: | |
492 case GL_REPLACE: | |
493 case GL_INCR: | |
494 case GL_INCR_WRAP: | |
495 case GL_DECR: | |
496 case GL_DECR_WRAP: | |
497 case GL_INVERT: | |
498 return true; | |
499 default: | |
500 return false; | |
501 } | |
502 } | |
503 | |
504 bool ValidateGLenumStringType(GLenum value) { | |
505 switch (value) { | |
506 case GL_VENDOR: | |
507 case GL_RENDERER: | |
508 case GL_VERSION: | |
509 case GL_SHADING_LANGUAGE_VERSION: | |
510 case GL_EXTENSIONS: | |
511 return true; | |
512 default: | |
513 return false; | |
514 } | |
515 } | |
516 | |
517 bool ValidateGLenumTextureBindTarget(GLenum value) { | |
518 switch (value) { | |
519 case GL_TEXTURE_2D: | |
520 case GL_TEXTURE_CUBE_MAP: | |
521 return true; | |
522 default: | |
523 return false; | |
524 } | |
525 } | |
526 | |
527 bool ValidateGLintTextureBorder(GLenum value) { | |
528 switch (value) { | |
529 case 0: | |
530 return true; | |
531 default: | |
532 return false; | |
533 } | |
534 } | |
535 | |
536 bool ValidateGLenumTextureFormat(GLenum value) { | |
537 switch (value) { | |
538 case GL_ALPHA: | |
539 case GL_LUMINANCE: | |
540 case GL_LUMINANCE_ALPHA: | |
541 case GL_RGB: | |
542 case GL_RGBA: | |
543 return true; | |
544 default: | |
545 return false; | |
546 } | |
547 } | |
548 | |
549 bool ValidateGLenumTextureParameter(GLenum value) { | |
550 switch (value) { | |
551 case GL_TEXTURE_MAG_FILTER: | |
552 case GL_TEXTURE_MIN_FILTER: | |
553 case GL_TEXTURE_WRAP_S: | |
554 case GL_TEXTURE_WRAP_T: | |
555 return true; | |
556 default: | |
557 return false; | |
558 } | |
559 } | |
560 | |
561 bool ValidateGLenumTextureTarget(GLenum value) { | |
562 switch (value) { | |
563 case GL_TEXTURE_2D: | |
564 case GL_TEXTURE_CUBE_MAP_POSITIVE_X: | |
565 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: | |
566 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: | |
567 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: | |
568 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: | |
569 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: | |
570 return true; | |
571 default: | |
572 return false; | |
573 } | |
574 } | |
575 | |
576 bool ValidateGLintVertexAttribSize(GLenum value) { | |
577 switch (value) { | |
578 case 1: | |
579 case 2: | |
580 case 3: | |
581 case 4: | |
582 return true; | |
583 default: | |
584 return false; | |
585 } | |
586 } | |
587 | |
588 bool ValidateGLenumVertexAttribType(GLenum value) { | |
589 switch (value) { | |
590 case GL_BYTE: | |
591 case GL_UNSIGNED_BYTE: | |
592 case GL_SHORT: | |
593 case GL_UNSIGNED_SHORT: | |
594 case GL_FLOAT: | |
595 return true; | |
596 default: | |
597 return false; | |
598 } | |
599 } | |
600 | |
601 bool ValidateGLenumVertexAttribute(GLenum value) { | |
602 switch (value) { | |
603 case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: | |
604 case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: | |
605 case GL_VERTEX_ATTRIB_ARRAY_ENABLED: | |
606 case GL_VERTEX_ATTRIB_ARRAY_SIZE: | |
607 case GL_VERTEX_ATTRIB_ARRAY_STRIDE: | |
608 case GL_VERTEX_ATTRIB_ARRAY_TYPE: | |
609 case GL_CURRENT_VERTEX_ATTRIB: | |
610 return true; | |
611 default: | |
612 return false; | |
613 } | |
614 } | |
615 | |
616 bool ValidateGLenumVertexPointer(GLenum value) { | |
617 switch (value) { | |
618 case GL_VERTEX_ATTRIB_ARRAY_POINTER: | |
619 return true; | |
620 default: | |
621 return false; | |
622 } | |
623 } | |
624 | |
625 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGE
N_H_ // NOLINT | 512 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGE
N_H_ // NOLINT |
626 | 513 |
OLD | NEW |