| 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 |