1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by generate_entry_points.py using data from gl.xml and gl_angle_ext.xml. 3 // 4 // Copyright 2020 The ANGLE Project Authors. All rights reserved. 5 // Use of this source code is governed by a BSD-style license that can be 6 // found in the LICENSE file. 7 // 8 // validationESEXT_autogen.h: 9 // Validation functions for the OpenGL ES extension entry points. 10 11 #ifndef LIBANGLE_VALIDATION_ESEXT_AUTOGEN_H_ 12 #define LIBANGLE_VALIDATION_ESEXT_AUTOGEN_H_ 13 14 #include "common/PackedEnums.h" 15 #include "common/entry_points_enum_autogen.h" 16 17 namespace gl 18 { 19 class Context; 20 class PrivateState; 21 class ErrorSet; 22 23 // GL_AMD_performance_monitor 24 bool ValidateBeginPerfMonitorAMD(const Context *context, 25 angle::EntryPoint entryPoint, 26 GLuint monitor); 27 bool ValidateDeletePerfMonitorsAMD(const Context *context, 28 angle::EntryPoint entryPoint, 29 GLsizei n, 30 const GLuint *monitors); 31 bool ValidateEndPerfMonitorAMD(const Context *context, 32 angle::EntryPoint entryPoint, 33 GLuint monitor); 34 bool ValidateGenPerfMonitorsAMD(const Context *context, 35 angle::EntryPoint entryPoint, 36 GLsizei n, 37 const GLuint *monitors); 38 bool ValidateGetPerfMonitorCounterDataAMD(const Context *context, 39 angle::EntryPoint entryPoint, 40 GLuint monitor, 41 GLenum pname, 42 GLsizei dataSize, 43 const GLuint *data, 44 const GLint *bytesWritten); 45 bool ValidateGetPerfMonitorCounterInfoAMD(const Context *context, 46 angle::EntryPoint entryPoint, 47 GLuint group, 48 GLuint counter, 49 GLenum pname, 50 const void *data); 51 bool ValidateGetPerfMonitorCounterStringAMD(const Context *context, 52 angle::EntryPoint entryPoint, 53 GLuint group, 54 GLuint counter, 55 GLsizei bufSize, 56 const GLsizei *length, 57 const GLchar *counterString); 58 bool ValidateGetPerfMonitorCountersAMD(const Context *context, 59 angle::EntryPoint entryPoint, 60 GLuint group, 61 const GLint *numCounters, 62 const GLint *maxActiveCounters, 63 GLsizei counterSize, 64 const GLuint *counters); 65 bool ValidateGetPerfMonitorGroupStringAMD(const Context *context, 66 angle::EntryPoint entryPoint, 67 GLuint group, 68 GLsizei bufSize, 69 const GLsizei *length, 70 const GLchar *groupString); 71 bool ValidateGetPerfMonitorGroupsAMD(const Context *context, 72 angle::EntryPoint entryPoint, 73 const GLint *numGroups, 74 GLsizei groupsSize, 75 const GLuint *groups); 76 bool ValidateSelectPerfMonitorCountersAMD(const Context *context, 77 angle::EntryPoint entryPoint, 78 GLuint monitor, 79 GLboolean enable, 80 GLuint group, 81 GLint numCounters, 82 const GLuint *counterList); 83 84 // GL_ANDROID_extension_pack_es31a 85 86 // GL_ANGLE_base_vertex_base_instance 87 bool ValidateDrawArraysInstancedBaseInstanceANGLE(const Context *context, 88 angle::EntryPoint entryPoint, 89 PrimitiveMode modePacked, 90 GLint first, 91 GLsizei count, 92 GLsizei instanceCount, 93 GLuint baseInstance); 94 bool ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context, 95 angle::EntryPoint entryPoint, 96 PrimitiveMode modePacked, 97 GLsizei count, 98 DrawElementsType typePacked, 99 const void *indices, 100 GLsizei instanceCount, 101 GLint baseVertex, 102 GLuint baseInstance); 103 bool ValidateMultiDrawArraysInstancedBaseInstanceANGLE(const Context *context, 104 angle::EntryPoint entryPoint, 105 PrimitiveMode modePacked, 106 const GLint *firsts, 107 const GLsizei *counts, 108 const GLsizei *instanceCounts, 109 const GLuint *baseInstances, 110 GLsizei drawcount); 111 bool ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context, 112 angle::EntryPoint entryPoint, 113 PrimitiveMode modePacked, 114 const GLsizei *counts, 115 DrawElementsType typePacked, 116 const void *const *indices, 117 const GLsizei *instanceCounts, 118 const GLint *baseVertices, 119 const GLuint *baseInstances, 120 GLsizei drawcount); 121 122 // GL_ANGLE_blob_cache 123 bool ValidateBlobCacheCallbacksANGLE(const Context *context, 124 angle::EntryPoint entryPoint, 125 GLSETBLOBPROCANGLE set, 126 GLGETBLOBPROCANGLE get, 127 const void *userParam); 128 bool ValidateGetPointervANGLE(const Context *context, 129 angle::EntryPoint entryPoint, 130 GLenum pname, 131 void *const *params); 132 133 // GL_ANGLE_client_arrays 134 135 // GL_ANGLE_clip_cull_distance 136 137 // GL_ANGLE_copy_texture_3d 138 bool ValidateCopyTexture3DANGLE(const Context *context, 139 angle::EntryPoint entryPoint, 140 TextureID sourceIdPacked, 141 GLint sourceLevel, 142 TextureTarget destTargetPacked, 143 TextureID destIdPacked, 144 GLint destLevel, 145 GLint internalFormat, 146 GLenum destType, 147 GLboolean unpackFlipY, 148 GLboolean unpackPremultiplyAlpha, 149 GLboolean unpackUnmultiplyAlpha); 150 bool ValidateCopySubTexture3DANGLE(const Context *context, 151 angle::EntryPoint entryPoint, 152 TextureID sourceIdPacked, 153 GLint sourceLevel, 154 TextureTarget destTargetPacked, 155 TextureID destIdPacked, 156 GLint destLevel, 157 GLint xoffset, 158 GLint yoffset, 159 GLint zoffset, 160 GLint x, 161 GLint y, 162 GLint z, 163 GLint width, 164 GLint height, 165 GLint depth, 166 GLboolean unpackFlipY, 167 GLboolean unpackPremultiplyAlpha, 168 GLboolean unpackUnmultiplyAlpha); 169 170 // GL_ANGLE_depth_texture 171 172 // GL_ANGLE_framebuffer_blit 173 bool ValidateBlitFramebufferANGLE(const Context *context, 174 angle::EntryPoint entryPoint, 175 GLint srcX0, 176 GLint srcY0, 177 GLint srcX1, 178 GLint srcY1, 179 GLint dstX0, 180 GLint dstY0, 181 GLint dstX1, 182 GLint dstY1, 183 GLbitfield mask, 184 GLenum filter); 185 186 // GL_ANGLE_framebuffer_multisample 187 bool ValidateRenderbufferStorageMultisampleANGLE(const Context *context, 188 angle::EntryPoint entryPoint, 189 GLenum target, 190 GLsizei samples, 191 GLenum internalformat, 192 GLsizei width, 193 GLsizei height); 194 195 // GL_ANGLE_get_image 196 bool ValidateGetTexImageANGLE(const Context *context, 197 angle::EntryPoint entryPoint, 198 TextureTarget targetPacked, 199 GLint level, 200 GLenum format, 201 GLenum type, 202 const void *pixels); 203 bool ValidateGetCompressedTexImageANGLE(const Context *context, 204 angle::EntryPoint entryPoint, 205 TextureTarget targetPacked, 206 GLint level, 207 const void *pixels); 208 bool ValidateGetRenderbufferImageANGLE(const Context *context, 209 angle::EntryPoint entryPoint, 210 GLenum target, 211 GLenum format, 212 GLenum type, 213 const void *pixels); 214 215 // GL_ANGLE_get_serialized_context_string 216 217 // GL_ANGLE_get_tex_level_parameter 218 bool ValidateGetTexLevelParameterivANGLE(const Context *context, 219 angle::EntryPoint entryPoint, 220 TextureTarget targetPacked, 221 GLint level, 222 GLenum pname, 223 const GLint *params); 224 bool ValidateGetTexLevelParameterfvANGLE(const Context *context, 225 angle::EntryPoint entryPoint, 226 TextureTarget targetPacked, 227 GLint level, 228 GLenum pname, 229 const GLfloat *params); 230 231 // GL_ANGLE_instanced_arrays 232 bool ValidateDrawArraysInstancedANGLE(const Context *context, 233 angle::EntryPoint entryPoint, 234 PrimitiveMode modePacked, 235 GLint first, 236 GLsizei count, 237 GLsizei primcount); 238 bool ValidateDrawElementsInstancedANGLE(const Context *context, 239 angle::EntryPoint entryPoint, 240 PrimitiveMode modePacked, 241 GLsizei count, 242 DrawElementsType typePacked, 243 const void *indices, 244 GLsizei primcount); 245 bool ValidateVertexAttribDivisorANGLE(const Context *context, 246 angle::EntryPoint entryPoint, 247 GLuint index, 248 GLuint divisor); 249 250 // GL_ANGLE_logic_op 251 bool ValidateLogicOpANGLE(const PrivateState &state, 252 ErrorSet *errors, 253 angle::EntryPoint entryPoint, 254 LogicalOperation opcodePacked); 255 256 // GL_ANGLE_lossy_etc_decode 257 258 // GL_ANGLE_memory_object_flags 259 bool ValidateTexStorageMemFlags2DANGLE(const Context *context, 260 angle::EntryPoint entryPoint, 261 TextureType targetPacked, 262 GLsizei levels, 263 GLenum internalFormat, 264 GLsizei width, 265 GLsizei height, 266 MemoryObjectID memoryPacked, 267 GLuint64 offset, 268 GLbitfield createFlags, 269 GLbitfield usageFlags, 270 const void *imageCreateInfoPNext); 271 bool ValidateTexStorageMemFlags2DMultisampleANGLE(const Context *context, 272 angle::EntryPoint entryPoint, 273 TextureType targetPacked, 274 GLsizei samples, 275 GLenum internalFormat, 276 GLsizei width, 277 GLsizei height, 278 GLboolean fixedSampleLocations, 279 MemoryObjectID memoryPacked, 280 GLuint64 offset, 281 GLbitfield createFlags, 282 GLbitfield usageFlags, 283 const void *imageCreateInfoPNext); 284 bool ValidateTexStorageMemFlags3DANGLE(const Context *context, 285 angle::EntryPoint entryPoint, 286 TextureType targetPacked, 287 GLsizei levels, 288 GLenum internalFormat, 289 GLsizei width, 290 GLsizei height, 291 GLsizei depth, 292 MemoryObjectID memoryPacked, 293 GLuint64 offset, 294 GLbitfield createFlags, 295 GLbitfield usageFlags, 296 const void *imageCreateInfoPNext); 297 bool ValidateTexStorageMemFlags3DMultisampleANGLE(const Context *context, 298 angle::EntryPoint entryPoint, 299 TextureType targetPacked, 300 GLsizei samples, 301 GLenum internalFormat, 302 GLsizei width, 303 GLsizei height, 304 GLsizei depth, 305 GLboolean fixedSampleLocations, 306 MemoryObjectID memoryPacked, 307 GLuint64 offset, 308 GLbitfield createFlags, 309 GLbitfield usageFlags, 310 const void *imageCreateInfoPNext); 311 312 // GL_ANGLE_memory_object_fuchsia 313 bool ValidateImportMemoryZirconHandleANGLE(const Context *context, 314 angle::EntryPoint entryPoint, 315 MemoryObjectID memoryPacked, 316 GLuint64 size, 317 HandleType handleTypePacked, 318 GLuint handle); 319 320 // GL_ANGLE_memory_size 321 322 // GL_ANGLE_multi_draw 323 bool ValidateMultiDrawArraysANGLE(const Context *context, 324 angle::EntryPoint entryPoint, 325 PrimitiveMode modePacked, 326 const GLint *firsts, 327 const GLsizei *counts, 328 GLsizei drawcount); 329 bool ValidateMultiDrawArraysInstancedANGLE(const Context *context, 330 angle::EntryPoint entryPoint, 331 PrimitiveMode modePacked, 332 const GLint *firsts, 333 const GLsizei *counts, 334 const GLsizei *instanceCounts, 335 GLsizei drawcount); 336 bool ValidateMultiDrawElementsANGLE(const Context *context, 337 angle::EntryPoint entryPoint, 338 PrimitiveMode modePacked, 339 const GLsizei *counts, 340 DrawElementsType typePacked, 341 const void *const *indices, 342 GLsizei drawcount); 343 bool ValidateMultiDrawElementsInstancedANGLE(const Context *context, 344 angle::EntryPoint entryPoint, 345 PrimitiveMode modePacked, 346 const GLsizei *counts, 347 DrawElementsType typePacked, 348 const void *const *indices, 349 const GLsizei *instanceCounts, 350 GLsizei drawcount); 351 352 // GL_ANGLE_pack_reverse_row_order 353 354 // GL_ANGLE_polygon_mode 355 bool ValidatePolygonModeANGLE(const PrivateState &state, 356 ErrorSet *errors, 357 angle::EntryPoint entryPoint, 358 GLenum face, 359 PolygonMode modePacked); 360 361 // GL_ANGLE_program_binary 362 363 // GL_ANGLE_program_binary_readiness_query 364 365 // GL_ANGLE_program_cache_control 366 367 // GL_ANGLE_provoking_vertex 368 bool ValidateProvokingVertexANGLE(const PrivateState &state, 369 ErrorSet *errors, 370 angle::EntryPoint entryPoint, 371 ProvokingVertexConvention provokeModePacked); 372 373 // GL_ANGLE_renderability_validation 374 375 // GL_ANGLE_request_extension 376 bool ValidateRequestExtensionANGLE(const Context *context, 377 angle::EntryPoint entryPoint, 378 const GLchar *name); 379 bool ValidateDisableExtensionANGLE(const Context *context, 380 angle::EntryPoint entryPoint, 381 const GLchar *name); 382 383 // GL_ANGLE_rgbx_internal_format 384 385 // GL_ANGLE_robust_client_memory 386 bool ValidateGetBooleanvRobustANGLE(const Context *context, 387 angle::EntryPoint entryPoint, 388 GLenum pname, 389 GLsizei bufSize, 390 const GLsizei *length, 391 const GLboolean *params); 392 bool ValidateGetBufferParameterivRobustANGLE(const Context *context, 393 angle::EntryPoint entryPoint, 394 BufferBinding targetPacked, 395 GLenum pname, 396 GLsizei bufSize, 397 const GLsizei *length, 398 const GLint *params); 399 bool ValidateGetFloatvRobustANGLE(const Context *context, 400 angle::EntryPoint entryPoint, 401 GLenum pname, 402 GLsizei bufSize, 403 const GLsizei *length, 404 const GLfloat *params); 405 bool ValidateGetFramebufferAttachmentParameterivRobustANGLE(const Context *context, 406 angle::EntryPoint entryPoint, 407 GLenum target, 408 GLenum attachment, 409 GLenum pname, 410 GLsizei bufSize, 411 const GLsizei *length, 412 const GLint *params); 413 bool ValidateGetIntegervRobustANGLE(const Context *context, 414 angle::EntryPoint entryPoint, 415 GLenum pname, 416 GLsizei bufSize, 417 const GLsizei *length, 418 const GLint *data); 419 bool ValidateGetProgramivRobustANGLE(const Context *context, 420 angle::EntryPoint entryPoint, 421 ShaderProgramID programPacked, 422 GLenum pname, 423 GLsizei bufSize, 424 const GLsizei *length, 425 const GLint *params); 426 bool ValidateGetRenderbufferParameterivRobustANGLE(const Context *context, 427 angle::EntryPoint entryPoint, 428 GLenum target, 429 GLenum pname, 430 GLsizei bufSize, 431 const GLsizei *length, 432 const GLint *params); 433 bool ValidateGetShaderivRobustANGLE(const Context *context, 434 angle::EntryPoint entryPoint, 435 ShaderProgramID shaderPacked, 436 GLenum pname, 437 GLsizei bufSize, 438 const GLsizei *length, 439 const GLint *params); 440 bool ValidateGetTexParameterfvRobustANGLE(const Context *context, 441 angle::EntryPoint entryPoint, 442 TextureType targetPacked, 443 GLenum pname, 444 GLsizei bufSize, 445 const GLsizei *length, 446 const GLfloat *params); 447 bool ValidateGetTexParameterivRobustANGLE(const Context *context, 448 angle::EntryPoint entryPoint, 449 TextureType targetPacked, 450 GLenum pname, 451 GLsizei bufSize, 452 const GLsizei *length, 453 const GLint *params); 454 bool ValidateGetUniformfvRobustANGLE(const Context *context, 455 angle::EntryPoint entryPoint, 456 ShaderProgramID programPacked, 457 UniformLocation locationPacked, 458 GLsizei bufSize, 459 const GLsizei *length, 460 const GLfloat *params); 461 bool ValidateGetUniformivRobustANGLE(const Context *context, 462 angle::EntryPoint entryPoint, 463 ShaderProgramID programPacked, 464 UniformLocation locationPacked, 465 GLsizei bufSize, 466 const GLsizei *length, 467 const GLint *params); 468 bool ValidateGetVertexAttribfvRobustANGLE(const Context *context, 469 angle::EntryPoint entryPoint, 470 GLuint index, 471 GLenum pname, 472 GLsizei bufSize, 473 const GLsizei *length, 474 const GLfloat *params); 475 bool ValidateGetVertexAttribivRobustANGLE(const Context *context, 476 angle::EntryPoint entryPoint, 477 GLuint index, 478 GLenum pname, 479 GLsizei bufSize, 480 const GLsizei *length, 481 const GLint *params); 482 bool ValidateGetVertexAttribPointervRobustANGLE(const Context *context, 483 angle::EntryPoint entryPoint, 484 GLuint index, 485 GLenum pname, 486 GLsizei bufSize, 487 const GLsizei *length, 488 void *const *pointer); 489 bool ValidateReadPixelsRobustANGLE(const Context *context, 490 angle::EntryPoint entryPoint, 491 GLint x, 492 GLint y, 493 GLsizei width, 494 GLsizei height, 495 GLenum format, 496 GLenum type, 497 GLsizei bufSize, 498 const GLsizei *length, 499 const GLsizei *columns, 500 const GLsizei *rows, 501 const void *pixels); 502 bool ValidateTexImage2DRobustANGLE(const Context *context, 503 angle::EntryPoint entryPoint, 504 TextureTarget targetPacked, 505 GLint level, 506 GLint internalformat, 507 GLsizei width, 508 GLsizei height, 509 GLint border, 510 GLenum format, 511 GLenum type, 512 GLsizei bufSize, 513 const void *pixels); 514 bool ValidateTexParameterfvRobustANGLE(const Context *context, 515 angle::EntryPoint entryPoint, 516 TextureType targetPacked, 517 GLenum pname, 518 GLsizei bufSize, 519 const GLfloat *params); 520 bool ValidateTexParameterivRobustANGLE(const Context *context, 521 angle::EntryPoint entryPoint, 522 TextureType targetPacked, 523 GLenum pname, 524 GLsizei bufSize, 525 const GLint *params); 526 bool ValidateTexSubImage2DRobustANGLE(const Context *context, 527 angle::EntryPoint entryPoint, 528 TextureTarget targetPacked, 529 GLint level, 530 GLint xoffset, 531 GLint yoffset, 532 GLsizei width, 533 GLsizei height, 534 GLenum format, 535 GLenum type, 536 GLsizei bufSize, 537 const void *pixels); 538 bool ValidateTexImage3DRobustANGLE(const Context *context, 539 angle::EntryPoint entryPoint, 540 TextureTarget targetPacked, 541 GLint level, 542 GLint internalformat, 543 GLsizei width, 544 GLsizei height, 545 GLsizei depth, 546 GLint border, 547 GLenum format, 548 GLenum type, 549 GLsizei bufSize, 550 const void *pixels); 551 bool ValidateTexSubImage3DRobustANGLE(const Context *context, 552 angle::EntryPoint entryPoint, 553 TextureTarget targetPacked, 554 GLint level, 555 GLint xoffset, 556 GLint yoffset, 557 GLint zoffset, 558 GLsizei width, 559 GLsizei height, 560 GLsizei depth, 561 GLenum format, 562 GLenum type, 563 GLsizei bufSize, 564 const void *pixels); 565 bool ValidateCompressedTexImage2DRobustANGLE(const Context *context, 566 angle::EntryPoint entryPoint, 567 TextureTarget targetPacked, 568 GLint level, 569 GLenum internalformat, 570 GLsizei width, 571 GLsizei height, 572 GLint border, 573 GLsizei imageSize, 574 GLsizei dataSize, 575 const void *data); 576 bool ValidateCompressedTexSubImage2DRobustANGLE(const Context *context, 577 angle::EntryPoint entryPoint, 578 TextureTarget targetPacked, 579 GLint level, 580 GLsizei xoffset, 581 GLsizei yoffset, 582 GLsizei width, 583 GLsizei height, 584 GLenum format, 585 GLsizei imageSize, 586 GLsizei dataSize, 587 const void *data); 588 bool ValidateCompressedTexImage3DRobustANGLE(const Context *context, 589 angle::EntryPoint entryPoint, 590 TextureTarget targetPacked, 591 GLint level, 592 GLenum internalformat, 593 GLsizei width, 594 GLsizei height, 595 GLsizei depth, 596 GLint border, 597 GLsizei imageSize, 598 GLsizei dataSize, 599 const void *data); 600 bool ValidateCompressedTexSubImage3DRobustANGLE(const Context *context, 601 angle::EntryPoint entryPoint, 602 TextureTarget targetPacked, 603 GLint level, 604 GLint xoffset, 605 GLint yoffset, 606 GLint zoffset, 607 GLsizei width, 608 GLsizei height, 609 GLsizei depth, 610 GLenum format, 611 GLsizei imageSize, 612 GLsizei dataSize, 613 const void *data); 614 bool ValidateGetQueryivRobustANGLE(const Context *context, 615 angle::EntryPoint entryPoint, 616 QueryType targetPacked, 617 GLenum pname, 618 GLsizei bufSize, 619 const GLsizei *length, 620 const GLint *params); 621 bool ValidateGetQueryObjectuivRobustANGLE(const Context *context, 622 angle::EntryPoint entryPoint, 623 QueryID idPacked, 624 GLenum pname, 625 GLsizei bufSize, 626 const GLsizei *length, 627 const GLuint *params); 628 bool ValidateGetBufferPointervRobustANGLE(const Context *context, 629 angle::EntryPoint entryPoint, 630 BufferBinding targetPacked, 631 GLenum pname, 632 GLsizei bufSize, 633 const GLsizei *length, 634 void *const *params); 635 bool ValidateGetIntegeri_vRobustANGLE(const Context *context, 636 angle::EntryPoint entryPoint, 637 GLenum target, 638 GLuint index, 639 GLsizei bufSize, 640 const GLsizei *length, 641 const GLint *data); 642 bool ValidateGetInternalformativRobustANGLE(const Context *context, 643 angle::EntryPoint entryPoint, 644 GLenum target, 645 GLenum internalformat, 646 GLenum pname, 647 GLsizei bufSize, 648 const GLsizei *length, 649 const GLint *params); 650 bool ValidateGetVertexAttribIivRobustANGLE(const Context *context, 651 angle::EntryPoint entryPoint, 652 GLuint index, 653 GLenum pname, 654 GLsizei bufSize, 655 const GLsizei *length, 656 const GLint *params); 657 bool ValidateGetVertexAttribIuivRobustANGLE(const Context *context, 658 angle::EntryPoint entryPoint, 659 GLuint index, 660 GLenum pname, 661 GLsizei bufSize, 662 const GLsizei *length, 663 const GLuint *params); 664 bool ValidateGetUniformuivRobustANGLE(const Context *context, 665 angle::EntryPoint entryPoint, 666 ShaderProgramID programPacked, 667 UniformLocation locationPacked, 668 GLsizei bufSize, 669 const GLsizei *length, 670 const GLuint *params); 671 bool ValidateGetActiveUniformBlockivRobustANGLE(const Context *context, 672 angle::EntryPoint entryPoint, 673 ShaderProgramID programPacked, 674 UniformBlockIndex uniformBlockIndexPacked, 675 GLenum pname, 676 GLsizei bufSize, 677 const GLsizei *length, 678 const GLint *params); 679 bool ValidateGetInteger64vRobustANGLE(const Context *context, 680 angle::EntryPoint entryPoint, 681 GLenum pname, 682 GLsizei bufSize, 683 const GLsizei *length, 684 const GLint64 *data); 685 bool ValidateGetInteger64i_vRobustANGLE(const Context *context, 686 angle::EntryPoint entryPoint, 687 GLenum target, 688 GLuint index, 689 GLsizei bufSize, 690 const GLsizei *length, 691 const GLint64 *data); 692 bool ValidateGetBufferParameteri64vRobustANGLE(const Context *context, 693 angle::EntryPoint entryPoint, 694 BufferBinding targetPacked, 695 GLenum pname, 696 GLsizei bufSize, 697 const GLsizei *length, 698 const GLint64 *params); 699 bool ValidateSamplerParameterivRobustANGLE(const Context *context, 700 angle::EntryPoint entryPoint, 701 SamplerID samplerPacked, 702 GLuint pname, 703 GLsizei bufSize, 704 const GLint *param); 705 bool ValidateSamplerParameterfvRobustANGLE(const Context *context, 706 angle::EntryPoint entryPoint, 707 SamplerID samplerPacked, 708 GLenum pname, 709 GLsizei bufSize, 710 const GLfloat *param); 711 bool ValidateGetSamplerParameterivRobustANGLE(const Context *context, 712 angle::EntryPoint entryPoint, 713 SamplerID samplerPacked, 714 GLenum pname, 715 GLsizei bufSize, 716 const GLsizei *length, 717 const GLint *params); 718 bool ValidateGetSamplerParameterfvRobustANGLE(const Context *context, 719 angle::EntryPoint entryPoint, 720 SamplerID samplerPacked, 721 GLenum pname, 722 GLsizei bufSize, 723 const GLsizei *length, 724 const GLfloat *params); 725 bool ValidateGetFramebufferParameterivRobustANGLE(const Context *context, 726 angle::EntryPoint entryPoint, 727 GLenum target, 728 GLenum pname, 729 GLsizei bufSize, 730 const GLsizei *length, 731 const GLint *params); 732 bool ValidateGetProgramInterfaceivRobustANGLE(const Context *context, 733 angle::EntryPoint entryPoint, 734 ShaderProgramID programPacked, 735 GLenum programInterface, 736 GLenum pname, 737 GLsizei bufSize, 738 const GLsizei *length, 739 const GLint *params); 740 bool ValidateGetBooleani_vRobustANGLE(const Context *context, 741 angle::EntryPoint entryPoint, 742 GLenum target, 743 GLuint index, 744 GLsizei bufSize, 745 const GLsizei *length, 746 const GLboolean *data); 747 bool ValidateGetMultisamplefvRobustANGLE(const Context *context, 748 angle::EntryPoint entryPoint, 749 GLenum pname, 750 GLuint index, 751 GLsizei bufSize, 752 const GLsizei *length, 753 const GLfloat *val); 754 bool ValidateGetTexLevelParameterivRobustANGLE(const Context *context, 755 angle::EntryPoint entryPoint, 756 TextureTarget targetPacked, 757 GLint level, 758 GLenum pname, 759 GLsizei bufSize, 760 const GLsizei *length, 761 const GLint *params); 762 bool ValidateGetTexLevelParameterfvRobustANGLE(const Context *context, 763 angle::EntryPoint entryPoint, 764 TextureTarget targetPacked, 765 GLint level, 766 GLenum pname, 767 GLsizei bufSize, 768 const GLsizei *length, 769 const GLfloat *params); 770 bool ValidateGetPointervRobustANGLERobustANGLE(const Context *context, 771 angle::EntryPoint entryPoint, 772 GLenum pname, 773 GLsizei bufSize, 774 const GLsizei *length, 775 void *const *params); 776 bool ValidateReadnPixelsRobustANGLE(const Context *context, 777 angle::EntryPoint entryPoint, 778 GLint x, 779 GLint y, 780 GLsizei width, 781 GLsizei height, 782 GLenum format, 783 GLenum type, 784 GLsizei bufSize, 785 const GLsizei *length, 786 const GLsizei *columns, 787 const GLsizei *rows, 788 const void *data); 789 bool ValidateGetnUniformfvRobustANGLE(const Context *context, 790 angle::EntryPoint entryPoint, 791 ShaderProgramID programPacked, 792 UniformLocation locationPacked, 793 GLsizei bufSize, 794 const GLsizei *length, 795 const GLfloat *params); 796 bool ValidateGetnUniformivRobustANGLE(const Context *context, 797 angle::EntryPoint entryPoint, 798 ShaderProgramID programPacked, 799 UniformLocation locationPacked, 800 GLsizei bufSize, 801 const GLsizei *length, 802 const GLint *params); 803 bool ValidateGetnUniformuivRobustANGLE(const Context *context, 804 angle::EntryPoint entryPoint, 805 ShaderProgramID programPacked, 806 UniformLocation locationPacked, 807 GLsizei bufSize, 808 const GLsizei *length, 809 const GLuint *params); 810 bool ValidateTexParameterIivRobustANGLE(const Context *context, 811 angle::EntryPoint entryPoint, 812 TextureType targetPacked, 813 GLenum pname, 814 GLsizei bufSize, 815 const GLint *params); 816 bool ValidateTexParameterIuivRobustANGLE(const Context *context, 817 angle::EntryPoint entryPoint, 818 TextureType targetPacked, 819 GLenum pname, 820 GLsizei bufSize, 821 const GLuint *params); 822 bool ValidateGetTexParameterIivRobustANGLE(const Context *context, 823 angle::EntryPoint entryPoint, 824 TextureType targetPacked, 825 GLenum pname, 826 GLsizei bufSize, 827 const GLsizei *length, 828 const GLint *params); 829 bool ValidateGetTexParameterIuivRobustANGLE(const Context *context, 830 angle::EntryPoint entryPoint, 831 TextureType targetPacked, 832 GLenum pname, 833 GLsizei bufSize, 834 const GLsizei *length, 835 const GLuint *params); 836 bool ValidateSamplerParameterIivRobustANGLE(const Context *context, 837 angle::EntryPoint entryPoint, 838 SamplerID samplerPacked, 839 GLenum pname, 840 GLsizei bufSize, 841 const GLint *param); 842 bool ValidateSamplerParameterIuivRobustANGLE(const Context *context, 843 angle::EntryPoint entryPoint, 844 SamplerID samplerPacked, 845 GLenum pname, 846 GLsizei bufSize, 847 const GLuint *param); 848 bool ValidateGetSamplerParameterIivRobustANGLE(const Context *context, 849 angle::EntryPoint entryPoint, 850 SamplerID samplerPacked, 851 GLenum pname, 852 GLsizei bufSize, 853 const GLsizei *length, 854 const GLint *params); 855 bool ValidateGetSamplerParameterIuivRobustANGLE(const Context *context, 856 angle::EntryPoint entryPoint, 857 SamplerID samplerPacked, 858 GLenum pname, 859 GLsizei bufSize, 860 const GLsizei *length, 861 const GLuint *params); 862 bool ValidateGetQueryObjectivRobustANGLE(const Context *context, 863 angle::EntryPoint entryPoint, 864 QueryID idPacked, 865 GLenum pname, 866 GLsizei bufSize, 867 const GLsizei *length, 868 const GLint *params); 869 bool ValidateGetQueryObjecti64vRobustANGLE(const Context *context, 870 angle::EntryPoint entryPoint, 871 QueryID idPacked, 872 GLenum pname, 873 GLsizei bufSize, 874 const GLsizei *length, 875 const GLint64 *params); 876 bool ValidateGetQueryObjectui64vRobustANGLE(const Context *context, 877 angle::EntryPoint entryPoint, 878 QueryID idPacked, 879 GLenum pname, 880 GLsizei bufSize, 881 const GLsizei *length, 882 const GLuint64 *params); 883 884 // GL_ANGLE_robust_fragment_shader_output 885 886 // GL_ANGLE_robust_resource_initialization 887 888 // GL_ANGLE_semaphore_fuchsia 889 bool ValidateImportSemaphoreZirconHandleANGLE(const Context *context, 890 angle::EntryPoint entryPoint, 891 SemaphoreID semaphorePacked, 892 HandleType handleTypePacked, 893 GLuint handle); 894 895 // GL_ANGLE_shader_binary 896 897 // GL_ANGLE_shader_pixel_local_storage 898 bool ValidateFramebufferMemorylessPixelLocalStorageANGLE(const Context *context, 899 angle::EntryPoint entryPoint, 900 GLint plane, 901 GLenum internalformat); 902 bool ValidateFramebufferTexturePixelLocalStorageANGLE(const Context *context, 903 angle::EntryPoint entryPoint, 904 GLint plane, 905 TextureID backingtexturePacked, 906 GLint level, 907 GLint layer); 908 bool ValidateFramebufferPixelLocalClearValuefvANGLE(const Context *context, 909 angle::EntryPoint entryPoint, 910 GLint plane, 911 const GLfloat *value); 912 bool ValidateFramebufferPixelLocalClearValueivANGLE(const Context *context, 913 angle::EntryPoint entryPoint, 914 GLint plane, 915 const GLint *value); 916 bool ValidateFramebufferPixelLocalClearValueuivANGLE(const Context *context, 917 angle::EntryPoint entryPoint, 918 GLint plane, 919 const GLuint *value); 920 bool ValidateBeginPixelLocalStorageANGLE(const Context *context, 921 angle::EntryPoint entryPoint, 922 GLsizei n, 923 const GLenum *loadops); 924 bool ValidateEndPixelLocalStorageANGLE(const Context *context, 925 angle::EntryPoint entryPoint, 926 GLsizei n, 927 const GLenum *storeops); 928 bool ValidatePixelLocalStorageBarrierANGLE(const Context *context, angle::EntryPoint entryPoint); 929 bool ValidateFramebufferPixelLocalStorageInterruptANGLE(const Context *context, 930 angle::EntryPoint entryPoint); 931 bool ValidateFramebufferPixelLocalStorageRestoreANGLE(const Context *context, 932 angle::EntryPoint entryPoint); 933 bool ValidateGetFramebufferPixelLocalStorageParameterfvANGLE(const Context *context, 934 angle::EntryPoint entryPoint, 935 GLint plane, 936 GLenum pname, 937 const GLfloat *params); 938 bool ValidateGetFramebufferPixelLocalStorageParameterivANGLE(const Context *context, 939 angle::EntryPoint entryPoint, 940 GLint plane, 941 GLenum pname, 942 const GLint *params); 943 bool ValidateGetFramebufferPixelLocalStorageParameterfvRobustANGLE(const Context *context, 944 angle::EntryPoint entryPoint, 945 GLint plane, 946 GLenum pname, 947 GLsizei bufSize, 948 const GLsizei *length, 949 const GLfloat *params); 950 bool ValidateGetFramebufferPixelLocalStorageParameterivRobustANGLE(const Context *context, 951 angle::EntryPoint entryPoint, 952 GLint plane, 953 GLenum pname, 954 GLsizei bufSize, 955 const GLsizei *length, 956 const GLint *params); 957 958 // GL_ANGLE_stencil_texturing 959 960 // GL_ANGLE_texture_compression_dxt3 961 962 // GL_ANGLE_texture_compression_dxt5 963 964 // GL_ANGLE_texture_external_update 965 bool ValidateTexImage2DExternalANGLE(const Context *context, 966 angle::EntryPoint entryPoint, 967 TextureTarget targetPacked, 968 GLint level, 969 GLint internalformat, 970 GLsizei width, 971 GLsizei height, 972 GLint border, 973 GLenum format, 974 GLenum type); 975 bool ValidateInvalidateTextureANGLE(const Context *context, 976 angle::EntryPoint entryPoint, 977 TextureType targetPacked); 978 979 // GL_ANGLE_texture_multisample 980 bool ValidateTexStorage2DMultisampleANGLE(const Context *context, 981 angle::EntryPoint entryPoint, 982 TextureType targetPacked, 983 GLsizei samples, 984 GLenum internalformat, 985 GLsizei width, 986 GLsizei height, 987 GLboolean fixedsamplelocations); 988 bool ValidateGetMultisamplefvANGLE(const Context *context, 989 angle::EntryPoint entryPoint, 990 GLenum pname, 991 GLuint index, 992 const GLfloat *val); 993 bool ValidateSampleMaskiANGLE(const PrivateState &state, 994 ErrorSet *errors, 995 angle::EntryPoint entryPoint, 996 GLuint maskNumber, 997 GLbitfield mask); 998 999 // GL_ANGLE_texture_usage 1000 1001 // GL_ANGLE_translated_shader_source 1002 bool ValidateGetTranslatedShaderSourceANGLE(const Context *context, 1003 angle::EntryPoint entryPoint, 1004 ShaderProgramID shaderPacked, 1005 GLsizei bufSize, 1006 const GLsizei *length, 1007 const GLchar *source); 1008 1009 // GL_ANGLE_vulkan_image 1010 bool ValidateAcquireTexturesANGLE(const Context *context, 1011 angle::EntryPoint entryPoint, 1012 GLuint numTextures, 1013 const TextureID *texturesPacked, 1014 const GLenum *layouts); 1015 bool ValidateReleaseTexturesANGLE(const Context *context, 1016 angle::EntryPoint entryPoint, 1017 GLuint numTextures, 1018 const TextureID *texturesPacked, 1019 const GLenum *layouts); 1020 1021 // GL_ANGLE_yuv_internal_format 1022 1023 // GL_APPLE_clip_distance 1024 1025 // GL_ARB_sync 1026 1027 // GL_ARM_rgba8 1028 1029 // GL_ARM_shader_framebuffer_fetch 1030 1031 // GL_ARM_shader_framebuffer_fetch_depth_stencil 1032 1033 // GL_CHROMIUM_bind_uniform_location 1034 bool ValidateBindUniformLocationCHROMIUM(const Context *context, 1035 angle::EntryPoint entryPoint, 1036 ShaderProgramID programPacked, 1037 UniformLocation locationPacked, 1038 const GLchar *name); 1039 1040 // GL_CHROMIUM_copy_compressed_texture 1041 bool ValidateCompressedCopyTextureCHROMIUM(const Context *context, 1042 angle::EntryPoint entryPoint, 1043 TextureID sourceIdPacked, 1044 TextureID destIdPacked); 1045 1046 // GL_CHROMIUM_copy_texture 1047 bool ValidateCopyTextureCHROMIUM(const Context *context, 1048 angle::EntryPoint entryPoint, 1049 TextureID sourceIdPacked, 1050 GLint sourceLevel, 1051 TextureTarget destTargetPacked, 1052 TextureID destIdPacked, 1053 GLint destLevel, 1054 GLint internalFormat, 1055 GLenum destType, 1056 GLboolean unpackFlipY, 1057 GLboolean unpackPremultiplyAlpha, 1058 GLboolean unpackUnmultiplyAlpha); 1059 bool ValidateCopySubTextureCHROMIUM(const Context *context, 1060 angle::EntryPoint entryPoint, 1061 TextureID sourceIdPacked, 1062 GLint sourceLevel, 1063 TextureTarget destTargetPacked, 1064 TextureID destIdPacked, 1065 GLint destLevel, 1066 GLint xoffset, 1067 GLint yoffset, 1068 GLint x, 1069 GLint y, 1070 GLint width, 1071 GLint height, 1072 GLboolean unpackFlipY, 1073 GLboolean unpackPremultiplyAlpha, 1074 GLboolean unpackUnmultiplyAlpha); 1075 1076 // GL_CHROMIUM_framebuffer_mixed_samples 1077 bool ValidateCoverageModulationCHROMIUM(const PrivateState &state, 1078 ErrorSet *errors, 1079 angle::EntryPoint entryPoint, 1080 GLenum components); 1081 1082 // GL_CHROMIUM_lose_context 1083 bool ValidateLoseContextCHROMIUM(const Context *context, 1084 angle::EntryPoint entryPoint, 1085 GraphicsResetStatus currentPacked, 1086 GraphicsResetStatus otherPacked); 1087 1088 // GL_EXT_EGL_image_array 1089 1090 // GL_EXT_EGL_image_storage 1091 bool ValidateEGLImageTargetTexStorageEXT(const Context *context, 1092 angle::EntryPoint entryPoint, 1093 GLenum target, 1094 egl::ImageID imagePacked, 1095 const GLint *attrib_list); 1096 bool ValidateEGLImageTargetTextureStorageEXT(const Context *context, 1097 angle::EntryPoint entryPoint, 1098 GLuint texture, 1099 egl::ImageID imagePacked, 1100 const GLint *attrib_list); 1101 1102 // GL_EXT_EGL_image_storage_compression 1103 1104 // GL_EXT_YUV_target 1105 1106 // GL_EXT_base_instance 1107 bool ValidateDrawArraysInstancedBaseInstanceEXT(const Context *context, 1108 angle::EntryPoint entryPoint, 1109 PrimitiveMode modePacked, 1110 GLint first, 1111 GLsizei count, 1112 GLsizei instancecount, 1113 GLuint baseinstance); 1114 bool ValidateDrawElementsInstancedBaseInstanceEXT(const Context *context, 1115 angle::EntryPoint entryPoint, 1116 PrimitiveMode modePacked, 1117 GLsizei count, 1118 DrawElementsType typePacked, 1119 const void *indices, 1120 GLsizei instancecount, 1121 GLuint baseinstance); 1122 bool ValidateDrawElementsInstancedBaseVertexBaseInstanceEXT(const Context *context, 1123 angle::EntryPoint entryPoint, 1124 PrimitiveMode modePacked, 1125 GLsizei count, 1126 DrawElementsType typePacked, 1127 const void *indices, 1128 GLsizei instancecount, 1129 GLint basevertex, 1130 GLuint baseinstance); 1131 1132 // GL_EXT_blend_func_extended 1133 bool ValidateBindFragDataLocationEXT(const Context *context, 1134 angle::EntryPoint entryPoint, 1135 ShaderProgramID programPacked, 1136 GLuint color, 1137 const GLchar *name); 1138 bool ValidateBindFragDataLocationIndexedEXT(const Context *context, 1139 angle::EntryPoint entryPoint, 1140 ShaderProgramID programPacked, 1141 GLuint colorNumber, 1142 GLuint index, 1143 const GLchar *name); 1144 bool ValidateGetFragDataIndexEXT(const Context *context, 1145 angle::EntryPoint entryPoint, 1146 ShaderProgramID programPacked, 1147 const GLchar *name); 1148 bool ValidateGetProgramResourceLocationIndexEXT(const Context *context, 1149 angle::EntryPoint entryPoint, 1150 ShaderProgramID programPacked, 1151 GLenum programInterface, 1152 const GLchar *name); 1153 1154 // GL_EXT_blend_minmax 1155 1156 // GL_EXT_buffer_storage 1157 bool ValidateBufferStorageEXT(const Context *context, 1158 angle::EntryPoint entryPoint, 1159 BufferBinding targetPacked, 1160 GLsizeiptr size, 1161 const void *data, 1162 GLbitfield flags); 1163 1164 // GL_EXT_clear_texture 1165 bool ValidateClearTexImageEXT(const Context *context, 1166 angle::EntryPoint entryPoint, 1167 TextureID texturePacked, 1168 GLint level, 1169 GLenum format, 1170 GLenum type, 1171 const void *data); 1172 bool ValidateClearTexSubImageEXT(const Context *context, 1173 angle::EntryPoint entryPoint, 1174 TextureID texturePacked, 1175 GLint level, 1176 GLint xoffset, 1177 GLint yoffset, 1178 GLint zoffset, 1179 GLsizei width, 1180 GLsizei height, 1181 GLsizei depth, 1182 GLenum format, 1183 GLenum type, 1184 const void *data); 1185 1186 // GL_EXT_clip_control 1187 bool ValidateClipControlEXT(const PrivateState &state, 1188 ErrorSet *errors, 1189 angle::EntryPoint entryPoint, 1190 ClipOrigin originPacked, 1191 ClipDepthMode depthPacked); 1192 1193 // GL_EXT_clip_cull_distance 1194 1195 // GL_EXT_color_buffer_float 1196 1197 // GL_EXT_color_buffer_half_float 1198 1199 // GL_EXT_conservative_depth 1200 1201 // GL_EXT_copy_image 1202 bool ValidateCopyImageSubDataEXT(const Context *context, 1203 angle::EntryPoint entryPoint, 1204 GLuint srcName, 1205 GLenum srcTarget, 1206 GLint srcLevel, 1207 GLint srcX, 1208 GLint srcY, 1209 GLint srcZ, 1210 GLuint dstName, 1211 GLenum dstTarget, 1212 GLint dstLevel, 1213 GLint dstX, 1214 GLint dstY, 1215 GLint dstZ, 1216 GLsizei srcWidth, 1217 GLsizei srcHeight, 1218 GLsizei srcDepth); 1219 1220 // GL_EXT_debug_label 1221 bool ValidateGetObjectLabelEXT(const Context *context, 1222 angle::EntryPoint entryPoint, 1223 GLenum type, 1224 GLuint object, 1225 GLsizei bufSize, 1226 const GLsizei *length, 1227 const GLchar *label); 1228 bool ValidateLabelObjectEXT(const Context *context, 1229 angle::EntryPoint entryPoint, 1230 GLenum type, 1231 GLuint object, 1232 GLsizei length, 1233 const GLchar *label); 1234 1235 // GL_EXT_debug_marker 1236 bool ValidateInsertEventMarkerEXT(const Context *context, 1237 angle::EntryPoint entryPoint, 1238 GLsizei length, 1239 const GLchar *marker); 1240 bool ValidatePopGroupMarkerEXT(const Context *context, angle::EntryPoint entryPoint); 1241 bool ValidatePushGroupMarkerEXT(const Context *context, 1242 angle::EntryPoint entryPoint, 1243 GLsizei length, 1244 const GLchar *marker); 1245 1246 // GL_EXT_depth_clamp 1247 1248 // GL_EXT_discard_framebuffer 1249 bool ValidateDiscardFramebufferEXT(const Context *context, 1250 angle::EntryPoint entryPoint, 1251 GLenum target, 1252 GLsizei numAttachments, 1253 const GLenum *attachments); 1254 1255 // GL_EXT_disjoint_timer_query 1256 bool ValidateBeginQueryEXT(const Context *context, 1257 angle::EntryPoint entryPoint, 1258 QueryType targetPacked, 1259 QueryID idPacked); 1260 bool ValidateDeleteQueriesEXT(const Context *context, 1261 angle::EntryPoint entryPoint, 1262 GLsizei n, 1263 const QueryID *idsPacked); 1264 bool ValidateEndQueryEXT(const Context *context, 1265 angle::EntryPoint entryPoint, 1266 QueryType targetPacked); 1267 bool ValidateGenQueriesEXT(const Context *context, 1268 angle::EntryPoint entryPoint, 1269 GLsizei n, 1270 const QueryID *idsPacked); 1271 bool ValidateGetInteger64vEXT(const Context *context, 1272 angle::EntryPoint entryPoint, 1273 GLenum pname, 1274 const GLint64 *data); 1275 bool ValidateGetQueryObjecti64vEXT(const Context *context, 1276 angle::EntryPoint entryPoint, 1277 QueryID idPacked, 1278 GLenum pname, 1279 const GLint64 *params); 1280 bool ValidateGetQueryObjectivEXT(const Context *context, 1281 angle::EntryPoint entryPoint, 1282 QueryID idPacked, 1283 GLenum pname, 1284 const GLint *params); 1285 bool ValidateGetQueryObjectui64vEXT(const Context *context, 1286 angle::EntryPoint entryPoint, 1287 QueryID idPacked, 1288 GLenum pname, 1289 const GLuint64 *params); 1290 bool ValidateGetQueryObjectuivEXT(const Context *context, 1291 angle::EntryPoint entryPoint, 1292 QueryID idPacked, 1293 GLenum pname, 1294 const GLuint *params); 1295 bool ValidateGetQueryivEXT(const Context *context, 1296 angle::EntryPoint entryPoint, 1297 QueryType targetPacked, 1298 GLenum pname, 1299 const GLint *params); 1300 bool ValidateIsQueryEXT(const Context *context, angle::EntryPoint entryPoint, QueryID idPacked); 1301 bool ValidateQueryCounterEXT(const Context *context, 1302 angle::EntryPoint entryPoint, 1303 QueryID idPacked, 1304 QueryType targetPacked); 1305 1306 // GL_EXT_draw_buffers 1307 bool ValidateDrawBuffersEXT(const Context *context, 1308 angle::EntryPoint entryPoint, 1309 GLsizei n, 1310 const GLenum *bufs); 1311 1312 // GL_EXT_draw_buffers_indexed 1313 bool ValidateBlendEquationSeparateiEXT(const PrivateState &state, 1314 ErrorSet *errors, 1315 angle::EntryPoint entryPoint, 1316 GLuint buf, 1317 GLenum modeRGB, 1318 GLenum modeAlpha); 1319 bool ValidateBlendEquationiEXT(const PrivateState &state, 1320 ErrorSet *errors, 1321 angle::EntryPoint entryPoint, 1322 GLuint buf, 1323 GLenum mode); 1324 bool ValidateBlendFuncSeparateiEXT(const PrivateState &state, 1325 ErrorSet *errors, 1326 angle::EntryPoint entryPoint, 1327 GLuint buf, 1328 GLenum srcRGB, 1329 GLenum dstRGB, 1330 GLenum srcAlpha, 1331 GLenum dstAlpha); 1332 bool ValidateBlendFunciEXT(const PrivateState &state, 1333 ErrorSet *errors, 1334 angle::EntryPoint entryPoint, 1335 GLuint buf, 1336 GLenum src, 1337 GLenum dst); 1338 bool ValidateColorMaskiEXT(const PrivateState &state, 1339 ErrorSet *errors, 1340 angle::EntryPoint entryPoint, 1341 GLuint index, 1342 GLboolean r, 1343 GLboolean g, 1344 GLboolean b, 1345 GLboolean a); 1346 bool ValidateDisableiEXT(const PrivateState &state, 1347 ErrorSet *errors, 1348 angle::EntryPoint entryPoint, 1349 GLenum target, 1350 GLuint index); 1351 bool ValidateEnableiEXT(const PrivateState &state, 1352 ErrorSet *errors, 1353 angle::EntryPoint entryPoint, 1354 GLenum target, 1355 GLuint index); 1356 bool ValidateIsEnablediEXT(const PrivateState &state, 1357 ErrorSet *errors, 1358 angle::EntryPoint entryPoint, 1359 GLenum target, 1360 GLuint index); 1361 1362 // GL_EXT_draw_elements_base_vertex 1363 bool ValidateDrawElementsBaseVertexEXT(const Context *context, 1364 angle::EntryPoint entryPoint, 1365 PrimitiveMode modePacked, 1366 GLsizei count, 1367 DrawElementsType typePacked, 1368 const void *indices, 1369 GLint basevertex); 1370 bool ValidateDrawElementsInstancedBaseVertexEXT(const Context *context, 1371 angle::EntryPoint entryPoint, 1372 PrimitiveMode modePacked, 1373 GLsizei count, 1374 DrawElementsType typePacked, 1375 const void *indices, 1376 GLsizei instancecount, 1377 GLint basevertex); 1378 bool ValidateDrawRangeElementsBaseVertexEXT(const Context *context, 1379 angle::EntryPoint entryPoint, 1380 PrimitiveMode modePacked, 1381 GLuint start, 1382 GLuint end, 1383 GLsizei count, 1384 DrawElementsType typePacked, 1385 const void *indices, 1386 GLint basevertex); 1387 bool ValidateMultiDrawElementsBaseVertexEXT(const Context *context, 1388 angle::EntryPoint entryPoint, 1389 PrimitiveMode modePacked, 1390 const GLsizei *count, 1391 DrawElementsType typePacked, 1392 const void *const *indices, 1393 GLsizei drawcount, 1394 const GLint *basevertex); 1395 1396 // GL_EXT_external_buffer 1397 bool ValidateBufferStorageExternalEXT(const Context *context, 1398 angle::EntryPoint entryPoint, 1399 BufferBinding targetPacked, 1400 GLintptr offset, 1401 GLsizeiptr size, 1402 GLeglClientBufferEXT clientBuffer, 1403 GLbitfield flags); 1404 bool ValidateNamedBufferStorageExternalEXT(const Context *context, 1405 angle::EntryPoint entryPoint, 1406 GLuint buffer, 1407 GLintptr offset, 1408 GLsizeiptr size, 1409 GLeglClientBufferEXT clientBuffer, 1410 GLbitfield flags); 1411 1412 // GL_EXT_float_blend 1413 1414 // GL_EXT_geometry_shader 1415 bool ValidateFramebufferTextureEXT(const Context *context, 1416 angle::EntryPoint entryPoint, 1417 GLenum target, 1418 GLenum attachment, 1419 TextureID texturePacked, 1420 GLint level); 1421 1422 // GL_EXT_gpu_shader5 1423 1424 // GL_EXT_instanced_arrays 1425 bool ValidateDrawArraysInstancedEXT(const Context *context, 1426 angle::EntryPoint entryPoint, 1427 PrimitiveMode modePacked, 1428 GLint start, 1429 GLsizei count, 1430 GLsizei primcount); 1431 bool ValidateDrawElementsInstancedEXT(const Context *context, 1432 angle::EntryPoint entryPoint, 1433 PrimitiveMode modePacked, 1434 GLsizei count, 1435 DrawElementsType typePacked, 1436 const void *indices, 1437 GLsizei primcount); 1438 bool ValidateVertexAttribDivisorEXT(const Context *context, 1439 angle::EntryPoint entryPoint, 1440 GLuint index, 1441 GLuint divisor); 1442 1443 // GL_EXT_map_buffer_range 1444 bool ValidateFlushMappedBufferRangeEXT(const Context *context, 1445 angle::EntryPoint entryPoint, 1446 BufferBinding targetPacked, 1447 GLintptr offset, 1448 GLsizeiptr length); 1449 bool ValidateMapBufferRangeEXT(const Context *context, 1450 angle::EntryPoint entryPoint, 1451 BufferBinding targetPacked, 1452 GLintptr offset, 1453 GLsizeiptr length, 1454 GLbitfield access); 1455 1456 // GL_EXT_memory_object 1457 bool ValidateBufferStorageMemEXT(const Context *context, 1458 angle::EntryPoint entryPoint, 1459 TextureType targetPacked, 1460 GLsizeiptr size, 1461 MemoryObjectID memoryPacked, 1462 GLuint64 offset); 1463 bool ValidateCreateMemoryObjectsEXT(const Context *context, 1464 angle::EntryPoint entryPoint, 1465 GLsizei n, 1466 const MemoryObjectID *memoryObjectsPacked); 1467 bool ValidateDeleteMemoryObjectsEXT(const Context *context, 1468 angle::EntryPoint entryPoint, 1469 GLsizei n, 1470 const MemoryObjectID *memoryObjectsPacked); 1471 bool ValidateGetMemoryObjectParameterivEXT(const Context *context, 1472 angle::EntryPoint entryPoint, 1473 MemoryObjectID memoryObjectPacked, 1474 GLenum pname, 1475 const GLint *params); 1476 bool ValidateGetUnsignedBytevEXT(const Context *context, 1477 angle::EntryPoint entryPoint, 1478 GLenum pname, 1479 const GLubyte *data); 1480 bool ValidateGetUnsignedBytei_vEXT(const Context *context, 1481 angle::EntryPoint entryPoint, 1482 GLenum target, 1483 GLuint index, 1484 const GLubyte *data); 1485 bool ValidateIsMemoryObjectEXT(const Context *context, 1486 angle::EntryPoint entryPoint, 1487 MemoryObjectID memoryObjectPacked); 1488 bool ValidateMemoryObjectParameterivEXT(const Context *context, 1489 angle::EntryPoint entryPoint, 1490 MemoryObjectID memoryObjectPacked, 1491 GLenum pname, 1492 const GLint *params); 1493 bool ValidateTexStorageMem2DEXT(const Context *context, 1494 angle::EntryPoint entryPoint, 1495 TextureType targetPacked, 1496 GLsizei levels, 1497 GLenum internalFormat, 1498 GLsizei width, 1499 GLsizei height, 1500 MemoryObjectID memoryPacked, 1501 GLuint64 offset); 1502 bool ValidateTexStorageMem2DMultisampleEXT(const Context *context, 1503 angle::EntryPoint entryPoint, 1504 TextureType targetPacked, 1505 GLsizei samples, 1506 GLenum internalFormat, 1507 GLsizei width, 1508 GLsizei height, 1509 GLboolean fixedSampleLocations, 1510 MemoryObjectID memoryPacked, 1511 GLuint64 offset); 1512 bool ValidateTexStorageMem3DEXT(const Context *context, 1513 angle::EntryPoint entryPoint, 1514 TextureType targetPacked, 1515 GLsizei levels, 1516 GLenum internalFormat, 1517 GLsizei width, 1518 GLsizei height, 1519 GLsizei depth, 1520 MemoryObjectID memoryPacked, 1521 GLuint64 offset); 1522 bool ValidateTexStorageMem3DMultisampleEXT(const Context *context, 1523 angle::EntryPoint entryPoint, 1524 TextureType targetPacked, 1525 GLsizei samples, 1526 GLenum internalFormat, 1527 GLsizei width, 1528 GLsizei height, 1529 GLsizei depth, 1530 GLboolean fixedSampleLocations, 1531 MemoryObjectID memoryPacked, 1532 GLuint64 offset); 1533 1534 // GL_EXT_memory_object_fd 1535 bool ValidateImportMemoryFdEXT(const Context *context, 1536 angle::EntryPoint entryPoint, 1537 MemoryObjectID memoryPacked, 1538 GLuint64 size, 1539 HandleType handleTypePacked, 1540 GLint fd); 1541 1542 // GL_EXT_multi_draw_indirect 1543 bool ValidateMultiDrawArraysIndirectEXT(const Context *context, 1544 angle::EntryPoint entryPoint, 1545 PrimitiveMode modePacked, 1546 const void *indirect, 1547 GLsizei drawcount, 1548 GLsizei stride); 1549 bool ValidateMultiDrawElementsIndirectEXT(const Context *context, 1550 angle::EntryPoint entryPoint, 1551 PrimitiveMode modePacked, 1552 DrawElementsType typePacked, 1553 const void *indirect, 1554 GLsizei drawcount, 1555 GLsizei stride); 1556 1557 // GL_EXT_multisampled_render_to_texture 1558 bool ValidateFramebufferTexture2DMultisampleEXT(const Context *context, 1559 angle::EntryPoint entryPoint, 1560 GLenum target, 1561 GLenum attachment, 1562 TextureTarget textargetPacked, 1563 TextureID texturePacked, 1564 GLint level, 1565 GLsizei samples); 1566 bool ValidateRenderbufferStorageMultisampleEXT(const Context *context, 1567 angle::EntryPoint entryPoint, 1568 GLenum target, 1569 GLsizei samples, 1570 GLenum internalformat, 1571 GLsizei width, 1572 GLsizei height); 1573 1574 // GL_EXT_multisampled_render_to_texture2 1575 1576 // GL_EXT_occlusion_query_boolean 1577 1578 // GL_EXT_polygon_offset_clamp 1579 bool ValidatePolygonOffsetClampEXT(const PrivateState &state, 1580 ErrorSet *errors, 1581 angle::EntryPoint entryPoint, 1582 GLfloat factor, 1583 GLfloat units, 1584 GLfloat clamp); 1585 1586 // GL_EXT_primitive_bounding_box 1587 bool ValidatePrimitiveBoundingBoxEXT(const PrivateState &state, 1588 ErrorSet *errors, 1589 angle::EntryPoint entryPoint, 1590 GLfloat minX, 1591 GLfloat minY, 1592 GLfloat minZ, 1593 GLfloat minW, 1594 GLfloat maxX, 1595 GLfloat maxY, 1596 GLfloat maxZ, 1597 GLfloat maxW); 1598 1599 // GL_EXT_protected_textures 1600 1601 // GL_EXT_pvrtc_sRGB 1602 1603 // GL_EXT_read_format_bgra 1604 1605 // GL_EXT_render_snorm 1606 1607 // GL_EXT_robustness 1608 bool ValidateGetGraphicsResetStatusEXT(const Context *context, angle::EntryPoint entryPoint); 1609 bool ValidateGetnUniformfvEXT(const Context *context, 1610 angle::EntryPoint entryPoint, 1611 ShaderProgramID programPacked, 1612 UniformLocation locationPacked, 1613 GLsizei bufSize, 1614 const GLfloat *params); 1615 bool ValidateGetnUniformivEXT(const Context *context, 1616 angle::EntryPoint entryPoint, 1617 ShaderProgramID programPacked, 1618 UniformLocation locationPacked, 1619 GLsizei bufSize, 1620 const GLint *params); 1621 bool ValidateReadnPixelsEXT(const Context *context, 1622 angle::EntryPoint entryPoint, 1623 GLint x, 1624 GLint y, 1625 GLsizei width, 1626 GLsizei height, 1627 GLenum format, 1628 GLenum type, 1629 GLsizei bufSize, 1630 const void *data); 1631 1632 // GL_EXT_sRGB 1633 1634 // GL_EXT_sRGB_write_control 1635 1636 // GL_EXT_semaphore 1637 bool ValidateDeleteSemaphoresEXT(const Context *context, 1638 angle::EntryPoint entryPoint, 1639 GLsizei n, 1640 const SemaphoreID *semaphoresPacked); 1641 bool ValidateGenSemaphoresEXT(const Context *context, 1642 angle::EntryPoint entryPoint, 1643 GLsizei n, 1644 const SemaphoreID *semaphoresPacked); 1645 bool ValidateGetSemaphoreParameterui64vEXT(const Context *context, 1646 angle::EntryPoint entryPoint, 1647 SemaphoreID semaphorePacked, 1648 GLenum pname, 1649 const GLuint64 *params); 1650 bool ValidateIsSemaphoreEXT(const Context *context, 1651 angle::EntryPoint entryPoint, 1652 SemaphoreID semaphorePacked); 1653 bool ValidateSemaphoreParameterui64vEXT(const Context *context, 1654 angle::EntryPoint entryPoint, 1655 SemaphoreID semaphorePacked, 1656 GLenum pname, 1657 const GLuint64 *params); 1658 bool ValidateSignalSemaphoreEXT(const Context *context, 1659 angle::EntryPoint entryPoint, 1660 SemaphoreID semaphorePacked, 1661 GLuint numBufferBarriers, 1662 const BufferID *buffersPacked, 1663 GLuint numTextureBarriers, 1664 const TextureID *texturesPacked, 1665 const GLenum *dstLayouts); 1666 bool ValidateWaitSemaphoreEXT(const Context *context, 1667 angle::EntryPoint entryPoint, 1668 SemaphoreID semaphorePacked, 1669 GLuint numBufferBarriers, 1670 const BufferID *buffersPacked, 1671 GLuint numTextureBarriers, 1672 const TextureID *texturesPacked, 1673 const GLenum *srcLayouts); 1674 1675 // GL_EXT_semaphore_fd 1676 bool ValidateImportSemaphoreFdEXT(const Context *context, 1677 angle::EntryPoint entryPoint, 1678 SemaphoreID semaphorePacked, 1679 HandleType handleTypePacked, 1680 GLint fd); 1681 1682 // GL_EXT_separate_depth_stencil 1683 1684 // GL_EXT_separate_shader_objects 1685 bool ValidateActiveShaderProgramEXT(const Context *context, 1686 angle::EntryPoint entryPoint, 1687 ProgramPipelineID pipelinePacked, 1688 ShaderProgramID programPacked); 1689 bool ValidateBindProgramPipelineEXT(const Context *context, 1690 angle::EntryPoint entryPoint, 1691 ProgramPipelineID pipelinePacked); 1692 bool ValidateCreateShaderProgramvEXT(const Context *context, 1693 angle::EntryPoint entryPoint, 1694 ShaderType typePacked, 1695 GLsizei count, 1696 const GLchar **strings); 1697 bool ValidateDeleteProgramPipelinesEXT(const Context *context, 1698 angle::EntryPoint entryPoint, 1699 GLsizei n, 1700 const ProgramPipelineID *pipelinesPacked); 1701 bool ValidateGenProgramPipelinesEXT(const Context *context, 1702 angle::EntryPoint entryPoint, 1703 GLsizei n, 1704 const ProgramPipelineID *pipelinesPacked); 1705 bool ValidateGetProgramPipelineInfoLogEXT(const Context *context, 1706 angle::EntryPoint entryPoint, 1707 ProgramPipelineID pipelinePacked, 1708 GLsizei bufSize, 1709 const GLsizei *length, 1710 const GLchar *infoLog); 1711 bool ValidateGetProgramPipelineivEXT(const Context *context, 1712 angle::EntryPoint entryPoint, 1713 ProgramPipelineID pipelinePacked, 1714 GLenum pname, 1715 const GLint *params); 1716 bool ValidateIsProgramPipelineEXT(const Context *context, 1717 angle::EntryPoint entryPoint, 1718 ProgramPipelineID pipelinePacked); 1719 bool ValidateProgramParameteriEXT(const Context *context, 1720 angle::EntryPoint entryPoint, 1721 ShaderProgramID programPacked, 1722 GLenum pname, 1723 GLint value); 1724 bool ValidateProgramUniform1fEXT(const Context *context, 1725 angle::EntryPoint entryPoint, 1726 ShaderProgramID programPacked, 1727 UniformLocation locationPacked, 1728 GLfloat v0); 1729 bool ValidateProgramUniform1fvEXT(const Context *context, 1730 angle::EntryPoint entryPoint, 1731 ShaderProgramID programPacked, 1732 UniformLocation locationPacked, 1733 GLsizei count, 1734 const GLfloat *value); 1735 bool ValidateProgramUniform1iEXT(const Context *context, 1736 angle::EntryPoint entryPoint, 1737 ShaderProgramID programPacked, 1738 UniformLocation locationPacked, 1739 GLint v0); 1740 bool ValidateProgramUniform1ivEXT(const Context *context, 1741 angle::EntryPoint entryPoint, 1742 ShaderProgramID programPacked, 1743 UniformLocation locationPacked, 1744 GLsizei count, 1745 const GLint *value); 1746 bool ValidateProgramUniform1uiEXT(const Context *context, 1747 angle::EntryPoint entryPoint, 1748 ShaderProgramID programPacked, 1749 UniformLocation locationPacked, 1750 GLuint v0); 1751 bool ValidateProgramUniform1uivEXT(const Context *context, 1752 angle::EntryPoint entryPoint, 1753 ShaderProgramID programPacked, 1754 UniformLocation locationPacked, 1755 GLsizei count, 1756 const GLuint *value); 1757 bool ValidateProgramUniform2fEXT(const Context *context, 1758 angle::EntryPoint entryPoint, 1759 ShaderProgramID programPacked, 1760 UniformLocation locationPacked, 1761 GLfloat v0, 1762 GLfloat v1); 1763 bool ValidateProgramUniform2fvEXT(const Context *context, 1764 angle::EntryPoint entryPoint, 1765 ShaderProgramID programPacked, 1766 UniformLocation locationPacked, 1767 GLsizei count, 1768 const GLfloat *value); 1769 bool ValidateProgramUniform2iEXT(const Context *context, 1770 angle::EntryPoint entryPoint, 1771 ShaderProgramID programPacked, 1772 UniformLocation locationPacked, 1773 GLint v0, 1774 GLint v1); 1775 bool ValidateProgramUniform2ivEXT(const Context *context, 1776 angle::EntryPoint entryPoint, 1777 ShaderProgramID programPacked, 1778 UniformLocation locationPacked, 1779 GLsizei count, 1780 const GLint *value); 1781 bool ValidateProgramUniform2uiEXT(const Context *context, 1782 angle::EntryPoint entryPoint, 1783 ShaderProgramID programPacked, 1784 UniformLocation locationPacked, 1785 GLuint v0, 1786 GLuint v1); 1787 bool ValidateProgramUniform2uivEXT(const Context *context, 1788 angle::EntryPoint entryPoint, 1789 ShaderProgramID programPacked, 1790 UniformLocation locationPacked, 1791 GLsizei count, 1792 const GLuint *value); 1793 bool ValidateProgramUniform3fEXT(const Context *context, 1794 angle::EntryPoint entryPoint, 1795 ShaderProgramID programPacked, 1796 UniformLocation locationPacked, 1797 GLfloat v0, 1798 GLfloat v1, 1799 GLfloat v2); 1800 bool ValidateProgramUniform3fvEXT(const Context *context, 1801 angle::EntryPoint entryPoint, 1802 ShaderProgramID programPacked, 1803 UniformLocation locationPacked, 1804 GLsizei count, 1805 const GLfloat *value); 1806 bool ValidateProgramUniform3iEXT(const Context *context, 1807 angle::EntryPoint entryPoint, 1808 ShaderProgramID programPacked, 1809 UniformLocation locationPacked, 1810 GLint v0, 1811 GLint v1, 1812 GLint v2); 1813 bool ValidateProgramUniform3ivEXT(const Context *context, 1814 angle::EntryPoint entryPoint, 1815 ShaderProgramID programPacked, 1816 UniformLocation locationPacked, 1817 GLsizei count, 1818 const GLint *value); 1819 bool ValidateProgramUniform3uiEXT(const Context *context, 1820 angle::EntryPoint entryPoint, 1821 ShaderProgramID programPacked, 1822 UniformLocation locationPacked, 1823 GLuint v0, 1824 GLuint v1, 1825 GLuint v2); 1826 bool ValidateProgramUniform3uivEXT(const Context *context, 1827 angle::EntryPoint entryPoint, 1828 ShaderProgramID programPacked, 1829 UniformLocation locationPacked, 1830 GLsizei count, 1831 const GLuint *value); 1832 bool ValidateProgramUniform4fEXT(const Context *context, 1833 angle::EntryPoint entryPoint, 1834 ShaderProgramID programPacked, 1835 UniformLocation locationPacked, 1836 GLfloat v0, 1837 GLfloat v1, 1838 GLfloat v2, 1839 GLfloat v3); 1840 bool ValidateProgramUniform4fvEXT(const Context *context, 1841 angle::EntryPoint entryPoint, 1842 ShaderProgramID programPacked, 1843 UniformLocation locationPacked, 1844 GLsizei count, 1845 const GLfloat *value); 1846 bool ValidateProgramUniform4iEXT(const Context *context, 1847 angle::EntryPoint entryPoint, 1848 ShaderProgramID programPacked, 1849 UniformLocation locationPacked, 1850 GLint v0, 1851 GLint v1, 1852 GLint v2, 1853 GLint v3); 1854 bool ValidateProgramUniform4ivEXT(const Context *context, 1855 angle::EntryPoint entryPoint, 1856 ShaderProgramID programPacked, 1857 UniformLocation locationPacked, 1858 GLsizei count, 1859 const GLint *value); 1860 bool ValidateProgramUniform4uiEXT(const Context *context, 1861 angle::EntryPoint entryPoint, 1862 ShaderProgramID programPacked, 1863 UniformLocation locationPacked, 1864 GLuint v0, 1865 GLuint v1, 1866 GLuint v2, 1867 GLuint v3); 1868 bool ValidateProgramUniform4uivEXT(const Context *context, 1869 angle::EntryPoint entryPoint, 1870 ShaderProgramID programPacked, 1871 UniformLocation locationPacked, 1872 GLsizei count, 1873 const GLuint *value); 1874 bool ValidateProgramUniformMatrix2fvEXT(const Context *context, 1875 angle::EntryPoint entryPoint, 1876 ShaderProgramID programPacked, 1877 UniformLocation locationPacked, 1878 GLsizei count, 1879 GLboolean transpose, 1880 const GLfloat *value); 1881 bool ValidateProgramUniformMatrix2x3fvEXT(const Context *context, 1882 angle::EntryPoint entryPoint, 1883 ShaderProgramID programPacked, 1884 UniformLocation locationPacked, 1885 GLsizei count, 1886 GLboolean transpose, 1887 const GLfloat *value); 1888 bool ValidateProgramUniformMatrix2x4fvEXT(const Context *context, 1889 angle::EntryPoint entryPoint, 1890 ShaderProgramID programPacked, 1891 UniformLocation locationPacked, 1892 GLsizei count, 1893 GLboolean transpose, 1894 const GLfloat *value); 1895 bool ValidateProgramUniformMatrix3fvEXT(const Context *context, 1896 angle::EntryPoint entryPoint, 1897 ShaderProgramID programPacked, 1898 UniformLocation locationPacked, 1899 GLsizei count, 1900 GLboolean transpose, 1901 const GLfloat *value); 1902 bool ValidateProgramUniformMatrix3x2fvEXT(const Context *context, 1903 angle::EntryPoint entryPoint, 1904 ShaderProgramID programPacked, 1905 UniformLocation locationPacked, 1906 GLsizei count, 1907 GLboolean transpose, 1908 const GLfloat *value); 1909 bool ValidateProgramUniformMatrix3x4fvEXT(const Context *context, 1910 angle::EntryPoint entryPoint, 1911 ShaderProgramID programPacked, 1912 UniformLocation locationPacked, 1913 GLsizei count, 1914 GLboolean transpose, 1915 const GLfloat *value); 1916 bool ValidateProgramUniformMatrix4fvEXT(const Context *context, 1917 angle::EntryPoint entryPoint, 1918 ShaderProgramID programPacked, 1919 UniformLocation locationPacked, 1920 GLsizei count, 1921 GLboolean transpose, 1922 const GLfloat *value); 1923 bool ValidateProgramUniformMatrix4x2fvEXT(const Context *context, 1924 angle::EntryPoint entryPoint, 1925 ShaderProgramID programPacked, 1926 UniformLocation locationPacked, 1927 GLsizei count, 1928 GLboolean transpose, 1929 const GLfloat *value); 1930 bool ValidateProgramUniformMatrix4x3fvEXT(const Context *context, 1931 angle::EntryPoint entryPoint, 1932 ShaderProgramID programPacked, 1933 UniformLocation locationPacked, 1934 GLsizei count, 1935 GLboolean transpose, 1936 const GLfloat *value); 1937 bool ValidateUseProgramStagesEXT(const Context *context, 1938 angle::EntryPoint entryPoint, 1939 ProgramPipelineID pipelinePacked, 1940 GLbitfield stages, 1941 ShaderProgramID programPacked); 1942 bool ValidateValidateProgramPipelineEXT(const Context *context, 1943 angle::EntryPoint entryPoint, 1944 ProgramPipelineID pipelinePacked); 1945 1946 // GL_EXT_shader_framebuffer_fetch 1947 1948 // GL_EXT_shader_framebuffer_fetch_non_coherent 1949 bool ValidateFramebufferFetchBarrierEXT(const Context *context, angle::EntryPoint entryPoint); 1950 1951 // GL_EXT_shader_io_blocks 1952 1953 // GL_EXT_shader_non_constant_global_initializers 1954 1955 // GL_EXT_shader_texture_lod 1956 1957 // GL_EXT_shadow_samplers 1958 1959 // GL_EXT_tessellation_shader 1960 bool ValidatePatchParameteriEXT(const PrivateState &state, 1961 ErrorSet *errors, 1962 angle::EntryPoint entryPoint, 1963 GLenum pname, 1964 GLint value); 1965 1966 // GL_EXT_texture_border_clamp 1967 bool ValidateGetSamplerParameterIivEXT(const Context *context, 1968 angle::EntryPoint entryPoint, 1969 SamplerID samplerPacked, 1970 GLenum pname, 1971 const GLint *params); 1972 bool ValidateGetSamplerParameterIuivEXT(const Context *context, 1973 angle::EntryPoint entryPoint, 1974 SamplerID samplerPacked, 1975 GLenum pname, 1976 const GLuint *params); 1977 bool ValidateGetTexParameterIivEXT(const Context *context, 1978 angle::EntryPoint entryPoint, 1979 TextureType targetPacked, 1980 GLenum pname, 1981 const GLint *params); 1982 bool ValidateGetTexParameterIuivEXT(const Context *context, 1983 angle::EntryPoint entryPoint, 1984 TextureType targetPacked, 1985 GLenum pname, 1986 const GLuint *params); 1987 bool ValidateSamplerParameterIivEXT(const Context *context, 1988 angle::EntryPoint entryPoint, 1989 SamplerID samplerPacked, 1990 GLenum pname, 1991 const GLint *param); 1992 bool ValidateSamplerParameterIuivEXT(const Context *context, 1993 angle::EntryPoint entryPoint, 1994 SamplerID samplerPacked, 1995 GLenum pname, 1996 const GLuint *param); 1997 bool ValidateTexParameterIivEXT(const Context *context, 1998 angle::EntryPoint entryPoint, 1999 TextureType targetPacked, 2000 GLenum pname, 2001 const GLint *params); 2002 bool ValidateTexParameterIuivEXT(const Context *context, 2003 angle::EntryPoint entryPoint, 2004 TextureType targetPacked, 2005 GLenum pname, 2006 const GLuint *params); 2007 2008 // GL_EXT_texture_buffer 2009 bool ValidateTexBufferEXT(const Context *context, 2010 angle::EntryPoint entryPoint, 2011 TextureType targetPacked, 2012 GLenum internalformat, 2013 BufferID bufferPacked); 2014 bool ValidateTexBufferRangeEXT(const Context *context, 2015 angle::EntryPoint entryPoint, 2016 TextureType targetPacked, 2017 GLenum internalformat, 2018 BufferID bufferPacked, 2019 GLintptr offset, 2020 GLsizeiptr size); 2021 2022 // GL_EXT_texture_compression_astc_decode_mode 2023 2024 // GL_EXT_texture_compression_bptc 2025 2026 // GL_EXT_texture_compression_dxt1 2027 2028 // GL_EXT_texture_compression_rgtc 2029 2030 // GL_EXT_texture_compression_s3tc 2031 2032 // GL_EXT_texture_compression_s3tc_srgb 2033 2034 // GL_EXT_texture_cube_map_array 2035 2036 // GL_EXT_texture_filter_anisotropic 2037 2038 // GL_EXT_texture_filter_minmax 2039 2040 // GL_EXT_texture_format_BGRA8888 2041 2042 // GL_EXT_texture_format_sRGB_override 2043 2044 // GL_EXT_texture_mirror_clamp_to_edge 2045 2046 // GL_EXT_texture_norm16 2047 2048 // GL_EXT_texture_query_lod 2049 2050 // GL_EXT_texture_rg 2051 2052 // GL_EXT_texture_sRGB_R8 2053 2054 // GL_EXT_texture_sRGB_RG8 2055 2056 // GL_EXT_texture_sRGB_decode 2057 2058 // GL_EXT_texture_shadow_lod 2059 2060 // GL_EXT_texture_storage 2061 bool ValidateTexStorage1DEXT(const Context *context, 2062 angle::EntryPoint entryPoint, 2063 GLenum target, 2064 GLsizei levels, 2065 GLenum internalformat, 2066 GLsizei width); 2067 bool ValidateTexStorage2DEXT(const Context *context, 2068 angle::EntryPoint entryPoint, 2069 TextureType targetPacked, 2070 GLsizei levels, 2071 GLenum internalformat, 2072 GLsizei width, 2073 GLsizei height); 2074 bool ValidateTexStorage3DEXT(const Context *context, 2075 angle::EntryPoint entryPoint, 2076 TextureType targetPacked, 2077 GLsizei levels, 2078 GLenum internalformat, 2079 GLsizei width, 2080 GLsizei height, 2081 GLsizei depth); 2082 2083 // GL_EXT_texture_storage_compression 2084 bool ValidateTexStorageAttribs2DEXT(const Context *context, 2085 angle::EntryPoint entryPoint, 2086 GLenum target, 2087 GLsizei levels, 2088 GLenum internalformat, 2089 GLsizei width, 2090 GLsizei height, 2091 const GLint *attrib_list); 2092 bool ValidateTexStorageAttribs3DEXT(const Context *context, 2093 angle::EntryPoint entryPoint, 2094 GLenum target, 2095 GLsizei levels, 2096 GLenum internalformat, 2097 GLsizei width, 2098 GLsizei height, 2099 GLsizei depth, 2100 const GLint *attrib_list); 2101 2102 // GL_EXT_texture_type_2_10_10_10_REV 2103 2104 // GL_EXT_unpack_subimage 2105 2106 // GL_IMG_texture_compression_pvrtc 2107 2108 // GL_IMG_texture_compression_pvrtc2 2109 2110 // GL_KHR_blend_equation_advanced 2111 bool ValidateBlendBarrierKHR(const Context *context, angle::EntryPoint entryPoint); 2112 2113 // GL_KHR_blend_equation_advanced_coherent 2114 2115 // GL_KHR_debug 2116 bool ValidateDebugMessageCallbackKHR(const Context *context, 2117 angle::EntryPoint entryPoint, 2118 GLDEBUGPROCKHR callback, 2119 const void *userParam); 2120 bool ValidateDebugMessageControlKHR(const Context *context, 2121 angle::EntryPoint entryPoint, 2122 GLenum source, 2123 GLenum type, 2124 GLenum severity, 2125 GLsizei count, 2126 const GLuint *ids, 2127 GLboolean enabled); 2128 bool ValidateDebugMessageInsertKHR(const Context *context, 2129 angle::EntryPoint entryPoint, 2130 GLenum source, 2131 GLenum type, 2132 GLuint id, 2133 GLenum severity, 2134 GLsizei length, 2135 const GLchar *buf); 2136 bool ValidateGetDebugMessageLogKHR(const Context *context, 2137 angle::EntryPoint entryPoint, 2138 GLuint count, 2139 GLsizei bufSize, 2140 const GLenum *sources, 2141 const GLenum *types, 2142 const GLuint *ids, 2143 const GLenum *severities, 2144 const GLsizei *lengths, 2145 const GLchar *messageLog); 2146 bool ValidateGetObjectLabelKHR(const Context *context, 2147 angle::EntryPoint entryPoint, 2148 GLenum identifier, 2149 GLuint name, 2150 GLsizei bufSize, 2151 const GLsizei *length, 2152 const GLchar *label); 2153 bool ValidateGetObjectPtrLabelKHR(const Context *context, 2154 angle::EntryPoint entryPoint, 2155 const void *ptr, 2156 GLsizei bufSize, 2157 const GLsizei *length, 2158 const GLchar *label); 2159 bool ValidateGetPointervKHR(const Context *context, 2160 angle::EntryPoint entryPoint, 2161 GLenum pname, 2162 void *const *params); 2163 bool ValidateObjectLabelKHR(const Context *context, 2164 angle::EntryPoint entryPoint, 2165 GLenum identifier, 2166 GLuint name, 2167 GLsizei length, 2168 const GLchar *label); 2169 bool ValidateObjectPtrLabelKHR(const Context *context, 2170 angle::EntryPoint entryPoint, 2171 const void *ptr, 2172 GLsizei length, 2173 const GLchar *label); 2174 bool ValidatePopDebugGroupKHR(const Context *context, angle::EntryPoint entryPoint); 2175 bool ValidatePushDebugGroupKHR(const Context *context, 2176 angle::EntryPoint entryPoint, 2177 GLenum source, 2178 GLuint id, 2179 GLsizei length, 2180 const GLchar *message); 2181 2182 // GL_KHR_no_error 2183 2184 // GL_KHR_parallel_shader_compile 2185 bool ValidateMaxShaderCompilerThreadsKHR(const Context *context, 2186 angle::EntryPoint entryPoint, 2187 GLuint count); 2188 2189 // GL_KHR_robust_buffer_access_behavior 2190 2191 // GL_KHR_robustness 2192 bool ValidateGetGraphicsResetStatusKHR(const Context *context, angle::EntryPoint entryPoint); 2193 bool ValidateGetnUniformfvKHR(const Context *context, 2194 angle::EntryPoint entryPoint, 2195 ShaderProgramID programPacked, 2196 UniformLocation locationPacked, 2197 GLsizei bufSize, 2198 const GLfloat *params); 2199 bool ValidateGetnUniformivKHR(const Context *context, 2200 angle::EntryPoint entryPoint, 2201 ShaderProgramID programPacked, 2202 UniformLocation locationPacked, 2203 GLsizei bufSize, 2204 const GLint *params); 2205 bool ValidateGetnUniformuivKHR(const Context *context, 2206 angle::EntryPoint entryPoint, 2207 ShaderProgramID programPacked, 2208 UniformLocation locationPacked, 2209 GLsizei bufSize, 2210 const GLuint *params); 2211 bool ValidateReadnPixelsKHR(const Context *context, 2212 angle::EntryPoint entryPoint, 2213 GLint x, 2214 GLint y, 2215 GLsizei width, 2216 GLsizei height, 2217 GLenum format, 2218 GLenum type, 2219 GLsizei bufSize, 2220 const void *data); 2221 2222 // GL_KHR_texture_compression_astc_hdr 2223 2224 // GL_KHR_texture_compression_astc_ldr 2225 2226 // GL_KHR_texture_compression_astc_sliced_3d 2227 2228 // GL_MESA_framebuffer_flip_y 2229 bool ValidateFramebufferParameteriMESA(const Context *context, 2230 angle::EntryPoint entryPoint, 2231 GLenum target, 2232 GLenum pname, 2233 GLint param); 2234 bool ValidateGetFramebufferParameterivMESA(const Context *context, 2235 angle::EntryPoint entryPoint, 2236 GLenum target, 2237 GLenum pname, 2238 const GLint *params); 2239 2240 // GL_NV_fence 2241 bool ValidateDeleteFencesNV(const Context *context, 2242 angle::EntryPoint entryPoint, 2243 GLsizei n, 2244 const FenceNVID *fencesPacked); 2245 bool ValidateFinishFenceNV(const Context *context, 2246 angle::EntryPoint entryPoint, 2247 FenceNVID fencePacked); 2248 bool ValidateGenFencesNV(const Context *context, 2249 angle::EntryPoint entryPoint, 2250 GLsizei n, 2251 const FenceNVID *fencesPacked); 2252 bool ValidateGetFenceivNV(const Context *context, 2253 angle::EntryPoint entryPoint, 2254 FenceNVID fencePacked, 2255 GLenum pname, 2256 const GLint *params); 2257 bool ValidateIsFenceNV(const Context *context, angle::EntryPoint entryPoint, FenceNVID fencePacked); 2258 bool ValidateSetFenceNV(const Context *context, 2259 angle::EntryPoint entryPoint, 2260 FenceNVID fencePacked, 2261 GLenum condition); 2262 bool ValidateTestFenceNV(const Context *context, 2263 angle::EntryPoint entryPoint, 2264 FenceNVID fencePacked); 2265 2266 // GL_NV_framebuffer_blit 2267 bool ValidateBlitFramebufferNV(const Context *context, 2268 angle::EntryPoint entryPoint, 2269 GLint srcX0, 2270 GLint srcY0, 2271 GLint srcX1, 2272 GLint srcY1, 2273 GLint dstX0, 2274 GLint dstY0, 2275 GLint dstX1, 2276 GLint dstY1, 2277 GLbitfield mask, 2278 GLenum filter); 2279 2280 // GL_NV_pixel_buffer_object 2281 2282 // GL_NV_polygon_mode 2283 bool ValidatePolygonModeNV(const PrivateState &state, 2284 ErrorSet *errors, 2285 angle::EntryPoint entryPoint, 2286 GLenum face, 2287 PolygonMode modePacked); 2288 2289 // GL_NV_read_depth 2290 2291 // GL_NV_read_depth_stencil 2292 2293 // GL_NV_read_stencil 2294 2295 // GL_NV_robustness_video_memory_purge 2296 2297 // GL_NV_shader_noperspective_interpolation 2298 2299 // GL_OES_EGL_image 2300 bool ValidateEGLImageTargetRenderbufferStorageOES(const Context *context, 2301 angle::EntryPoint entryPoint, 2302 GLenum target, 2303 egl::ImageID imagePacked); 2304 bool ValidateEGLImageTargetTexture2DOES(const Context *context, 2305 angle::EntryPoint entryPoint, 2306 TextureType targetPacked, 2307 egl::ImageID imagePacked); 2308 2309 // GL_OES_EGL_image_external 2310 2311 // GL_OES_EGL_image_external_essl3 2312 2313 // GL_OES_blend_subtract 2314 bool ValidateBlendEquationOES(const PrivateState &state, 2315 ErrorSet *errors, 2316 angle::EntryPoint entryPoint, 2317 GLenum mode); 2318 2319 // GL_OES_compressed_ETC1_RGB8_texture 2320 2321 // GL_OES_compressed_paletted_texture 2322 2323 // GL_OES_copy_image 2324 bool ValidateCopyImageSubDataOES(const Context *context, 2325 angle::EntryPoint entryPoint, 2326 GLuint srcName, 2327 GLenum srcTarget, 2328 GLint srcLevel, 2329 GLint srcX, 2330 GLint srcY, 2331 GLint srcZ, 2332 GLuint dstName, 2333 GLenum dstTarget, 2334 GLint dstLevel, 2335 GLint dstX, 2336 GLint dstY, 2337 GLint dstZ, 2338 GLsizei srcWidth, 2339 GLsizei srcHeight, 2340 GLsizei srcDepth); 2341 2342 // GL_OES_depth24 2343 2344 // GL_OES_depth32 2345 2346 // GL_OES_depth_texture 2347 2348 // GL_OES_draw_buffers_indexed 2349 bool ValidateBlendEquationSeparateiOES(const PrivateState &state, 2350 ErrorSet *errors, 2351 angle::EntryPoint entryPoint, 2352 GLuint buf, 2353 GLenum modeRGB, 2354 GLenum modeAlpha); 2355 bool ValidateBlendEquationiOES(const PrivateState &state, 2356 ErrorSet *errors, 2357 angle::EntryPoint entryPoint, 2358 GLuint buf, 2359 GLenum mode); 2360 bool ValidateBlendFuncSeparateiOES(const PrivateState &state, 2361 ErrorSet *errors, 2362 angle::EntryPoint entryPoint, 2363 GLuint buf, 2364 GLenum srcRGB, 2365 GLenum dstRGB, 2366 GLenum srcAlpha, 2367 GLenum dstAlpha); 2368 bool ValidateBlendFunciOES(const PrivateState &state, 2369 ErrorSet *errors, 2370 angle::EntryPoint entryPoint, 2371 GLuint buf, 2372 GLenum src, 2373 GLenum dst); 2374 bool ValidateColorMaskiOES(const PrivateState &state, 2375 ErrorSet *errors, 2376 angle::EntryPoint entryPoint, 2377 GLuint index, 2378 GLboolean r, 2379 GLboolean g, 2380 GLboolean b, 2381 GLboolean a); 2382 bool ValidateDisableiOES(const PrivateState &state, 2383 ErrorSet *errors, 2384 angle::EntryPoint entryPoint, 2385 GLenum target, 2386 GLuint index); 2387 bool ValidateEnableiOES(const PrivateState &state, 2388 ErrorSet *errors, 2389 angle::EntryPoint entryPoint, 2390 GLenum target, 2391 GLuint index); 2392 bool ValidateIsEnablediOES(const PrivateState &state, 2393 ErrorSet *errors, 2394 angle::EntryPoint entryPoint, 2395 GLenum target, 2396 GLuint index); 2397 2398 // GL_OES_draw_elements_base_vertex 2399 bool ValidateDrawElementsBaseVertexOES(const Context *context, 2400 angle::EntryPoint entryPoint, 2401 PrimitiveMode modePacked, 2402 GLsizei count, 2403 DrawElementsType typePacked, 2404 const void *indices, 2405 GLint basevertex); 2406 bool ValidateDrawElementsInstancedBaseVertexOES(const Context *context, 2407 angle::EntryPoint entryPoint, 2408 PrimitiveMode modePacked, 2409 GLsizei count, 2410 DrawElementsType typePacked, 2411 const void *indices, 2412 GLsizei instancecount, 2413 GLint basevertex); 2414 bool ValidateDrawRangeElementsBaseVertexOES(const Context *context, 2415 angle::EntryPoint entryPoint, 2416 PrimitiveMode modePacked, 2417 GLuint start, 2418 GLuint end, 2419 GLsizei count, 2420 DrawElementsType typePacked, 2421 const void *indices, 2422 GLint basevertex); 2423 2424 // GL_OES_draw_texture 2425 bool ValidateDrawTexfOES(const Context *context, 2426 angle::EntryPoint entryPoint, 2427 GLfloat x, 2428 GLfloat y, 2429 GLfloat z, 2430 GLfloat width, 2431 GLfloat height); 2432 bool ValidateDrawTexfvOES(const Context *context, 2433 angle::EntryPoint entryPoint, 2434 const GLfloat *coords); 2435 bool ValidateDrawTexiOES(const Context *context, 2436 angle::EntryPoint entryPoint, 2437 GLint x, 2438 GLint y, 2439 GLint z, 2440 GLint width, 2441 GLint height); 2442 bool ValidateDrawTexivOES(const Context *context, 2443 angle::EntryPoint entryPoint, 2444 const GLint *coords); 2445 bool ValidateDrawTexsOES(const Context *context, 2446 angle::EntryPoint entryPoint, 2447 GLshort x, 2448 GLshort y, 2449 GLshort z, 2450 GLshort width, 2451 GLshort height); 2452 bool ValidateDrawTexsvOES(const Context *context, 2453 angle::EntryPoint entryPoint, 2454 const GLshort *coords); 2455 bool ValidateDrawTexxOES(const Context *context, 2456 angle::EntryPoint entryPoint, 2457 GLfixed x, 2458 GLfixed y, 2459 GLfixed z, 2460 GLfixed width, 2461 GLfixed height); 2462 bool ValidateDrawTexxvOES(const Context *context, 2463 angle::EntryPoint entryPoint, 2464 const GLfixed *coords); 2465 2466 // GL_OES_element_index_uint 2467 2468 // GL_OES_fbo_render_mipmap 2469 2470 // GL_OES_framebuffer_object 2471 bool ValidateBindFramebufferOES(const Context *context, 2472 angle::EntryPoint entryPoint, 2473 GLenum target, 2474 FramebufferID framebufferPacked); 2475 bool ValidateBindRenderbufferOES(const Context *context, 2476 angle::EntryPoint entryPoint, 2477 GLenum target, 2478 RenderbufferID renderbufferPacked); 2479 bool ValidateCheckFramebufferStatusOES(const Context *context, 2480 angle::EntryPoint entryPoint, 2481 GLenum target); 2482 bool ValidateDeleteFramebuffersOES(const Context *context, 2483 angle::EntryPoint entryPoint, 2484 GLsizei n, 2485 const FramebufferID *framebuffersPacked); 2486 bool ValidateDeleteRenderbuffersOES(const Context *context, 2487 angle::EntryPoint entryPoint, 2488 GLsizei n, 2489 const RenderbufferID *renderbuffersPacked); 2490 bool ValidateFramebufferRenderbufferOES(const Context *context, 2491 angle::EntryPoint entryPoint, 2492 GLenum target, 2493 GLenum attachment, 2494 GLenum renderbuffertarget, 2495 RenderbufferID renderbufferPacked); 2496 bool ValidateFramebufferTexture2DOES(const Context *context, 2497 angle::EntryPoint entryPoint, 2498 GLenum target, 2499 GLenum attachment, 2500 TextureTarget textargetPacked, 2501 TextureID texturePacked, 2502 GLint level); 2503 bool ValidateGenFramebuffersOES(const Context *context, 2504 angle::EntryPoint entryPoint, 2505 GLsizei n, 2506 const FramebufferID *framebuffersPacked); 2507 bool ValidateGenRenderbuffersOES(const Context *context, 2508 angle::EntryPoint entryPoint, 2509 GLsizei n, 2510 const RenderbufferID *renderbuffersPacked); 2511 bool ValidateGenerateMipmapOES(const Context *context, 2512 angle::EntryPoint entryPoint, 2513 TextureType targetPacked); 2514 bool ValidateGetFramebufferAttachmentParameterivOES(const Context *context, 2515 angle::EntryPoint entryPoint, 2516 GLenum target, 2517 GLenum attachment, 2518 GLenum pname, 2519 const GLint *params); 2520 bool ValidateGetRenderbufferParameterivOES(const Context *context, 2521 angle::EntryPoint entryPoint, 2522 GLenum target, 2523 GLenum pname, 2524 const GLint *params); 2525 bool ValidateIsFramebufferOES(const Context *context, 2526 angle::EntryPoint entryPoint, 2527 FramebufferID framebufferPacked); 2528 bool ValidateIsRenderbufferOES(const Context *context, 2529 angle::EntryPoint entryPoint, 2530 RenderbufferID renderbufferPacked); 2531 bool ValidateRenderbufferStorageOES(const Context *context, 2532 angle::EntryPoint entryPoint, 2533 GLenum target, 2534 GLenum internalformat, 2535 GLsizei width, 2536 GLsizei height); 2537 2538 // GL_OES_geometry_shader 2539 bool ValidateFramebufferTextureOES(const Context *context, 2540 angle::EntryPoint entryPoint, 2541 GLenum target, 2542 GLenum attachment, 2543 TextureID texturePacked, 2544 GLint level); 2545 2546 // GL_OES_get_program_binary 2547 bool ValidateGetProgramBinaryOES(const Context *context, 2548 angle::EntryPoint entryPoint, 2549 ShaderProgramID programPacked, 2550 GLsizei bufSize, 2551 const GLsizei *length, 2552 const GLenum *binaryFormat, 2553 const void *binary); 2554 bool ValidateProgramBinaryOES(const Context *context, 2555 angle::EntryPoint entryPoint, 2556 ShaderProgramID programPacked, 2557 GLenum binaryFormat, 2558 const void *binary, 2559 GLint length); 2560 2561 // GL_OES_gpu_shader5 2562 2563 // GL_OES_mapbuffer 2564 bool ValidateGetBufferPointervOES(const Context *context, 2565 angle::EntryPoint entryPoint, 2566 BufferBinding targetPacked, 2567 GLenum pname, 2568 void *const *params); 2569 bool ValidateMapBufferOES(const Context *context, 2570 angle::EntryPoint entryPoint, 2571 BufferBinding targetPacked, 2572 GLenum access); 2573 bool ValidateUnmapBufferOES(const Context *context, 2574 angle::EntryPoint entryPoint, 2575 BufferBinding targetPacked); 2576 2577 // GL_OES_matrix_palette 2578 bool ValidateCurrentPaletteMatrixOES(const Context *context, 2579 angle::EntryPoint entryPoint, 2580 GLuint matrixpaletteindex); 2581 bool ValidateLoadPaletteFromModelViewMatrixOES(const Context *context, 2582 angle::EntryPoint entryPoint); 2583 bool ValidateMatrixIndexPointerOES(const Context *context, 2584 angle::EntryPoint entryPoint, 2585 GLint size, 2586 GLenum type, 2587 GLsizei stride, 2588 const void *pointer); 2589 bool ValidateWeightPointerOES(const Context *context, 2590 angle::EntryPoint entryPoint, 2591 GLint size, 2592 GLenum type, 2593 GLsizei stride, 2594 const void *pointer); 2595 2596 // GL_OES_packed_depth_stencil 2597 2598 // GL_OES_point_size_array 2599 bool ValidatePointSizePointerOES(const Context *context, 2600 angle::EntryPoint entryPoint, 2601 VertexAttribType typePacked, 2602 GLsizei stride, 2603 const void *pointer); 2604 2605 // GL_OES_point_sprite 2606 2607 // GL_OES_primitive_bounding_box 2608 bool ValidatePrimitiveBoundingBoxOES(const PrivateState &state, 2609 ErrorSet *errors, 2610 angle::EntryPoint entryPoint, 2611 GLfloat minX, 2612 GLfloat minY, 2613 GLfloat minZ, 2614 GLfloat minW, 2615 GLfloat maxX, 2616 GLfloat maxY, 2617 GLfloat maxZ, 2618 GLfloat maxW); 2619 2620 // GL_OES_query_matrix 2621 bool ValidateQueryMatrixxOES(const Context *context, 2622 angle::EntryPoint entryPoint, 2623 const GLfixed *mantissa, 2624 const GLint *exponent); 2625 2626 // GL_OES_required_internalformat 2627 2628 // GL_OES_rgb8_rgba8 2629 2630 // GL_OES_sample_shading 2631 bool ValidateMinSampleShadingOES(const PrivateState &state, 2632 ErrorSet *errors, 2633 angle::EntryPoint entryPoint, 2634 GLfloat value); 2635 2636 // GL_OES_sample_variables 2637 2638 // GL_OES_shader_image_atomic 2639 2640 // GL_OES_shader_io_blocks 2641 2642 // GL_OES_shader_multisample_interpolation 2643 2644 // GL_OES_standard_derivatives 2645 2646 // GL_OES_surfaceless_context 2647 2648 // GL_OES_tessellation_shader 2649 bool ValidatePatchParameteriOES(const PrivateState &state, 2650 ErrorSet *errors, 2651 angle::EntryPoint entryPoint, 2652 GLenum pname, 2653 GLint value); 2654 2655 // GL_OES_texture_3D 2656 bool ValidateCompressedTexImage3DOES(const Context *context, 2657 angle::EntryPoint entryPoint, 2658 TextureTarget targetPacked, 2659 GLint level, 2660 GLenum internalformat, 2661 GLsizei width, 2662 GLsizei height, 2663 GLsizei depth, 2664 GLint border, 2665 GLsizei imageSize, 2666 const void *data); 2667 bool ValidateCompressedTexSubImage3DOES(const Context *context, 2668 angle::EntryPoint entryPoint, 2669 TextureTarget targetPacked, 2670 GLint level, 2671 GLint xoffset, 2672 GLint yoffset, 2673 GLint zoffset, 2674 GLsizei width, 2675 GLsizei height, 2676 GLsizei depth, 2677 GLenum format, 2678 GLsizei imageSize, 2679 const void *data); 2680 bool ValidateCopyTexSubImage3DOES(const Context *context, 2681 angle::EntryPoint entryPoint, 2682 TextureTarget targetPacked, 2683 GLint level, 2684 GLint xoffset, 2685 GLint yoffset, 2686 GLint zoffset, 2687 GLint x, 2688 GLint y, 2689 GLsizei width, 2690 GLsizei height); 2691 bool ValidateFramebufferTexture3DOES(const Context *context, 2692 angle::EntryPoint entryPoint, 2693 GLenum target, 2694 GLenum attachment, 2695 TextureTarget textargetPacked, 2696 TextureID texturePacked, 2697 GLint level, 2698 GLint zoffset); 2699 bool ValidateTexImage3DOES(const Context *context, 2700 angle::EntryPoint entryPoint, 2701 TextureTarget targetPacked, 2702 GLint level, 2703 GLenum internalformat, 2704 GLsizei width, 2705 GLsizei height, 2706 GLsizei depth, 2707 GLint border, 2708 GLenum format, 2709 GLenum type, 2710 const void *pixels); 2711 bool ValidateTexSubImage3DOES(const Context *context, 2712 angle::EntryPoint entryPoint, 2713 TextureTarget targetPacked, 2714 GLint level, 2715 GLint xoffset, 2716 GLint yoffset, 2717 GLint zoffset, 2718 GLsizei width, 2719 GLsizei height, 2720 GLsizei depth, 2721 GLenum format, 2722 GLenum type, 2723 const void *pixels); 2724 2725 // GL_OES_texture_border_clamp 2726 bool ValidateGetSamplerParameterIivOES(const Context *context, 2727 angle::EntryPoint entryPoint, 2728 SamplerID samplerPacked, 2729 GLenum pname, 2730 const GLint *params); 2731 bool ValidateGetSamplerParameterIuivOES(const Context *context, 2732 angle::EntryPoint entryPoint, 2733 SamplerID samplerPacked, 2734 GLenum pname, 2735 const GLuint *params); 2736 bool ValidateGetTexParameterIivOES(const Context *context, 2737 angle::EntryPoint entryPoint, 2738 TextureType targetPacked, 2739 GLenum pname, 2740 const GLint *params); 2741 bool ValidateGetTexParameterIuivOES(const Context *context, 2742 angle::EntryPoint entryPoint, 2743 TextureType targetPacked, 2744 GLenum pname, 2745 const GLuint *params); 2746 bool ValidateSamplerParameterIivOES(const Context *context, 2747 angle::EntryPoint entryPoint, 2748 SamplerID samplerPacked, 2749 GLenum pname, 2750 const GLint *param); 2751 bool ValidateSamplerParameterIuivOES(const Context *context, 2752 angle::EntryPoint entryPoint, 2753 SamplerID samplerPacked, 2754 GLenum pname, 2755 const GLuint *param); 2756 bool ValidateTexParameterIivOES(const Context *context, 2757 angle::EntryPoint entryPoint, 2758 TextureType targetPacked, 2759 GLenum pname, 2760 const GLint *params); 2761 bool ValidateTexParameterIuivOES(const Context *context, 2762 angle::EntryPoint entryPoint, 2763 TextureType targetPacked, 2764 GLenum pname, 2765 const GLuint *params); 2766 2767 // GL_OES_texture_buffer 2768 bool ValidateTexBufferOES(const Context *context, 2769 angle::EntryPoint entryPoint, 2770 TextureType targetPacked, 2771 GLenum internalformat, 2772 BufferID bufferPacked); 2773 bool ValidateTexBufferRangeOES(const Context *context, 2774 angle::EntryPoint entryPoint, 2775 TextureType targetPacked, 2776 GLenum internalformat, 2777 BufferID bufferPacked, 2778 GLintptr offset, 2779 GLsizeiptr size); 2780 2781 // GL_OES_texture_compression_astc 2782 2783 // GL_OES_texture_cube_map 2784 bool ValidateGetTexGenfvOES(const Context *context, 2785 angle::EntryPoint entryPoint, 2786 GLenum coord, 2787 GLenum pname, 2788 const GLfloat *params); 2789 bool ValidateGetTexGenivOES(const Context *context, 2790 angle::EntryPoint entryPoint, 2791 GLenum coord, 2792 GLenum pname, 2793 const GLint *params); 2794 bool ValidateGetTexGenxvOES(const Context *context, 2795 angle::EntryPoint entryPoint, 2796 GLenum coord, 2797 GLenum pname, 2798 const GLfixed *params); 2799 bool ValidateTexGenfOES(const Context *context, 2800 angle::EntryPoint entryPoint, 2801 GLenum coord, 2802 GLenum pname, 2803 GLfloat param); 2804 bool ValidateTexGenfvOES(const Context *context, 2805 angle::EntryPoint entryPoint, 2806 GLenum coord, 2807 GLenum pname, 2808 const GLfloat *params); 2809 bool ValidateTexGeniOES(const Context *context, 2810 angle::EntryPoint entryPoint, 2811 GLenum coord, 2812 GLenum pname, 2813 GLint param); 2814 bool ValidateTexGenivOES(const Context *context, 2815 angle::EntryPoint entryPoint, 2816 GLenum coord, 2817 GLenum pname, 2818 const GLint *params); 2819 bool ValidateTexGenxOES(const Context *context, 2820 angle::EntryPoint entryPoint, 2821 GLenum coord, 2822 GLenum pname, 2823 GLfixed param); 2824 bool ValidateTexGenxvOES(const Context *context, 2825 angle::EntryPoint entryPoint, 2826 GLenum coord, 2827 GLenum pname, 2828 const GLfixed *params); 2829 2830 // GL_OES_texture_cube_map_array 2831 2832 // GL_OES_texture_float 2833 2834 // GL_OES_texture_float_linear 2835 2836 // GL_OES_texture_half_float 2837 2838 // GL_OES_texture_half_float_linear 2839 2840 // GL_OES_texture_mirrored_repeat 2841 2842 // GL_OES_texture_npot 2843 2844 // GL_OES_texture_stencil8 2845 2846 // GL_OES_texture_storage_multisample_2d_array 2847 bool ValidateTexStorage3DMultisampleOES(const Context *context, 2848 angle::EntryPoint entryPoint, 2849 TextureType targetPacked, 2850 GLsizei samples, 2851 GLenum internalformat, 2852 GLsizei width, 2853 GLsizei height, 2854 GLsizei depth, 2855 GLboolean fixedsamplelocations); 2856 2857 // GL_OES_vertex_array_object 2858 bool ValidateBindVertexArrayOES(const Context *context, 2859 angle::EntryPoint entryPoint, 2860 VertexArrayID arrayPacked); 2861 bool ValidateDeleteVertexArraysOES(const Context *context, 2862 angle::EntryPoint entryPoint, 2863 GLsizei n, 2864 const VertexArrayID *arraysPacked); 2865 bool ValidateGenVertexArraysOES(const Context *context, 2866 angle::EntryPoint entryPoint, 2867 GLsizei n, 2868 const VertexArrayID *arraysPacked); 2869 bool ValidateIsVertexArrayOES(const Context *context, 2870 angle::EntryPoint entryPoint, 2871 VertexArrayID arrayPacked); 2872 2873 // GL_OES_vertex_half_float 2874 2875 // GL_OES_vertex_type_10_10_10_2 2876 2877 // GL_OVR_multiview 2878 bool ValidateFramebufferTextureMultiviewOVR(const Context *context, 2879 angle::EntryPoint entryPoint, 2880 GLenum target, 2881 GLenum attachment, 2882 TextureID texturePacked, 2883 GLint level, 2884 GLint baseViewIndex, 2885 GLsizei numViews); 2886 2887 // GL_OVR_multiview2 2888 2889 // GL_QCOM_framebuffer_foveated 2890 bool ValidateFramebufferFoveationConfigQCOM(const Context *context, 2891 angle::EntryPoint entryPoint, 2892 FramebufferID framebufferPacked, 2893 GLuint numLayers, 2894 GLuint focalPointsPerLayer, 2895 GLuint requestedFeatures, 2896 const GLuint *providedFeatures); 2897 bool ValidateFramebufferFoveationParametersQCOM(const Context *context, 2898 angle::EntryPoint entryPoint, 2899 FramebufferID framebufferPacked, 2900 GLuint layer, 2901 GLuint focalPoint, 2902 GLfloat focalX, 2903 GLfloat focalY, 2904 GLfloat gainX, 2905 GLfloat gainY, 2906 GLfloat foveaArea); 2907 2908 // GL_QCOM_render_shared_exponent 2909 2910 // GL_QCOM_shading_rate 2911 bool ValidateShadingRateQCOM(const PrivateState &state, 2912 ErrorSet *errors, 2913 angle::EntryPoint entryPoint, 2914 GLenum rate); 2915 2916 // GL_QCOM_texture_foveated 2917 bool ValidateTextureFoveationParametersQCOM(const Context *context, 2918 angle::EntryPoint entryPoint, 2919 TextureID texturePacked, 2920 GLuint layer, 2921 GLuint focalPoint, 2922 GLfloat focalX, 2923 GLfloat focalY, 2924 GLfloat gainX, 2925 GLfloat gainY, 2926 GLfloat foveaArea); 2927 2928 // GL_QCOM_tiled_rendering 2929 bool ValidateEndTilingQCOM(const Context *context, 2930 angle::EntryPoint entryPoint, 2931 GLbitfield preserveMask); 2932 bool ValidateStartTilingQCOM(const Context *context, 2933 angle::EntryPoint entryPoint, 2934 GLuint x, 2935 GLuint y, 2936 GLuint width, 2937 GLuint height, 2938 GLbitfield preserveMask); 2939 } // namespace gl 2940 2941 #endif // LIBANGLE_VALIDATION_ESEXT_AUTOGEN_H_ 2942