• 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 
16 namespace gl
17 {
18 class Context;
19 
20 // GL_ANGLE_base_vertex_base_instance
21 bool ValidateDrawArraysInstancedBaseInstanceANGLE(const Context *context,
22                                                   PrimitiveMode modePacked,
23                                                   GLint first,
24                                                   GLsizei count,
25                                                   GLsizei instanceCount,
26                                                   GLuint baseInstance);
27 bool ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context,
28                                                               PrimitiveMode modePacked,
29                                                               GLsizei count,
30                                                               DrawElementsType typePacked,
31                                                               const GLvoid *indices,
32                                                               GLsizei instanceCounts,
33                                                               GLint baseVertex,
34                                                               GLuint baseInstance);
35 bool ValidateMultiDrawArraysInstancedBaseInstanceANGLE(const Context *context,
36                                                        PrimitiveMode modePacked,
37                                                        const GLint *firsts,
38                                                        const GLsizei *counts,
39                                                        const GLsizei *instanceCounts,
40                                                        const GLuint *baseInstances,
41                                                        GLsizei drawcount);
42 bool ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context,
43                                                                    PrimitiveMode modePacked,
44                                                                    const GLsizei *counts,
45                                                                    DrawElementsType typePacked,
46                                                                    const GLvoid *const *indices,
47                                                                    const GLsizei *instanceCounts,
48                                                                    const GLint *baseVertices,
49                                                                    const GLuint *baseInstances,
50                                                                    GLsizei drawcount);
51 
52 // GL_ANGLE_copy_texture_3d
53 bool ValidateCopyTexture3DANGLE(const Context *context,
54                                 TextureID sourceIdPacked,
55                                 GLint sourceLevel,
56                                 TextureTarget destTargetPacked,
57                                 TextureID destIdPacked,
58                                 GLint destLevel,
59                                 GLint internalFormat,
60                                 GLenum destType,
61                                 GLboolean unpackFlipY,
62                                 GLboolean unpackPremultiplyAlpha,
63                                 GLboolean unpackUnmultiplyAlpha);
64 bool ValidateCopySubTexture3DANGLE(const Context *context,
65                                    TextureID sourceIdPacked,
66                                    GLint sourceLevel,
67                                    TextureTarget destTargetPacked,
68                                    TextureID destIdPacked,
69                                    GLint destLevel,
70                                    GLint xoffset,
71                                    GLint yoffset,
72                                    GLint zoffset,
73                                    GLint x,
74                                    GLint y,
75                                    GLint z,
76                                    GLint width,
77                                    GLint height,
78                                    GLint depth,
79                                    GLboolean unpackFlipY,
80                                    GLboolean unpackPremultiplyAlpha,
81                                    GLboolean unpackUnmultiplyAlpha);
82 
83 // GL_ANGLE_framebuffer_blit
84 bool ValidateBlitFramebufferANGLE(const Context *context,
85                                   GLint srcX0,
86                                   GLint srcY0,
87                                   GLint srcX1,
88                                   GLint srcY1,
89                                   GLint dstX0,
90                                   GLint dstY0,
91                                   GLint dstX1,
92                                   GLint dstY1,
93                                   GLbitfield mask,
94                                   GLenum filter);
95 
96 // GL_ANGLE_framebuffer_multisample
97 bool ValidateRenderbufferStorageMultisampleANGLE(const Context *context,
98                                                  GLenum target,
99                                                  GLsizei samples,
100                                                  GLenum internalformat,
101                                                  GLsizei width,
102                                                  GLsizei height);
103 
104 // GL_ANGLE_get_image
105 bool ValidateGetTexImageANGLE(const Context *context,
106                               TextureTarget targetPacked,
107                               GLint level,
108                               GLenum format,
109                               GLenum type,
110                               const void *pixels);
111 bool ValidateGetRenderbufferImageANGLE(const Context *context,
112                                        GLenum target,
113                                        GLenum format,
114                                        GLenum type,
115                                        const void *pixels);
116 
117 // GL_ANGLE_instanced_arrays
118 bool ValidateDrawArraysInstancedANGLE(const Context *context,
119                                       PrimitiveMode modePacked,
120                                       GLint first,
121                                       GLsizei count,
122                                       GLsizei primcount);
123 bool ValidateDrawElementsInstancedANGLE(const Context *context,
124                                         PrimitiveMode modePacked,
125                                         GLsizei count,
126                                         DrawElementsType typePacked,
127                                         const void *indices,
128                                         GLsizei primcount);
129 bool ValidateVertexAttribDivisorANGLE(const Context *context, GLuint index, GLuint divisor);
130 
131 // GL_ANGLE_memory_object_fuchsia
132 bool ValidateImportMemoryZirconHandleANGLE(const Context *context,
133                                            MemoryObjectID memoryPacked,
134                                            GLuint64 size,
135                                            HandleType handleTypePacked,
136                                            GLuint handle);
137 
138 // GL_ANGLE_multi_draw
139 bool ValidateMultiDrawArraysANGLE(const Context *context,
140                                   PrimitiveMode modePacked,
141                                   const GLint *firsts,
142                                   const GLsizei *counts,
143                                   GLsizei drawcount);
144 bool ValidateMultiDrawArraysInstancedANGLE(const Context *context,
145                                            PrimitiveMode modePacked,
146                                            const GLint *firsts,
147                                            const GLsizei *counts,
148                                            const GLsizei *instanceCounts,
149                                            GLsizei drawcount);
150 bool ValidateMultiDrawElementsANGLE(const Context *context,
151                                     PrimitiveMode modePacked,
152                                     const GLsizei *counts,
153                                     DrawElementsType typePacked,
154                                     const GLvoid *const *indices,
155                                     GLsizei drawcount);
156 bool ValidateMultiDrawElementsInstancedANGLE(const Context *context,
157                                              PrimitiveMode modePacked,
158                                              const GLsizei *counts,
159                                              DrawElementsType typePacked,
160                                              const GLvoid *const *indices,
161                                              const GLsizei *instanceCounts,
162                                              GLsizei drawcount);
163 
164 // GL_ANGLE_program_binary
165 
166 // GL_ANGLE_provoking_vertex
167 bool ValidateProvokingVertexANGLE(const Context *context, ProvokingVertexConvention modePacked);
168 
169 // GL_ANGLE_request_extension
170 bool ValidateRequestExtensionANGLE(const Context *context, const GLchar *name);
171 bool ValidateDisableExtensionANGLE(const Context *context, const GLchar *name);
172 
173 // GL_ANGLE_robust_client_memory
174 bool ValidateGetBooleanvRobustANGLE(const Context *context,
175                                     GLenum pname,
176                                     GLsizei bufSize,
177                                     const GLsizei *length,
178                                     const GLboolean *params);
179 bool ValidateGetBufferParameterivRobustANGLE(const Context *context,
180                                              BufferBinding targetPacked,
181                                              GLenum pname,
182                                              GLsizei bufSize,
183                                              const GLsizei *length,
184                                              const GLint *params);
185 bool ValidateGetFloatvRobustANGLE(const Context *context,
186                                   GLenum pname,
187                                   GLsizei bufSize,
188                                   const GLsizei *length,
189                                   const GLfloat *params);
190 bool ValidateGetFramebufferAttachmentParameterivRobustANGLE(const Context *context,
191                                                             GLenum target,
192                                                             GLenum attachment,
193                                                             GLenum pname,
194                                                             GLsizei bufSize,
195                                                             const GLsizei *length,
196                                                             const GLint *params);
197 bool ValidateGetIntegervRobustANGLE(const Context *context,
198                                     GLenum pname,
199                                     GLsizei bufSize,
200                                     const GLsizei *length,
201                                     const GLint *data);
202 bool ValidateGetProgramivRobustANGLE(const Context *context,
203                                      ShaderProgramID programPacked,
204                                      GLenum pname,
205                                      GLsizei bufSize,
206                                      const GLsizei *length,
207                                      const GLint *params);
208 bool ValidateGetRenderbufferParameterivRobustANGLE(const Context *context,
209                                                    GLenum target,
210                                                    GLenum pname,
211                                                    GLsizei bufSize,
212                                                    const GLsizei *length,
213                                                    const GLint *params);
214 bool ValidateGetShaderivRobustANGLE(const Context *context,
215                                     ShaderProgramID shaderPacked,
216                                     GLenum pname,
217                                     GLsizei bufSize,
218                                     const GLsizei *length,
219                                     const GLint *params);
220 bool ValidateGetTexParameterfvRobustANGLE(const Context *context,
221                                           TextureType targetPacked,
222                                           GLenum pname,
223                                           GLsizei bufSize,
224                                           const GLsizei *length,
225                                           const GLfloat *params);
226 bool ValidateGetTexParameterivRobustANGLE(const Context *context,
227                                           TextureType targetPacked,
228                                           GLenum pname,
229                                           GLsizei bufSize,
230                                           const GLsizei *length,
231                                           const GLint *params);
232 bool ValidateGetUniformfvRobustANGLE(const Context *context,
233                                      ShaderProgramID programPacked,
234                                      UniformLocation locationPacked,
235                                      GLsizei bufSize,
236                                      const GLsizei *length,
237                                      const GLfloat *params);
238 bool ValidateGetUniformivRobustANGLE(const Context *context,
239                                      ShaderProgramID programPacked,
240                                      UniformLocation locationPacked,
241                                      GLsizei bufSize,
242                                      const GLsizei *length,
243                                      const GLint *params);
244 bool ValidateGetVertexAttribfvRobustANGLE(const Context *context,
245                                           GLuint index,
246                                           GLenum pname,
247                                           GLsizei bufSize,
248                                           const GLsizei *length,
249                                           const GLfloat *params);
250 bool ValidateGetVertexAttribivRobustANGLE(const Context *context,
251                                           GLuint index,
252                                           GLenum pname,
253                                           GLsizei bufSize,
254                                           const GLsizei *length,
255                                           const GLint *params);
256 bool ValidateGetVertexAttribPointervRobustANGLE(const Context *context,
257                                                 GLuint index,
258                                                 GLenum pname,
259                                                 GLsizei bufSize,
260                                                 const GLsizei *length,
261                                                 void *const *pointer);
262 bool ValidateReadPixelsRobustANGLE(const Context *context,
263                                    GLint x,
264                                    GLint y,
265                                    GLsizei width,
266                                    GLsizei height,
267                                    GLenum format,
268                                    GLenum type,
269                                    GLsizei bufSize,
270                                    const GLsizei *length,
271                                    const GLsizei *columns,
272                                    const GLsizei *rows,
273                                    const void *pixels);
274 bool ValidateTexImage2DRobustANGLE(const Context *context,
275                                    TextureTarget targetPacked,
276                                    GLint level,
277                                    GLint internalformat,
278                                    GLsizei width,
279                                    GLsizei height,
280                                    GLint border,
281                                    GLenum format,
282                                    GLenum type,
283                                    GLsizei bufSize,
284                                    const void *pixels);
285 bool ValidateTexParameterfvRobustANGLE(const Context *context,
286                                        TextureType targetPacked,
287                                        GLenum pname,
288                                        GLsizei bufSize,
289                                        const GLfloat *params);
290 bool ValidateTexParameterivRobustANGLE(const Context *context,
291                                        TextureType targetPacked,
292                                        GLenum pname,
293                                        GLsizei bufSize,
294                                        const GLint *params);
295 bool ValidateTexSubImage2DRobustANGLE(const Context *context,
296                                       TextureTarget targetPacked,
297                                       GLint level,
298                                       GLint xoffset,
299                                       GLint yoffset,
300                                       GLsizei width,
301                                       GLsizei height,
302                                       GLenum format,
303                                       GLenum type,
304                                       GLsizei bufSize,
305                                       const void *pixels);
306 bool ValidateTexImage3DRobustANGLE(const Context *context,
307                                    TextureTarget targetPacked,
308                                    GLint level,
309                                    GLint internalformat,
310                                    GLsizei width,
311                                    GLsizei height,
312                                    GLsizei depth,
313                                    GLint border,
314                                    GLenum format,
315                                    GLenum type,
316                                    GLsizei bufSize,
317                                    const void *pixels);
318 bool ValidateTexSubImage3DRobustANGLE(const Context *context,
319                                       TextureTarget targetPacked,
320                                       GLint level,
321                                       GLint xoffset,
322                                       GLint yoffset,
323                                       GLint zoffset,
324                                       GLsizei width,
325                                       GLsizei height,
326                                       GLsizei depth,
327                                       GLenum format,
328                                       GLenum type,
329                                       GLsizei bufSize,
330                                       const void *pixels);
331 bool ValidateCompressedTexImage2DRobustANGLE(const Context *context,
332                                              TextureTarget targetPacked,
333                                              GLint level,
334                                              GLenum internalformat,
335                                              GLsizei width,
336                                              GLsizei height,
337                                              GLint border,
338                                              GLsizei imageSize,
339                                              GLsizei dataSize,
340                                              const GLvoid *data);
341 bool ValidateCompressedTexSubImage2DRobustANGLE(const Context *context,
342                                                 TextureTarget targetPacked,
343                                                 GLint level,
344                                                 GLsizei xoffset,
345                                                 GLsizei yoffset,
346                                                 GLsizei width,
347                                                 GLsizei height,
348                                                 GLenum format,
349                                                 GLsizei imageSize,
350                                                 GLsizei dataSize,
351                                                 const GLvoid *data);
352 bool ValidateCompressedTexImage3DRobustANGLE(const Context *context,
353                                              TextureTarget targetPacked,
354                                              GLint level,
355                                              GLenum internalformat,
356                                              GLsizei width,
357                                              GLsizei height,
358                                              GLsizei depth,
359                                              GLint border,
360                                              GLsizei imageSize,
361                                              GLsizei dataSize,
362                                              const GLvoid *data);
363 bool ValidateCompressedTexSubImage3DRobustANGLE(const Context *context,
364                                                 TextureTarget targetPacked,
365                                                 GLint level,
366                                                 GLint xoffset,
367                                                 GLint yoffset,
368                                                 GLint zoffset,
369                                                 GLsizei width,
370                                                 GLsizei height,
371                                                 GLsizei depth,
372                                                 GLenum format,
373                                                 GLsizei imageSize,
374                                                 GLsizei dataSize,
375                                                 const GLvoid *data);
376 bool ValidateGetQueryivRobustANGLE(const Context *context,
377                                    QueryType targetPacked,
378                                    GLenum pname,
379                                    GLsizei bufSize,
380                                    const GLsizei *length,
381                                    const GLint *params);
382 bool ValidateGetQueryObjectuivRobustANGLE(const Context *context,
383                                           QueryID idPacked,
384                                           GLenum pname,
385                                           GLsizei bufSize,
386                                           const GLsizei *length,
387                                           const GLuint *params);
388 bool ValidateGetBufferPointervRobustANGLE(const Context *context,
389                                           BufferBinding targetPacked,
390                                           GLenum pname,
391                                           GLsizei bufSize,
392                                           const GLsizei *length,
393                                           void *const *params);
394 bool ValidateGetIntegeri_vRobustANGLE(const Context *context,
395                                       GLenum target,
396                                       GLuint index,
397                                       GLsizei bufSize,
398                                       const GLsizei *length,
399                                       const GLint *data);
400 bool ValidateGetInternalformativRobustANGLE(const Context *context,
401                                             GLenum target,
402                                             GLenum internalformat,
403                                             GLenum pname,
404                                             GLsizei bufSize,
405                                             const GLsizei *length,
406                                             const GLint *params);
407 bool ValidateGetVertexAttribIivRobustANGLE(const Context *context,
408                                            GLuint index,
409                                            GLenum pname,
410                                            GLsizei bufSize,
411                                            const GLsizei *length,
412                                            const GLint *params);
413 bool ValidateGetVertexAttribIuivRobustANGLE(const Context *context,
414                                             GLuint index,
415                                             GLenum pname,
416                                             GLsizei bufSize,
417                                             const GLsizei *length,
418                                             const GLuint *params);
419 bool ValidateGetUniformuivRobustANGLE(const Context *context,
420                                       ShaderProgramID programPacked,
421                                       UniformLocation locationPacked,
422                                       GLsizei bufSize,
423                                       const GLsizei *length,
424                                       const GLuint *params);
425 bool ValidateGetActiveUniformBlockivRobustANGLE(const Context *context,
426                                                 ShaderProgramID programPacked,
427                                                 GLuint uniformBlockIndex,
428                                                 GLenum pname,
429                                                 GLsizei bufSize,
430                                                 const GLsizei *length,
431                                                 const GLint *params);
432 bool ValidateGetInteger64vRobustANGLE(const Context *context,
433                                       GLenum pname,
434                                       GLsizei bufSize,
435                                       const GLsizei *length,
436                                       const GLint64 *data);
437 bool ValidateGetInteger64i_vRobustANGLE(const Context *context,
438                                         GLenum target,
439                                         GLuint index,
440                                         GLsizei bufSize,
441                                         const GLsizei *length,
442                                         const GLint64 *data);
443 bool ValidateGetBufferParameteri64vRobustANGLE(const Context *context,
444                                                BufferBinding targetPacked,
445                                                GLenum pname,
446                                                GLsizei bufSize,
447                                                const GLsizei *length,
448                                                const GLint64 *params);
449 bool ValidateSamplerParameterivRobustANGLE(const Context *context,
450                                            SamplerID samplerPacked,
451                                            GLuint pname,
452                                            GLsizei bufSize,
453                                            const GLint *param);
454 bool ValidateSamplerParameterfvRobustANGLE(const Context *context,
455                                            SamplerID samplerPacked,
456                                            GLenum pname,
457                                            GLsizei bufSize,
458                                            const GLfloat *param);
459 bool ValidateGetSamplerParameterivRobustANGLE(const Context *context,
460                                               SamplerID samplerPacked,
461                                               GLenum pname,
462                                               GLsizei bufSize,
463                                               const GLsizei *length,
464                                               const GLint *params);
465 bool ValidateGetSamplerParameterfvRobustANGLE(const Context *context,
466                                               SamplerID samplerPacked,
467                                               GLenum pname,
468                                               GLsizei bufSize,
469                                               const GLsizei *length,
470                                               const GLfloat *params);
471 bool ValidateGetFramebufferParameterivRobustANGLE(const Context *context,
472                                                   GLenum target,
473                                                   GLenum pname,
474                                                   GLsizei bufSize,
475                                                   const GLsizei *length,
476                                                   const GLint *params);
477 bool ValidateGetProgramInterfaceivRobustANGLE(const Context *context,
478                                               ShaderProgramID programPacked,
479                                               GLenum programInterface,
480                                               GLenum pname,
481                                               GLsizei bufSize,
482                                               const GLsizei *length,
483                                               const GLint *params);
484 bool ValidateGetBooleani_vRobustANGLE(const Context *context,
485                                       GLenum target,
486                                       GLuint index,
487                                       GLsizei bufSize,
488                                       const GLsizei *length,
489                                       const GLboolean *data);
490 bool ValidateGetMultisamplefvRobustANGLE(const Context *context,
491                                          GLenum pname,
492                                          GLuint index,
493                                          GLsizei bufSize,
494                                          const GLsizei *length,
495                                          const GLfloat *val);
496 bool ValidateGetTexLevelParameterivRobustANGLE(const Context *context,
497                                                TextureTarget targetPacked,
498                                                GLint level,
499                                                GLenum pname,
500                                                GLsizei bufSize,
501                                                const GLsizei *length,
502                                                const GLint *params);
503 bool ValidateGetTexLevelParameterfvRobustANGLE(const Context *context,
504                                                TextureTarget targetPacked,
505                                                GLint level,
506                                                GLenum pname,
507                                                GLsizei bufSize,
508                                                const GLsizei *length,
509                                                const GLfloat *params);
510 bool ValidateGetPointervRobustANGLERobustANGLE(const Context *context,
511                                                GLenum pname,
512                                                GLsizei bufSize,
513                                                const GLsizei *length,
514                                                void *const *params);
515 bool ValidateReadnPixelsRobustANGLE(const Context *context,
516                                     GLint x,
517                                     GLint y,
518                                     GLsizei width,
519                                     GLsizei height,
520                                     GLenum format,
521                                     GLenum type,
522                                     GLsizei bufSize,
523                                     const GLsizei *length,
524                                     const GLsizei *columns,
525                                     const GLsizei *rows,
526                                     const void *data);
527 bool ValidateGetnUniformfvRobustANGLE(const Context *context,
528                                       ShaderProgramID programPacked,
529                                       UniformLocation locationPacked,
530                                       GLsizei bufSize,
531                                       const GLsizei *length,
532                                       const GLfloat *params);
533 bool ValidateGetnUniformivRobustANGLE(const Context *context,
534                                       ShaderProgramID programPacked,
535                                       UniformLocation locationPacked,
536                                       GLsizei bufSize,
537                                       const GLsizei *length,
538                                       const GLint *params);
539 bool ValidateGetnUniformuivRobustANGLE(const Context *context,
540                                        ShaderProgramID programPacked,
541                                        UniformLocation locationPacked,
542                                        GLsizei bufSize,
543                                        const GLsizei *length,
544                                        const GLuint *params);
545 bool ValidateTexParameterIivRobustANGLE(const Context *context,
546                                         TextureType targetPacked,
547                                         GLenum pname,
548                                         GLsizei bufSize,
549                                         const GLint *params);
550 bool ValidateTexParameterIuivRobustANGLE(const Context *context,
551                                          TextureType targetPacked,
552                                          GLenum pname,
553                                          GLsizei bufSize,
554                                          const GLuint *params);
555 bool ValidateGetTexParameterIivRobustANGLE(const Context *context,
556                                            TextureType targetPacked,
557                                            GLenum pname,
558                                            GLsizei bufSize,
559                                            const GLsizei *length,
560                                            const GLint *params);
561 bool ValidateGetTexParameterIuivRobustANGLE(const Context *context,
562                                             TextureType targetPacked,
563                                             GLenum pname,
564                                             GLsizei bufSize,
565                                             const GLsizei *length,
566                                             const GLuint *params);
567 bool ValidateSamplerParameterIivRobustANGLE(const Context *context,
568                                             SamplerID samplerPacked,
569                                             GLenum pname,
570                                             GLsizei bufSize,
571                                             const GLint *param);
572 bool ValidateSamplerParameterIuivRobustANGLE(const Context *context,
573                                              SamplerID samplerPacked,
574                                              GLenum pname,
575                                              GLsizei bufSize,
576                                              const GLuint *param);
577 bool ValidateGetSamplerParameterIivRobustANGLE(const Context *context,
578                                                SamplerID samplerPacked,
579                                                GLenum pname,
580                                                GLsizei bufSize,
581                                                const GLsizei *length,
582                                                const GLint *params);
583 bool ValidateGetSamplerParameterIuivRobustANGLE(const Context *context,
584                                                 SamplerID samplerPacked,
585                                                 GLenum pname,
586                                                 GLsizei bufSize,
587                                                 const GLsizei *length,
588                                                 const GLuint *params);
589 bool ValidateGetQueryObjectivRobustANGLE(const Context *context,
590                                          QueryID idPacked,
591                                          GLenum pname,
592                                          GLsizei bufSize,
593                                          const GLsizei *length,
594                                          const GLint *params);
595 bool ValidateGetQueryObjecti64vRobustANGLE(const Context *context,
596                                            QueryID idPacked,
597                                            GLenum pname,
598                                            GLsizei bufSize,
599                                            const GLsizei *length,
600                                            const GLint64 *params);
601 bool ValidateGetQueryObjectui64vRobustANGLE(const Context *context,
602                                             QueryID idPacked,
603                                             GLenum pname,
604                                             GLsizei bufSize,
605                                             const GLsizei *length,
606                                             const GLuint64 *params);
607 
608 // GL_ANGLE_semaphore_fuchsia
609 bool ValidateImportSemaphoreZirconHandleANGLE(const Context *context,
610                                               SemaphoreID semaphorePacked,
611                                               HandleType handleTypePacked,
612                                               GLuint handle);
613 
614 // GL_ANGLE_texture_external_update
615 bool ValidateTexImage2DExternalANGLE(const Context *context,
616                                      TextureTarget targetPacked,
617                                      GLint level,
618                                      GLint internalformat,
619                                      GLsizei width,
620                                      GLsizei height,
621                                      GLint border,
622                                      GLenum format,
623                                      GLenum type);
624 bool ValidateInvalidateTextureANGLE(const Context *context, TextureType targetPacked);
625 
626 // GL_ANGLE_texture_multisample
627 bool ValidateTexStorage2DMultisampleANGLE(const Context *context,
628                                           TextureType targetPacked,
629                                           GLsizei samples,
630                                           GLenum internalformat,
631                                           GLsizei width,
632                                           GLsizei height,
633                                           GLboolean fixedsamplelocations);
634 bool ValidateGetTexLevelParameterivANGLE(const Context *context,
635                                          TextureTarget targetPacked,
636                                          GLint level,
637                                          GLenum pname,
638                                          const GLint *params);
639 bool ValidateGetTexLevelParameterfvANGLE(const Context *context,
640                                          TextureTarget targetPacked,
641                                          GLint level,
642                                          GLenum pname,
643                                          const GLfloat *params);
644 bool ValidateGetMultisamplefvANGLE(const Context *context,
645                                    GLenum pname,
646                                    GLuint index,
647                                    const GLfloat *val);
648 bool ValidateSampleMaskiANGLE(const Context *context, GLuint maskNumber, GLbitfield mask);
649 
650 // GL_ANGLE_translated_shader_source
651 bool ValidateGetTranslatedShaderSourceANGLE(const Context *context,
652                                             ShaderProgramID shaderPacked,
653                                             GLsizei bufsize,
654                                             const GLsizei *length,
655                                             const GLchar *source);
656 
657 // GL_CHROMIUM_bind_uniform_location
658 bool ValidateBindUniformLocationCHROMIUM(const Context *context,
659                                          ShaderProgramID programPacked,
660                                          UniformLocation locationPacked,
661                                          const GLchar *name);
662 
663 // GL_CHROMIUM_copy_compressed_texture
664 bool ValidateCompressedCopyTextureCHROMIUM(const Context *context,
665                                            TextureID sourceIdPacked,
666                                            TextureID destIdPacked);
667 
668 // GL_CHROMIUM_copy_texture
669 bool ValidateCopyTextureCHROMIUM(const Context *context,
670                                  TextureID sourceIdPacked,
671                                  GLint sourceLevel,
672                                  TextureTarget destTargetPacked,
673                                  TextureID destIdPacked,
674                                  GLint destLevel,
675                                  GLint internalFormat,
676                                  GLenum destType,
677                                  GLboolean unpackFlipY,
678                                  GLboolean unpackPremultiplyAlpha,
679                                  GLboolean unpackUnmultiplyAlpha);
680 bool ValidateCopySubTextureCHROMIUM(const Context *context,
681                                     TextureID sourceIdPacked,
682                                     GLint sourceLevel,
683                                     TextureTarget destTargetPacked,
684                                     TextureID destIdPacked,
685                                     GLint destLevel,
686                                     GLint xoffset,
687                                     GLint yoffset,
688                                     GLint x,
689                                     GLint y,
690                                     GLint width,
691                                     GLint height,
692                                     GLboolean unpackFlipY,
693                                     GLboolean unpackPremultiplyAlpha,
694                                     GLboolean unpackUnmultiplyAlpha);
695 
696 // GL_CHROMIUM_framebuffer_mixed_samples
697 bool ValidateCoverageModulationCHROMIUM(const Context *context, GLenum components);
698 
699 // GL_CHROMIUM_lose_context
700 bool ValidateLoseContextCHROMIUM(const Context *context,
701                                  GraphicsResetStatus currentPacked,
702                                  GraphicsResetStatus otherPacked);
703 
704 // GL_EXT_EGL_image_array
705 
706 // GL_EXT_blend_func_extended
707 bool ValidateBindFragDataLocationEXT(const Context *context,
708                                      ShaderProgramID programPacked,
709                                      GLuint color,
710                                      const GLchar *name);
711 bool ValidateBindFragDataLocationIndexedEXT(const Context *context,
712                                             ShaderProgramID programPacked,
713                                             GLuint colorNumber,
714                                             GLuint index,
715                                             const GLchar *name);
716 bool ValidateGetFragDataIndexEXT(const Context *context,
717                                  ShaderProgramID programPacked,
718                                  const GLchar *name);
719 bool ValidateGetProgramResourceLocationIndexEXT(const Context *context,
720                                                 ShaderProgramID programPacked,
721                                                 GLenum programInterface,
722                                                 const GLchar *name);
723 
724 // GL_EXT_debug_marker
725 bool ValidateInsertEventMarkerEXT(const Context *context, GLsizei length, const GLchar *marker);
726 bool ValidatePopGroupMarkerEXT(const Context *context);
727 bool ValidatePushGroupMarkerEXT(const Context *context, GLsizei length, const GLchar *marker);
728 
729 // GL_EXT_discard_framebuffer
730 bool ValidateDiscardFramebufferEXT(const Context *context,
731                                    GLenum target,
732                                    GLsizei numAttachments,
733                                    const GLenum *attachments);
734 
735 // GL_EXT_disjoint_timer_query
736 bool ValidateBeginQueryEXT(const Context *context, QueryType targetPacked, QueryID idPacked);
737 bool ValidateDeleteQueriesEXT(const Context *context, GLsizei n, const QueryID *idsPacked);
738 bool ValidateEndQueryEXT(const Context *context, QueryType targetPacked);
739 bool ValidateGenQueriesEXT(const Context *context, GLsizei n, const QueryID *idsPacked);
740 bool ValidateGetInteger64vEXT(const Context *context, GLenum pname, const GLint64 *data);
741 bool ValidateGetQueryObjecti64vEXT(const Context *context,
742                                    QueryID idPacked,
743                                    GLenum pname,
744                                    const GLint64 *params);
745 bool ValidateGetQueryObjectivEXT(const Context *context,
746                                  QueryID idPacked,
747                                  GLenum pname,
748                                  const GLint *params);
749 bool ValidateGetQueryObjectui64vEXT(const Context *context,
750                                     QueryID idPacked,
751                                     GLenum pname,
752                                     const GLuint64 *params);
753 bool ValidateGetQueryObjectuivEXT(const Context *context,
754                                   QueryID idPacked,
755                                   GLenum pname,
756                                   const GLuint *params);
757 bool ValidateGetQueryivEXT(const Context *context,
758                            QueryType targetPacked,
759                            GLenum pname,
760                            const GLint *params);
761 bool ValidateIsQueryEXT(const Context *context, QueryID idPacked);
762 bool ValidateQueryCounterEXT(const Context *context, QueryID idPacked, QueryType targetPacked);
763 
764 // GL_EXT_draw_buffers
765 bool ValidateDrawBuffersEXT(const Context *context, GLsizei n, const GLenum *bufs);
766 
767 // GL_EXT_draw_buffers_indexed
768 bool ValidateBlendEquationSeparateiEXT(const Context *context,
769                                        GLuint buf,
770                                        GLenum modeRGB,
771                                        GLenum modeAlpha);
772 bool ValidateBlendEquationiEXT(const Context *context, GLuint buf, GLenum mode);
773 bool ValidateBlendFuncSeparateiEXT(const Context *context,
774                                    GLuint buf,
775                                    GLenum srcRGB,
776                                    GLenum dstRGB,
777                                    GLenum srcAlpha,
778                                    GLenum dstAlpha);
779 bool ValidateBlendFunciEXT(const Context *context, GLuint buf, GLenum src, GLenum dst);
780 bool ValidateColorMaskiEXT(const Context *context,
781                            GLuint index,
782                            GLboolean r,
783                            GLboolean g,
784                            GLboolean b,
785                            GLboolean a);
786 bool ValidateDisableiEXT(const Context *context, GLenum target, GLuint index);
787 bool ValidateEnableiEXT(const Context *context, GLenum target, GLuint index);
788 bool ValidateIsEnablediEXT(const Context *context, GLenum target, GLuint index);
789 
790 // GL_EXT_draw_elements_base_vertex
791 bool ValidateDrawElementsBaseVertexEXT(const Context *context,
792                                        PrimitiveMode modePacked,
793                                        GLsizei count,
794                                        DrawElementsType typePacked,
795                                        const void *indices,
796                                        GLint basevertex);
797 bool ValidateDrawElementsInstancedBaseVertexEXT(const Context *context,
798                                                 PrimitiveMode modePacked,
799                                                 GLsizei count,
800                                                 DrawElementsType typePacked,
801                                                 const void *indices,
802                                                 GLsizei instancecount,
803                                                 GLint basevertex);
804 bool ValidateDrawRangeElementsBaseVertexEXT(const Context *context,
805                                             PrimitiveMode modePacked,
806                                             GLuint start,
807                                             GLuint end,
808                                             GLsizei count,
809                                             DrawElementsType typePacked,
810                                             const void *indices,
811                                             GLint basevertex);
812 bool ValidateMultiDrawElementsBaseVertexEXT(const Context *context,
813                                             PrimitiveMode modePacked,
814                                             const GLsizei *count,
815                                             DrawElementsType typePacked,
816                                             const void *const *indices,
817                                             GLsizei primcount,
818                                             const GLint *basevertex);
819 
820 // GL_EXT_geometry_shader
821 bool ValidateFramebufferTextureEXT(const Context *context,
822                                    GLenum target,
823                                    GLenum attachment,
824                                    TextureID texturePacked,
825                                    GLint level);
826 
827 // GL_EXT_instanced_arrays
828 bool ValidateDrawArraysInstancedEXT(const Context *context,
829                                     PrimitiveMode modePacked,
830                                     GLint start,
831                                     GLsizei count,
832                                     GLsizei primcount);
833 bool ValidateDrawElementsInstancedEXT(const Context *context,
834                                       PrimitiveMode modePacked,
835                                       GLsizei count,
836                                       DrawElementsType typePacked,
837                                       const void *indices,
838                                       GLsizei primcount);
839 bool ValidateVertexAttribDivisorEXT(const Context *context, GLuint index, GLuint divisor);
840 
841 // GL_EXT_map_buffer_range
842 bool ValidateFlushMappedBufferRangeEXT(const Context *context,
843                                        BufferBinding targetPacked,
844                                        GLintptr offset,
845                                        GLsizeiptr length);
846 bool ValidateMapBufferRangeEXT(const Context *context,
847                                BufferBinding targetPacked,
848                                GLintptr offset,
849                                GLsizeiptr length,
850                                GLbitfield access);
851 
852 // GL_EXT_memory_object
853 bool ValidateBufferStorageMemEXT(const Context *context,
854                                  TextureType targetPacked,
855                                  GLsizeiptr size,
856                                  MemoryObjectID memoryPacked,
857                                  GLuint64 offset);
858 bool ValidateCreateMemoryObjectsEXT(const Context *context,
859                                     GLsizei n,
860                                     const MemoryObjectID *memoryObjectsPacked);
861 bool ValidateDeleteMemoryObjectsEXT(const Context *context,
862                                     GLsizei n,
863                                     const MemoryObjectID *memoryObjectsPacked);
864 bool ValidateGetMemoryObjectParameterivEXT(const Context *context,
865                                            MemoryObjectID memoryObjectPacked,
866                                            GLenum pname,
867                                            const GLint *params);
868 bool ValidateGetUnsignedBytevEXT(const Context *context, GLenum pname, const GLubyte *data);
869 bool ValidateGetUnsignedBytei_vEXT(const Context *context,
870                                    GLenum target,
871                                    GLuint index,
872                                    const GLubyte *data);
873 bool ValidateIsMemoryObjectEXT(const Context *context, MemoryObjectID memoryObjectPacked);
874 bool ValidateMemoryObjectParameterivEXT(const Context *context,
875                                         MemoryObjectID memoryObjectPacked,
876                                         GLenum pname,
877                                         const GLint *params);
878 bool ValidateTexStorageMem2DEXT(const Context *context,
879                                 TextureType targetPacked,
880                                 GLsizei levels,
881                                 GLenum internalFormat,
882                                 GLsizei width,
883                                 GLsizei height,
884                                 MemoryObjectID memoryPacked,
885                                 GLuint64 offset);
886 bool ValidateTexStorageMem2DMultisampleEXT(const Context *context,
887                                            TextureType targetPacked,
888                                            GLsizei samples,
889                                            GLenum internalFormat,
890                                            GLsizei width,
891                                            GLsizei height,
892                                            GLboolean fixedSampleLocations,
893                                            MemoryObjectID memoryPacked,
894                                            GLuint64 offset);
895 bool ValidateTexStorageMem3DEXT(const Context *context,
896                                 TextureType targetPacked,
897                                 GLsizei levels,
898                                 GLenum internalFormat,
899                                 GLsizei width,
900                                 GLsizei height,
901                                 GLsizei depth,
902                                 MemoryObjectID memoryPacked,
903                                 GLuint64 offset);
904 bool ValidateTexStorageMem3DMultisampleEXT(const Context *context,
905                                            TextureType targetPacked,
906                                            GLsizei samples,
907                                            GLenum internalFormat,
908                                            GLsizei width,
909                                            GLsizei height,
910                                            GLsizei depth,
911                                            GLboolean fixedSampleLocations,
912                                            MemoryObjectID memoryPacked,
913                                            GLuint64 offset);
914 
915 // GL_EXT_memory_object_fd
916 bool ValidateImportMemoryFdEXT(const Context *context,
917                                MemoryObjectID memoryPacked,
918                                GLuint64 size,
919                                HandleType handleTypePacked,
920                                GLint fd);
921 
922 // GL_EXT_multisampled_render_to_texture
923 bool ValidateFramebufferTexture2DMultisampleEXT(const Context *context,
924                                                 GLenum target,
925                                                 GLenum attachment,
926                                                 GLenum textarget,
927                                                 GLuint texture,
928                                                 GLint level,
929                                                 GLsizei samples);
930 bool ValidateRenderbufferStorageMultisampleEXT(const Context *context,
931                                                GLenum target,
932                                                GLsizei samples,
933                                                GLenum internalformat,
934                                                GLsizei width,
935                                                GLsizei height);
936 
937 // GL_EXT_occlusion_query_boolean
938 
939 // GL_EXT_read_format_bgra
940 
941 // GL_EXT_robustness
942 bool ValidateGetGraphicsResetStatusEXT(const Context *context);
943 bool ValidateGetnUniformfvEXT(const Context *context,
944                               ShaderProgramID programPacked,
945                               UniformLocation locationPacked,
946                               GLsizei bufSize,
947                               const GLfloat *params);
948 bool ValidateGetnUniformivEXT(const Context *context,
949                               ShaderProgramID programPacked,
950                               UniformLocation locationPacked,
951                               GLsizei bufSize,
952                               const GLint *params);
953 bool ValidateReadnPixelsEXT(const Context *context,
954                             GLint x,
955                             GLint y,
956                             GLsizei width,
957                             GLsizei height,
958                             GLenum format,
959                             GLenum type,
960                             GLsizei bufSize,
961                             const void *data);
962 
963 // GL_EXT_sRGB
964 
965 // GL_EXT_semaphore
966 bool ValidateDeleteSemaphoresEXT(const Context *context,
967                                  GLsizei n,
968                                  const SemaphoreID *semaphoresPacked);
969 bool ValidateGenSemaphoresEXT(const Context *context,
970                               GLsizei n,
971                               const SemaphoreID *semaphoresPacked);
972 bool ValidateGetSemaphoreParameterui64vEXT(const Context *context,
973                                            SemaphoreID semaphorePacked,
974                                            GLenum pname,
975                                            const GLuint64 *params);
976 bool ValidateIsSemaphoreEXT(const Context *context, SemaphoreID semaphorePacked);
977 bool ValidateSemaphoreParameterui64vEXT(const Context *context,
978                                         SemaphoreID semaphorePacked,
979                                         GLenum pname,
980                                         const GLuint64 *params);
981 bool ValidateSignalSemaphoreEXT(const Context *context,
982                                 SemaphoreID semaphorePacked,
983                                 GLuint numBufferBarriers,
984                                 const BufferID *buffersPacked,
985                                 GLuint numTextureBarriers,
986                                 const TextureID *texturesPacked,
987                                 const GLenum *dstLayouts);
988 bool ValidateWaitSemaphoreEXT(const Context *context,
989                               SemaphoreID semaphorePacked,
990                               GLuint numBufferBarriers,
991                               const BufferID *buffersPacked,
992                               GLuint numTextureBarriers,
993                               const TextureID *texturesPacked,
994                               const GLenum *srcLayouts);
995 
996 // GL_EXT_semaphore_fd
997 bool ValidateImportSemaphoreFdEXT(const Context *context,
998                                   SemaphoreID semaphorePacked,
999                                   HandleType handleTypePacked,
1000                                   GLint fd);
1001 
1002 // GL_EXT_texture_compression_bptc
1003 
1004 // GL_EXT_texture_compression_dxt1
1005 
1006 // GL_EXT_texture_compression_rgtc
1007 
1008 // GL_EXT_texture_compression_s3tc
1009 
1010 // GL_EXT_texture_compression_s3tc_srgb
1011 
1012 // GL_EXT_texture_cube_map_array
1013 
1014 // GL_EXT_texture_filter_anisotropic
1015 
1016 // GL_EXT_texture_format_BGRA8888
1017 
1018 // GL_EXT_texture_sRGB_R8
1019 
1020 // GL_EXT_texture_storage
1021 bool ValidateTexStorage1DEXT(const Context *context,
1022                              GLenum target,
1023                              GLsizei levels,
1024                              GLenum internalformat,
1025                              GLsizei width);
1026 bool ValidateTexStorage2DEXT(const Context *context,
1027                              TextureType targetPacked,
1028                              GLsizei levels,
1029                              GLenum internalformat,
1030                              GLsizei width,
1031                              GLsizei height);
1032 bool ValidateTexStorage3DEXT(const Context *context,
1033                              TextureType targetPacked,
1034                              GLsizei levels,
1035                              GLenum internalformat,
1036                              GLsizei width,
1037                              GLsizei height,
1038                              GLsizei depth);
1039 
1040 // GL_KHR_debug
1041 bool ValidateDebugMessageCallbackKHR(const Context *context,
1042                                      GLDEBUGPROCKHR callback,
1043                                      const void *userParam);
1044 bool ValidateDebugMessageControlKHR(const Context *context,
1045                                     GLenum source,
1046                                     GLenum type,
1047                                     GLenum severity,
1048                                     GLsizei count,
1049                                     const GLuint *ids,
1050                                     GLboolean enabled);
1051 bool ValidateDebugMessageInsertKHR(const Context *context,
1052                                    GLenum source,
1053                                    GLenum type,
1054                                    GLuint id,
1055                                    GLenum severity,
1056                                    GLsizei length,
1057                                    const GLchar *buf);
1058 bool ValidateGetDebugMessageLogKHR(const Context *context,
1059                                    GLuint count,
1060                                    GLsizei bufSize,
1061                                    const GLenum *sources,
1062                                    const GLenum *types,
1063                                    const GLuint *ids,
1064                                    const GLenum *severities,
1065                                    const GLsizei *lengths,
1066                                    const GLchar *messageLog);
1067 bool ValidateGetObjectLabelKHR(const Context *context,
1068                                GLenum identifier,
1069                                GLuint name,
1070                                GLsizei bufSize,
1071                                const GLsizei *length,
1072                                const GLchar *label);
1073 bool ValidateGetObjectPtrLabelKHR(const Context *context,
1074                                   const void *ptr,
1075                                   GLsizei bufSize,
1076                                   const GLsizei *length,
1077                                   const GLchar *label);
1078 bool ValidateGetPointervKHR(const Context *context, GLenum pname, void *const *params);
1079 bool ValidateObjectLabelKHR(const Context *context,
1080                             GLenum identifier,
1081                             GLuint name,
1082                             GLsizei length,
1083                             const GLchar *label);
1084 bool ValidateObjectPtrLabelKHR(const Context *context,
1085                                const void *ptr,
1086                                GLsizei length,
1087                                const GLchar *label);
1088 bool ValidatePopDebugGroupKHR(const Context *context);
1089 bool ValidatePushDebugGroupKHR(const Context *context,
1090                                GLenum source,
1091                                GLuint id,
1092                                GLsizei length,
1093                                const GLchar *message);
1094 
1095 // GL_KHR_parallel_shader_compile
1096 bool ValidateMaxShaderCompilerThreadsKHR(const Context *context, GLuint count);
1097 
1098 // GL_NV_fence
1099 bool ValidateDeleteFencesNV(const Context *context, GLsizei n, const FenceNVID *fencesPacked);
1100 bool ValidateFinishFenceNV(const Context *context, FenceNVID fencePacked);
1101 bool ValidateGenFencesNV(const Context *context, GLsizei n, const FenceNVID *fencesPacked);
1102 bool ValidateGetFenceivNV(const Context *context,
1103                           FenceNVID fencePacked,
1104                           GLenum pname,
1105                           const GLint *params);
1106 bool ValidateIsFenceNV(const Context *context, FenceNVID fencePacked);
1107 bool ValidateSetFenceNV(const Context *context, FenceNVID fencePacked, GLenum condition);
1108 bool ValidateTestFenceNV(const Context *context, FenceNVID fencePacked);
1109 
1110 // GL_OES_EGL_image
1111 bool ValidateEGLImageTargetRenderbufferStorageOES(const Context *context,
1112                                                   GLenum target,
1113                                                   GLeglImageOES image);
1114 bool ValidateEGLImageTargetTexture2DOES(const Context *context,
1115                                         TextureType targetPacked,
1116                                         GLeglImageOES image);
1117 
1118 // GL_OES_compressed_ETC1_RGB8_texture
1119 
1120 // GL_OES_depth32
1121 
1122 // GL_OES_draw_buffers_indexed
1123 bool ValidateBlendEquationSeparateiOES(const Context *context,
1124                                        GLuint buf,
1125                                        GLenum modeRGB,
1126                                        GLenum modeAlpha);
1127 bool ValidateBlendEquationiOES(const Context *context, GLuint buf, GLenum mode);
1128 bool ValidateBlendFuncSeparateiOES(const Context *context,
1129                                    GLuint buf,
1130                                    GLenum srcRGB,
1131                                    GLenum dstRGB,
1132                                    GLenum srcAlpha,
1133                                    GLenum dstAlpha);
1134 bool ValidateBlendFunciOES(const Context *context, GLuint buf, GLenum src, GLenum dst);
1135 bool ValidateColorMaskiOES(const Context *context,
1136                            GLuint index,
1137                            GLboolean r,
1138                            GLboolean g,
1139                            GLboolean b,
1140                            GLboolean a);
1141 bool ValidateDisableiOES(const Context *context, GLenum target, GLuint index);
1142 bool ValidateEnableiOES(const Context *context, GLenum target, GLuint index);
1143 bool ValidateIsEnablediOES(const Context *context, GLenum target, GLuint index);
1144 
1145 // GL_OES_draw_elements_base_vertex
1146 bool ValidateDrawElementsBaseVertexOES(const Context *context,
1147                                        PrimitiveMode modePacked,
1148                                        GLsizei count,
1149                                        DrawElementsType typePacked,
1150                                        const void *indices,
1151                                        GLint basevertex);
1152 bool ValidateDrawElementsInstancedBaseVertexOES(const Context *context,
1153                                                 PrimitiveMode modePacked,
1154                                                 GLsizei count,
1155                                                 DrawElementsType typePacked,
1156                                                 const void *indices,
1157                                                 GLsizei instancecount,
1158                                                 GLint basevertex);
1159 bool ValidateDrawRangeElementsBaseVertexOES(const Context *context,
1160                                             PrimitiveMode modePacked,
1161                                             GLuint start,
1162                                             GLuint end,
1163                                             GLsizei count,
1164                                             DrawElementsType typePacked,
1165                                             const void *indices,
1166                                             GLint basevertex);
1167 
1168 // GL_OES_draw_texture
1169 bool ValidateDrawTexfOES(const Context *context,
1170                          GLfloat x,
1171                          GLfloat y,
1172                          GLfloat z,
1173                          GLfloat width,
1174                          GLfloat height);
1175 bool ValidateDrawTexfvOES(const Context *context, const GLfloat *coords);
1176 bool ValidateDrawTexiOES(const Context *context,
1177                          GLint x,
1178                          GLint y,
1179                          GLint z,
1180                          GLint width,
1181                          GLint height);
1182 bool ValidateDrawTexivOES(const Context *context, const GLint *coords);
1183 bool ValidateDrawTexsOES(const Context *context,
1184                          GLshort x,
1185                          GLshort y,
1186                          GLshort z,
1187                          GLshort width,
1188                          GLshort height);
1189 bool ValidateDrawTexsvOES(const Context *context, const GLshort *coords);
1190 bool ValidateDrawTexxOES(const Context *context,
1191                          GLfixed x,
1192                          GLfixed y,
1193                          GLfixed z,
1194                          GLfixed width,
1195                          GLfixed height);
1196 bool ValidateDrawTexxvOES(const Context *context, const GLfixed *coords);
1197 
1198 // GL_OES_framebuffer_object
1199 bool ValidateBindFramebufferOES(const Context *context,
1200                                 GLenum target,
1201                                 FramebufferID framebufferPacked);
1202 bool ValidateBindRenderbufferOES(const Context *context,
1203                                  GLenum target,
1204                                  RenderbufferID renderbufferPacked);
1205 bool ValidateCheckFramebufferStatusOES(const Context *context, GLenum target);
1206 bool ValidateDeleteFramebuffersOES(const Context *context,
1207                                    GLsizei n,
1208                                    const FramebufferID *framebuffersPacked);
1209 bool ValidateDeleteRenderbuffersOES(const Context *context,
1210                                     GLsizei n,
1211                                     const RenderbufferID *renderbuffersPacked);
1212 bool ValidateFramebufferRenderbufferOES(const Context *context,
1213                                         GLenum target,
1214                                         GLenum attachment,
1215                                         GLenum renderbuffertarget,
1216                                         RenderbufferID renderbufferPacked);
1217 bool ValidateFramebufferTexture2DOES(const Context *context,
1218                                      GLenum target,
1219                                      GLenum attachment,
1220                                      TextureTarget textargetPacked,
1221                                      TextureID texturePacked,
1222                                      GLint level);
1223 bool ValidateGenFramebuffersOES(const Context *context,
1224                                 GLsizei n,
1225                                 const FramebufferID *framebuffersPacked);
1226 bool ValidateGenRenderbuffersOES(const Context *context,
1227                                  GLsizei n,
1228                                  const RenderbufferID *renderbuffersPacked);
1229 bool ValidateGenerateMipmapOES(const Context *context, TextureType targetPacked);
1230 bool ValidateGetFramebufferAttachmentParameterivOES(const Context *context,
1231                                                     GLenum target,
1232                                                     GLenum attachment,
1233                                                     GLenum pname,
1234                                                     const GLint *params);
1235 bool ValidateGetRenderbufferParameterivOES(const Context *context,
1236                                            GLenum target,
1237                                            GLenum pname,
1238                                            const GLint *params);
1239 bool ValidateIsFramebufferOES(const Context *context, FramebufferID framebufferPacked);
1240 bool ValidateIsRenderbufferOES(const Context *context, RenderbufferID renderbufferPacked);
1241 bool ValidateRenderbufferStorageOES(const Context *context,
1242                                     GLenum target,
1243                                     GLenum internalformat,
1244                                     GLsizei width,
1245                                     GLsizei height);
1246 
1247 // GL_OES_get_program_binary
1248 bool ValidateGetProgramBinaryOES(const Context *context,
1249                                  ShaderProgramID programPacked,
1250                                  GLsizei bufSize,
1251                                  const GLsizei *length,
1252                                  const GLenum *binaryFormat,
1253                                  const void *binary);
1254 bool ValidateProgramBinaryOES(const Context *context,
1255                               ShaderProgramID programPacked,
1256                               GLenum binaryFormat,
1257                               const void *binary,
1258                               GLint length);
1259 
1260 // GL_OES_mapbuffer
1261 bool ValidateGetBufferPointervOES(const Context *context,
1262                                   BufferBinding targetPacked,
1263                                   GLenum pname,
1264                                   void *const *params);
1265 bool ValidateMapBufferOES(const Context *context, BufferBinding targetPacked, GLenum access);
1266 bool ValidateUnmapBufferOES(const Context *context, BufferBinding targetPacked);
1267 
1268 // GL_OES_matrix_palette
1269 bool ValidateCurrentPaletteMatrixOES(const Context *context, GLuint matrixpaletteindex);
1270 bool ValidateLoadPaletteFromModelViewMatrixOES(const Context *context);
1271 bool ValidateMatrixIndexPointerOES(const Context *context,
1272                                    GLint size,
1273                                    GLenum type,
1274                                    GLsizei stride,
1275                                    const void *pointer);
1276 bool ValidateWeightPointerOES(const Context *context,
1277                               GLint size,
1278                               GLenum type,
1279                               GLsizei stride,
1280                               const void *pointer);
1281 
1282 // GL_OES_point_size_array
1283 bool ValidatePointSizePointerOES(const Context *context,
1284                                  VertexAttribType typePacked,
1285                                  GLsizei stride,
1286                                  const void *pointer);
1287 
1288 // GL_OES_query_matrix
1289 bool ValidateQueryMatrixxOES(const Context *context,
1290                              const GLfixed *mantissa,
1291                              const GLint *exponent);
1292 
1293 // GL_OES_texture_3D
1294 bool ValidateCompressedTexImage3DOES(const Context *context,
1295                                      TextureTarget targetPacked,
1296                                      GLint level,
1297                                      GLenum internalformat,
1298                                      GLsizei width,
1299                                      GLsizei height,
1300                                      GLsizei depth,
1301                                      GLint border,
1302                                      GLsizei imageSize,
1303                                      const void *data);
1304 bool ValidateCompressedTexSubImage3DOES(const Context *context,
1305                                         TextureTarget targetPacked,
1306                                         GLint level,
1307                                         GLint xoffset,
1308                                         GLint yoffset,
1309                                         GLint zoffset,
1310                                         GLsizei width,
1311                                         GLsizei height,
1312                                         GLsizei depth,
1313                                         GLenum format,
1314                                         GLsizei imageSize,
1315                                         const void *data);
1316 bool ValidateCopyTexSubImage3DOES(const Context *context,
1317                                   TextureTarget targetPacked,
1318                                   GLint level,
1319                                   GLint xoffset,
1320                                   GLint yoffset,
1321                                   GLint zoffset,
1322                                   GLint x,
1323                                   GLint y,
1324                                   GLsizei width,
1325                                   GLsizei height);
1326 bool ValidateFramebufferTexture3DOES(const Context *context,
1327                                      GLenum target,
1328                                      GLenum attachment,
1329                                      TextureTarget textargetPacked,
1330                                      TextureID texturePacked,
1331                                      GLint level,
1332                                      GLint zoffset);
1333 bool ValidateTexImage3DOES(const Context *context,
1334                            TextureTarget targetPacked,
1335                            GLint level,
1336                            GLenum internalformat,
1337                            GLsizei width,
1338                            GLsizei height,
1339                            GLsizei depth,
1340                            GLint border,
1341                            GLenum format,
1342                            GLenum type,
1343                            const void *pixels);
1344 bool ValidateTexSubImage3DOES(const Context *context,
1345                               TextureTarget targetPacked,
1346                               GLint level,
1347                               GLint xoffset,
1348                               GLint yoffset,
1349                               GLint zoffset,
1350                               GLsizei width,
1351                               GLsizei height,
1352                               GLsizei depth,
1353                               GLenum format,
1354                               GLenum type,
1355                               const void *pixels);
1356 
1357 // GL_OES_texture_border_clamp
1358 bool ValidateGetSamplerParameterIivOES(const Context *context,
1359                                        SamplerID samplerPacked,
1360                                        GLenum pname,
1361                                        const GLint *params);
1362 bool ValidateGetSamplerParameterIuivOES(const Context *context,
1363                                         SamplerID samplerPacked,
1364                                         GLenum pname,
1365                                         const GLuint *params);
1366 bool ValidateGetTexParameterIivOES(const Context *context,
1367                                    TextureType targetPacked,
1368                                    GLenum pname,
1369                                    const GLint *params);
1370 bool ValidateGetTexParameterIuivOES(const Context *context,
1371                                     TextureType targetPacked,
1372                                     GLenum pname,
1373                                     const GLuint *params);
1374 bool ValidateSamplerParameterIivOES(const Context *context,
1375                                     SamplerID samplerPacked,
1376                                     GLenum pname,
1377                                     const GLint *param);
1378 bool ValidateSamplerParameterIuivOES(const Context *context,
1379                                      SamplerID samplerPacked,
1380                                      GLenum pname,
1381                                      const GLuint *param);
1382 bool ValidateTexParameterIivOES(const Context *context,
1383                                 TextureType targetPacked,
1384                                 GLenum pname,
1385                                 const GLint *params);
1386 bool ValidateTexParameterIuivOES(const Context *context,
1387                                  TextureType targetPacked,
1388                                  GLenum pname,
1389                                  const GLuint *params);
1390 
1391 // GL_OES_texture_cube_map
1392 bool ValidateGetTexGenfvOES(const Context *context,
1393                             GLenum coord,
1394                             GLenum pname,
1395                             const GLfloat *params);
1396 bool ValidateGetTexGenivOES(const Context *context,
1397                             GLenum coord,
1398                             GLenum pname,
1399                             const GLint *params);
1400 bool ValidateGetTexGenxvOES(const Context *context,
1401                             GLenum coord,
1402                             GLenum pname,
1403                             const GLfixed *params);
1404 bool ValidateTexGenfOES(const Context *context, GLenum coord, GLenum pname, GLfloat param);
1405 bool ValidateTexGenfvOES(const Context *context, GLenum coord, GLenum pname, const GLfloat *params);
1406 bool ValidateTexGeniOES(const Context *context, GLenum coord, GLenum pname, GLint param);
1407 bool ValidateTexGenivOES(const Context *context, GLenum coord, GLenum pname, const GLint *params);
1408 bool ValidateTexGenxOES(const Context *context, GLenum coord, GLenum pname, GLfixed param);
1409 bool ValidateTexGenxvOES(const Context *context, GLenum coord, GLenum pname, const GLfixed *params);
1410 
1411 // GL_OES_texture_cube_map_array
1412 
1413 // GL_OES_texture_half_float
1414 
1415 // GL_OES_texture_storage_multisample_2d_array
1416 bool ValidateTexStorage3DMultisampleOES(const Context *context,
1417                                         TextureType targetPacked,
1418                                         GLsizei samples,
1419                                         GLenum internalformat,
1420                                         GLsizei width,
1421                                         GLsizei height,
1422                                         GLsizei depth,
1423                                         GLboolean fixedsamplelocations);
1424 
1425 // GL_OES_vertex_array_object
1426 bool ValidateBindVertexArrayOES(const Context *context, VertexArrayID arrayPacked);
1427 bool ValidateDeleteVertexArraysOES(const Context *context,
1428                                    GLsizei n,
1429                                    const VertexArrayID *arraysPacked);
1430 bool ValidateGenVertexArraysOES(const Context *context,
1431                                 GLsizei n,
1432                                 const VertexArrayID *arraysPacked);
1433 bool ValidateIsVertexArrayOES(const Context *context, VertexArrayID arrayPacked);
1434 
1435 // GL_OVR_multiview
1436 bool ValidateFramebufferTextureMultiviewOVR(const Context *context,
1437                                             GLenum target,
1438                                             GLenum attachment,
1439                                             TextureID texturePacked,
1440                                             GLint level,
1441                                             GLint baseViewIndex,
1442                                             GLsizei numViews);
1443 
1444 // GL_OVR_multiview2
1445 }  // namespace gl
1446 
1447 #endif  // LIBANGLE_VALIDATION_ESEXT_AUTOGEN_H_
1448