tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

validationESEXT_autogen.h (142514B)


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