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