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