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_get_tex_level_parameter
118 bool ValidateGetTexLevelParameterivANGLE(const Context *context,
119                                          TextureTarget targetPacked,
120                                          GLint level,
121                                          GLenum pname,
122                                          const GLint *params);
123 bool ValidateGetTexLevelParameterfvANGLE(const Context *context,
124                                          TextureTarget targetPacked,
125                                          GLint level,
126                                          GLenum pname,
127                                          const GLfloat *params);
128 
129 // GL_ANGLE_instanced_arrays
130 bool ValidateDrawArraysInstancedANGLE(const Context *context,
131                                       PrimitiveMode modePacked,
132                                       GLint first,
133                                       GLsizei count,
134                                       GLsizei primcount);
135 bool ValidateDrawElementsInstancedANGLE(const Context *context,
136                                         PrimitiveMode modePacked,
137                                         GLsizei count,
138                                         DrawElementsType typePacked,
139                                         const void *indices,
140                                         GLsizei primcount);
141 bool ValidateVertexAttribDivisorANGLE(const Context *context, GLuint index, GLuint divisor);
142 
143 // GL_ANGLE_memory_object_flags
144 bool ValidateTexStorageMemFlags2DANGLE(const Context *context,
145                                        TextureType targetPacked,
146                                        GLsizei levels,
147                                        GLenum internalFormat,
148                                        GLsizei width,
149                                        GLsizei height,
150                                        MemoryObjectID memoryPacked,
151                                        GLuint64 offset,
152                                        GLbitfield createFlags,
153                                        GLbitfield usageFlags);
154 bool ValidateTexStorageMemFlags2DMultisampleANGLE(const Context *context,
155                                                   TextureType targetPacked,
156                                                   GLsizei samples,
157                                                   GLenum internalFormat,
158                                                   GLsizei width,
159                                                   GLsizei height,
160                                                   GLboolean fixedSampleLocations,
161                                                   MemoryObjectID memoryPacked,
162                                                   GLuint64 offset,
163                                                   GLbitfield createFlags,
164                                                   GLbitfield usageFlags);
165 bool ValidateTexStorageMemFlags3DANGLE(const Context *context,
166                                        TextureType targetPacked,
167                                        GLsizei levels,
168                                        GLenum internalFormat,
169                                        GLsizei width,
170                                        GLsizei height,
171                                        GLsizei depth,
172                                        MemoryObjectID memoryPacked,
173                                        GLuint64 offset,
174                                        GLbitfield createFlags,
175                                        GLbitfield usageFlags);
176 bool ValidateTexStorageMemFlags3DMultisampleANGLE(const Context *context,
177                                                   TextureType targetPacked,
178                                                   GLsizei samples,
179                                                   GLenum internalFormat,
180                                                   GLsizei width,
181                                                   GLsizei height,
182                                                   GLsizei depth,
183                                                   GLboolean fixedSampleLocations,
184                                                   MemoryObjectID memoryPacked,
185                                                   GLuint64 offset,
186                                                   GLbitfield createFlags,
187                                                   GLbitfield usageFlags);
188 
189 // GL_ANGLE_memory_object_fuchsia
190 bool ValidateImportMemoryZirconHandleANGLE(const Context *context,
191                                            MemoryObjectID memoryPacked,
192                                            GLuint64 size,
193                                            HandleType handleTypePacked,
194                                            GLuint handle);
195 
196 // GL_ANGLE_multi_draw
197 bool ValidateMultiDrawArraysANGLE(const Context *context,
198                                   PrimitiveMode modePacked,
199                                   const GLint *firsts,
200                                   const GLsizei *counts,
201                                   GLsizei drawcount);
202 bool ValidateMultiDrawArraysInstancedANGLE(const Context *context,
203                                            PrimitiveMode modePacked,
204                                            const GLint *firsts,
205                                            const GLsizei *counts,
206                                            const GLsizei *instanceCounts,
207                                            GLsizei drawcount);
208 bool ValidateMultiDrawElementsANGLE(const Context *context,
209                                     PrimitiveMode modePacked,
210                                     const GLsizei *counts,
211                                     DrawElementsType typePacked,
212                                     const GLvoid *const *indices,
213                                     GLsizei drawcount);
214 bool ValidateMultiDrawElementsInstancedANGLE(const Context *context,
215                                              PrimitiveMode modePacked,
216                                              const GLsizei *counts,
217                                              DrawElementsType typePacked,
218                                              const GLvoid *const *indices,
219                                              const GLsizei *instanceCounts,
220                                              GLsizei drawcount);
221 
222 // GL_ANGLE_program_binary
223 
224 // GL_ANGLE_provoking_vertex
225 bool ValidateProvokingVertexANGLE(const Context *context, ProvokingVertexConvention modePacked);
226 
227 // GL_ANGLE_request_extension
228 bool ValidateRequestExtensionANGLE(const Context *context, const GLchar *name);
229 bool ValidateDisableExtensionANGLE(const Context *context, const GLchar *name);
230 
231 // GL_ANGLE_robust_client_memory
232 bool ValidateGetBooleanvRobustANGLE(const Context *context,
233                                     GLenum pname,
234                                     GLsizei bufSize,
235                                     const GLsizei *length,
236                                     const GLboolean *params);
237 bool ValidateGetBufferParameterivRobustANGLE(const Context *context,
238                                              BufferBinding targetPacked,
239                                              GLenum pname,
240                                              GLsizei bufSize,
241                                              const GLsizei *length,
242                                              const GLint *params);
243 bool ValidateGetFloatvRobustANGLE(const Context *context,
244                                   GLenum pname,
245                                   GLsizei bufSize,
246                                   const GLsizei *length,
247                                   const GLfloat *params);
248 bool ValidateGetFramebufferAttachmentParameterivRobustANGLE(const Context *context,
249                                                             GLenum target,
250                                                             GLenum attachment,
251                                                             GLenum pname,
252                                                             GLsizei bufSize,
253                                                             const GLsizei *length,
254                                                             const GLint *params);
255 bool ValidateGetIntegervRobustANGLE(const Context *context,
256                                     GLenum pname,
257                                     GLsizei bufSize,
258                                     const GLsizei *length,
259                                     const GLint *data);
260 bool ValidateGetProgramivRobustANGLE(const Context *context,
261                                      ShaderProgramID programPacked,
262                                      GLenum pname,
263                                      GLsizei bufSize,
264                                      const GLsizei *length,
265                                      const GLint *params);
266 bool ValidateGetRenderbufferParameterivRobustANGLE(const Context *context,
267                                                    GLenum target,
268                                                    GLenum pname,
269                                                    GLsizei bufSize,
270                                                    const GLsizei *length,
271                                                    const GLint *params);
272 bool ValidateGetShaderivRobustANGLE(const Context *context,
273                                     ShaderProgramID shaderPacked,
274                                     GLenum pname,
275                                     GLsizei bufSize,
276                                     const GLsizei *length,
277                                     const GLint *params);
278 bool ValidateGetTexParameterfvRobustANGLE(const Context *context,
279                                           TextureType targetPacked,
280                                           GLenum pname,
281                                           GLsizei bufSize,
282                                           const GLsizei *length,
283                                           const GLfloat *params);
284 bool ValidateGetTexParameterivRobustANGLE(const Context *context,
285                                           TextureType targetPacked,
286                                           GLenum pname,
287                                           GLsizei bufSize,
288                                           const GLsizei *length,
289                                           const GLint *params);
290 bool ValidateGetUniformfvRobustANGLE(const Context *context,
291                                      ShaderProgramID programPacked,
292                                      UniformLocation locationPacked,
293                                      GLsizei bufSize,
294                                      const GLsizei *length,
295                                      const GLfloat *params);
296 bool ValidateGetUniformivRobustANGLE(const Context *context,
297                                      ShaderProgramID programPacked,
298                                      UniformLocation locationPacked,
299                                      GLsizei bufSize,
300                                      const GLsizei *length,
301                                      const GLint *params);
302 bool ValidateGetVertexAttribfvRobustANGLE(const Context *context,
303                                           GLuint index,
304                                           GLenum pname,
305                                           GLsizei bufSize,
306                                           const GLsizei *length,
307                                           const GLfloat *params);
308 bool ValidateGetVertexAttribivRobustANGLE(const Context *context,
309                                           GLuint index,
310                                           GLenum pname,
311                                           GLsizei bufSize,
312                                           const GLsizei *length,
313                                           const GLint *params);
314 bool ValidateGetVertexAttribPointervRobustANGLE(const Context *context,
315                                                 GLuint index,
316                                                 GLenum pname,
317                                                 GLsizei bufSize,
318                                                 const GLsizei *length,
319                                                 void *const *pointer);
320 bool ValidateReadPixelsRobustANGLE(const Context *context,
321                                    GLint x,
322                                    GLint y,
323                                    GLsizei width,
324                                    GLsizei height,
325                                    GLenum format,
326                                    GLenum type,
327                                    GLsizei bufSize,
328                                    const GLsizei *length,
329                                    const GLsizei *columns,
330                                    const GLsizei *rows,
331                                    const void *pixels);
332 bool ValidateTexImage2DRobustANGLE(const Context *context,
333                                    TextureTarget targetPacked,
334                                    GLint level,
335                                    GLint internalformat,
336                                    GLsizei width,
337                                    GLsizei height,
338                                    GLint border,
339                                    GLenum format,
340                                    GLenum type,
341                                    GLsizei bufSize,
342                                    const void *pixels);
343 bool ValidateTexParameterfvRobustANGLE(const Context *context,
344                                        TextureType targetPacked,
345                                        GLenum pname,
346                                        GLsizei bufSize,
347                                        const GLfloat *params);
348 bool ValidateTexParameterivRobustANGLE(const Context *context,
349                                        TextureType targetPacked,
350                                        GLenum pname,
351                                        GLsizei bufSize,
352                                        const GLint *params);
353 bool ValidateTexSubImage2DRobustANGLE(const Context *context,
354                                       TextureTarget targetPacked,
355                                       GLint level,
356                                       GLint xoffset,
357                                       GLint yoffset,
358                                       GLsizei width,
359                                       GLsizei height,
360                                       GLenum format,
361                                       GLenum type,
362                                       GLsizei bufSize,
363                                       const void *pixels);
364 bool ValidateTexImage3DRobustANGLE(const Context *context,
365                                    TextureTarget targetPacked,
366                                    GLint level,
367                                    GLint internalformat,
368                                    GLsizei width,
369                                    GLsizei height,
370                                    GLsizei depth,
371                                    GLint border,
372                                    GLenum format,
373                                    GLenum type,
374                                    GLsizei bufSize,
375                                    const void *pixels);
376 bool ValidateTexSubImage3DRobustANGLE(const Context *context,
377                                       TextureTarget targetPacked,
378                                       GLint level,
379                                       GLint xoffset,
380                                       GLint yoffset,
381                                       GLint zoffset,
382                                       GLsizei width,
383                                       GLsizei height,
384                                       GLsizei depth,
385                                       GLenum format,
386                                       GLenum type,
387                                       GLsizei bufSize,
388                                       const void *pixels);
389 bool ValidateCompressedTexImage2DRobustANGLE(const Context *context,
390                                              TextureTarget targetPacked,
391                                              GLint level,
392                                              GLenum internalformat,
393                                              GLsizei width,
394                                              GLsizei height,
395                                              GLint border,
396                                              GLsizei imageSize,
397                                              GLsizei dataSize,
398                                              const GLvoid *data);
399 bool ValidateCompressedTexSubImage2DRobustANGLE(const Context *context,
400                                                 TextureTarget targetPacked,
401                                                 GLint level,
402                                                 GLsizei xoffset,
403                                                 GLsizei yoffset,
404                                                 GLsizei width,
405                                                 GLsizei height,
406                                                 GLenum format,
407                                                 GLsizei imageSize,
408                                                 GLsizei dataSize,
409                                                 const GLvoid *data);
410 bool ValidateCompressedTexImage3DRobustANGLE(const Context *context,
411                                              TextureTarget targetPacked,
412                                              GLint level,
413                                              GLenum internalformat,
414                                              GLsizei width,
415                                              GLsizei height,
416                                              GLsizei depth,
417                                              GLint border,
418                                              GLsizei imageSize,
419                                              GLsizei dataSize,
420                                              const GLvoid *data);
421 bool ValidateCompressedTexSubImage3DRobustANGLE(const Context *context,
422                                                 TextureTarget targetPacked,
423                                                 GLint level,
424                                                 GLint xoffset,
425                                                 GLint yoffset,
426                                                 GLint zoffset,
427                                                 GLsizei width,
428                                                 GLsizei height,
429                                                 GLsizei depth,
430                                                 GLenum format,
431                                                 GLsizei imageSize,
432                                                 GLsizei dataSize,
433                                                 const GLvoid *data);
434 bool ValidateGetQueryivRobustANGLE(const Context *context,
435                                    QueryType targetPacked,
436                                    GLenum pname,
437                                    GLsizei bufSize,
438                                    const GLsizei *length,
439                                    const GLint *params);
440 bool ValidateGetQueryObjectuivRobustANGLE(const Context *context,
441                                           QueryID idPacked,
442                                           GLenum pname,
443                                           GLsizei bufSize,
444                                           const GLsizei *length,
445                                           const GLuint *params);
446 bool ValidateGetBufferPointervRobustANGLE(const Context *context,
447                                           BufferBinding targetPacked,
448                                           GLenum pname,
449                                           GLsizei bufSize,
450                                           const GLsizei *length,
451                                           void *const *params);
452 bool ValidateGetIntegeri_vRobustANGLE(const Context *context,
453                                       GLenum target,
454                                       GLuint index,
455                                       GLsizei bufSize,
456                                       const GLsizei *length,
457                                       const GLint *data);
458 bool ValidateGetInternalformativRobustANGLE(const Context *context,
459                                             GLenum target,
460                                             GLenum internalformat,
461                                             GLenum pname,
462                                             GLsizei bufSize,
463                                             const GLsizei *length,
464                                             const GLint *params);
465 bool ValidateGetVertexAttribIivRobustANGLE(const Context *context,
466                                            GLuint index,
467                                            GLenum pname,
468                                            GLsizei bufSize,
469                                            const GLsizei *length,
470                                            const GLint *params);
471 bool ValidateGetVertexAttribIuivRobustANGLE(const Context *context,
472                                             GLuint index,
473                                             GLenum pname,
474                                             GLsizei bufSize,
475                                             const GLsizei *length,
476                                             const GLuint *params);
477 bool ValidateGetUniformuivRobustANGLE(const Context *context,
478                                       ShaderProgramID programPacked,
479                                       UniformLocation locationPacked,
480                                       GLsizei bufSize,
481                                       const GLsizei *length,
482                                       const GLuint *params);
483 bool ValidateGetActiveUniformBlockivRobustANGLE(const Context *context,
484                                                 ShaderProgramID programPacked,
485                                                 UniformBlockIndex uniformBlockIndexPacked,
486                                                 GLenum pname,
487                                                 GLsizei bufSize,
488                                                 const GLsizei *length,
489                                                 const GLint *params);
490 bool ValidateGetInteger64vRobustANGLE(const Context *context,
491                                       GLenum pname,
492                                       GLsizei bufSize,
493                                       const GLsizei *length,
494                                       const GLint64 *data);
495 bool ValidateGetInteger64i_vRobustANGLE(const Context *context,
496                                         GLenum target,
497                                         GLuint index,
498                                         GLsizei bufSize,
499                                         const GLsizei *length,
500                                         const GLint64 *data);
501 bool ValidateGetBufferParameteri64vRobustANGLE(const Context *context,
502                                                BufferBinding targetPacked,
503                                                GLenum pname,
504                                                GLsizei bufSize,
505                                                const GLsizei *length,
506                                                const GLint64 *params);
507 bool ValidateSamplerParameterivRobustANGLE(const Context *context,
508                                            SamplerID samplerPacked,
509                                            GLuint pname,
510                                            GLsizei bufSize,
511                                            const GLint *param);
512 bool ValidateSamplerParameterfvRobustANGLE(const Context *context,
513                                            SamplerID samplerPacked,
514                                            GLenum pname,
515                                            GLsizei bufSize,
516                                            const GLfloat *param);
517 bool ValidateGetSamplerParameterivRobustANGLE(const Context *context,
518                                               SamplerID samplerPacked,
519                                               GLenum pname,
520                                               GLsizei bufSize,
521                                               const GLsizei *length,
522                                               const GLint *params);
523 bool ValidateGetSamplerParameterfvRobustANGLE(const Context *context,
524                                               SamplerID samplerPacked,
525                                               GLenum pname,
526                                               GLsizei bufSize,
527                                               const GLsizei *length,
528                                               const GLfloat *params);
529 bool ValidateGetFramebufferParameterivRobustANGLE(const Context *context,
530                                                   GLenum target,
531                                                   GLenum pname,
532                                                   GLsizei bufSize,
533                                                   const GLsizei *length,
534                                                   const GLint *params);
535 bool ValidateGetProgramInterfaceivRobustANGLE(const Context *context,
536                                               ShaderProgramID programPacked,
537                                               GLenum programInterface,
538                                               GLenum pname,
539                                               GLsizei bufSize,
540                                               const GLsizei *length,
541                                               const GLint *params);
542 bool ValidateGetBooleani_vRobustANGLE(const Context *context,
543                                       GLenum target,
544                                       GLuint index,
545                                       GLsizei bufSize,
546                                       const GLsizei *length,
547                                       const GLboolean *data);
548 bool ValidateGetMultisamplefvRobustANGLE(const Context *context,
549                                          GLenum pname,
550                                          GLuint index,
551                                          GLsizei bufSize,
552                                          const GLsizei *length,
553                                          const GLfloat *val);
554 bool ValidateGetTexLevelParameterivRobustANGLE(const Context *context,
555                                                TextureTarget targetPacked,
556                                                GLint level,
557                                                GLenum pname,
558                                                GLsizei bufSize,
559                                                const GLsizei *length,
560                                                const GLint *params);
561 bool ValidateGetTexLevelParameterfvRobustANGLE(const Context *context,
562                                                TextureTarget targetPacked,
563                                                GLint level,
564                                                GLenum pname,
565                                                GLsizei bufSize,
566                                                const GLsizei *length,
567                                                const GLfloat *params);
568 bool ValidateGetPointervRobustANGLERobustANGLE(const Context *context,
569                                                GLenum pname,
570                                                GLsizei bufSize,
571                                                const GLsizei *length,
572                                                void *const *params);
573 bool ValidateReadnPixelsRobustANGLE(const Context *context,
574                                     GLint x,
575                                     GLint y,
576                                     GLsizei width,
577                                     GLsizei height,
578                                     GLenum format,
579                                     GLenum type,
580                                     GLsizei bufSize,
581                                     const GLsizei *length,
582                                     const GLsizei *columns,
583                                     const GLsizei *rows,
584                                     const void *data);
585 bool ValidateGetnUniformfvRobustANGLE(const Context *context,
586                                       ShaderProgramID programPacked,
587                                       UniformLocation locationPacked,
588                                       GLsizei bufSize,
589                                       const GLsizei *length,
590                                       const GLfloat *params);
591 bool ValidateGetnUniformivRobustANGLE(const Context *context,
592                                       ShaderProgramID programPacked,
593                                       UniformLocation locationPacked,
594                                       GLsizei bufSize,
595                                       const GLsizei *length,
596                                       const GLint *params);
597 bool ValidateGetnUniformuivRobustANGLE(const Context *context,
598                                        ShaderProgramID programPacked,
599                                        UniformLocation locationPacked,
600                                        GLsizei bufSize,
601                                        const GLsizei *length,
602                                        const GLuint *params);
603 bool ValidateTexParameterIivRobustANGLE(const Context *context,
604                                         TextureType targetPacked,
605                                         GLenum pname,
606                                         GLsizei bufSize,
607                                         const GLint *params);
608 bool ValidateTexParameterIuivRobustANGLE(const Context *context,
609                                          TextureType targetPacked,
610                                          GLenum pname,
611                                          GLsizei bufSize,
612                                          const GLuint *params);
613 bool ValidateGetTexParameterIivRobustANGLE(const Context *context,
614                                            TextureType targetPacked,
615                                            GLenum pname,
616                                            GLsizei bufSize,
617                                            const GLsizei *length,
618                                            const GLint *params);
619 bool ValidateGetTexParameterIuivRobustANGLE(const Context *context,
620                                             TextureType targetPacked,
621                                             GLenum pname,
622                                             GLsizei bufSize,
623                                             const GLsizei *length,
624                                             const GLuint *params);
625 bool ValidateSamplerParameterIivRobustANGLE(const Context *context,
626                                             SamplerID samplerPacked,
627                                             GLenum pname,
628                                             GLsizei bufSize,
629                                             const GLint *param);
630 bool ValidateSamplerParameterIuivRobustANGLE(const Context *context,
631                                              SamplerID samplerPacked,
632                                              GLenum pname,
633                                              GLsizei bufSize,
634                                              const GLuint *param);
635 bool ValidateGetSamplerParameterIivRobustANGLE(const Context *context,
636                                                SamplerID samplerPacked,
637                                                GLenum pname,
638                                                GLsizei bufSize,
639                                                const GLsizei *length,
640                                                const GLint *params);
641 bool ValidateGetSamplerParameterIuivRobustANGLE(const Context *context,
642                                                 SamplerID samplerPacked,
643                                                 GLenum pname,
644                                                 GLsizei bufSize,
645                                                 const GLsizei *length,
646                                                 const GLuint *params);
647 bool ValidateGetQueryObjectivRobustANGLE(const Context *context,
648                                          QueryID idPacked,
649                                          GLenum pname,
650                                          GLsizei bufSize,
651                                          const GLsizei *length,
652                                          const GLint *params);
653 bool ValidateGetQueryObjecti64vRobustANGLE(const Context *context,
654                                            QueryID idPacked,
655                                            GLenum pname,
656                                            GLsizei bufSize,
657                                            const GLsizei *length,
658                                            const GLint64 *params);
659 bool ValidateGetQueryObjectui64vRobustANGLE(const Context *context,
660                                             QueryID idPacked,
661                                             GLenum pname,
662                                             GLsizei bufSize,
663                                             const GLsizei *length,
664                                             const GLuint64 *params);
665 
666 // GL_ANGLE_semaphore_fuchsia
667 bool ValidateImportSemaphoreZirconHandleANGLE(const Context *context,
668                                               SemaphoreID semaphorePacked,
669                                               HandleType handleTypePacked,
670                                               GLuint handle);
671 
672 // GL_ANGLE_texture_external_update
673 bool ValidateTexImage2DExternalANGLE(const Context *context,
674                                      TextureTarget targetPacked,
675                                      GLint level,
676                                      GLint internalformat,
677                                      GLsizei width,
678                                      GLsizei height,
679                                      GLint border,
680                                      GLenum format,
681                                      GLenum type);
682 bool ValidateInvalidateTextureANGLE(const Context *context, TextureType targetPacked);
683 
684 // GL_ANGLE_texture_multisample
685 bool ValidateTexStorage2DMultisampleANGLE(const Context *context,
686                                           TextureType targetPacked,
687                                           GLsizei samples,
688                                           GLenum internalformat,
689                                           GLsizei width,
690                                           GLsizei height,
691                                           GLboolean fixedsamplelocations);
692 bool ValidateGetMultisamplefvANGLE(const Context *context,
693                                    GLenum pname,
694                                    GLuint index,
695                                    const GLfloat *val);
696 bool ValidateSampleMaskiANGLE(const Context *context, GLuint maskNumber, GLbitfield mask);
697 
698 // GL_ANGLE_translated_shader_source
699 bool ValidateGetTranslatedShaderSourceANGLE(const Context *context,
700                                             ShaderProgramID shaderPacked,
701                                             GLsizei bufsize,
702                                             const GLsizei *length,
703                                             const GLchar *source);
704 
705 // GL_CHROMIUM_bind_uniform_location
706 bool ValidateBindUniformLocationCHROMIUM(const Context *context,
707                                          ShaderProgramID programPacked,
708                                          UniformLocation locationPacked,
709                                          const GLchar *name);
710 
711 // GL_CHROMIUM_copy_compressed_texture
712 bool ValidateCompressedCopyTextureCHROMIUM(const Context *context,
713                                            TextureID sourceIdPacked,
714                                            TextureID destIdPacked);
715 
716 // GL_CHROMIUM_copy_texture
717 bool ValidateCopyTextureCHROMIUM(const Context *context,
718                                  TextureID sourceIdPacked,
719                                  GLint sourceLevel,
720                                  TextureTarget destTargetPacked,
721                                  TextureID destIdPacked,
722                                  GLint destLevel,
723                                  GLint internalFormat,
724                                  GLenum destType,
725                                  GLboolean unpackFlipY,
726                                  GLboolean unpackPremultiplyAlpha,
727                                  GLboolean unpackUnmultiplyAlpha);
728 bool ValidateCopySubTextureCHROMIUM(const Context *context,
729                                     TextureID sourceIdPacked,
730                                     GLint sourceLevel,
731                                     TextureTarget destTargetPacked,
732                                     TextureID destIdPacked,
733                                     GLint destLevel,
734                                     GLint xoffset,
735                                     GLint yoffset,
736                                     GLint x,
737                                     GLint y,
738                                     GLint width,
739                                     GLint height,
740                                     GLboolean unpackFlipY,
741                                     GLboolean unpackPremultiplyAlpha,
742                                     GLboolean unpackUnmultiplyAlpha);
743 
744 // GL_CHROMIUM_framebuffer_mixed_samples
745 bool ValidateCoverageModulationCHROMIUM(const Context *context, GLenum components);
746 
747 // GL_CHROMIUM_lose_context
748 bool ValidateLoseContextCHROMIUM(const Context *context,
749                                  GraphicsResetStatus currentPacked,
750                                  GraphicsResetStatus otherPacked);
751 
752 // GL_EXT_EGL_image_array
753 
754 // GL_EXT_YUV_target
755 
756 // GL_EXT_blend_func_extended
757 bool ValidateBindFragDataLocationEXT(const Context *context,
758                                      ShaderProgramID programPacked,
759                                      GLuint color,
760                                      const GLchar *name);
761 bool ValidateBindFragDataLocationIndexedEXT(const Context *context,
762                                             ShaderProgramID programPacked,
763                                             GLuint colorNumber,
764                                             GLuint index,
765                                             const GLchar *name);
766 bool ValidateGetFragDataIndexEXT(const Context *context,
767                                  ShaderProgramID programPacked,
768                                  const GLchar *name);
769 bool ValidateGetProgramResourceLocationIndexEXT(const Context *context,
770                                                 ShaderProgramID programPacked,
771                                                 GLenum programInterface,
772                                                 const GLchar *name);
773 
774 // GL_EXT_buffer_storage
775 bool ValidateBufferStorageEXT(const Context *context,
776                               BufferBinding targetPacked,
777                               GLsizeiptr size,
778                               const void *data,
779                               GLbitfield flags);
780 
781 // GL_EXT_clip_control
782 bool ValidateClipControlEXT(const Context *context, GLenum origin, GLenum depth);
783 
784 // GL_EXT_copy_image
785 bool ValidateCopyImageSubDataEXT(const Context *context,
786                                  GLuint srcName,
787                                  GLenum srcTarget,
788                                  GLint srcLevel,
789                                  GLint srcX,
790                                  GLint srcY,
791                                  GLint srcZ,
792                                  GLuint dstName,
793                                  GLenum dstTarget,
794                                  GLint dstLevel,
795                                  GLint dstX,
796                                  GLint dstY,
797                                  GLint dstZ,
798                                  GLsizei srcWidth,
799                                  GLsizei srcHeight,
800                                  GLsizei srcDepth);
801 
802 // GL_EXT_debug_label
803 bool ValidateGetObjectLabelEXT(const Context *context,
804                                GLenum type,
805                                GLuint object,
806                                GLsizei bufSize,
807                                const GLsizei *length,
808                                const GLchar *label);
809 bool ValidateLabelObjectEXT(const Context *context,
810                             GLenum type,
811                             GLuint object,
812                             GLsizei length,
813                             const GLchar *label);
814 
815 // GL_EXT_debug_marker
816 bool ValidateInsertEventMarkerEXT(const Context *context, GLsizei length, const GLchar *marker);
817 bool ValidatePopGroupMarkerEXT(const Context *context);
818 bool ValidatePushGroupMarkerEXT(const Context *context, GLsizei length, const GLchar *marker);
819 
820 // GL_EXT_discard_framebuffer
821 bool ValidateDiscardFramebufferEXT(const Context *context,
822                                    GLenum target,
823                                    GLsizei numAttachments,
824                                    const GLenum *attachments);
825 
826 // GL_EXT_disjoint_timer_query
827 bool ValidateBeginQueryEXT(const Context *context, QueryType targetPacked, QueryID idPacked);
828 bool ValidateDeleteQueriesEXT(const Context *context, GLsizei n, const QueryID *idsPacked);
829 bool ValidateEndQueryEXT(const Context *context, QueryType targetPacked);
830 bool ValidateGenQueriesEXT(const Context *context, GLsizei n, const QueryID *idsPacked);
831 bool ValidateGetInteger64vEXT(const Context *context, GLenum pname, const GLint64 *data);
832 bool ValidateGetQueryObjecti64vEXT(const Context *context,
833                                    QueryID idPacked,
834                                    GLenum pname,
835                                    const GLint64 *params);
836 bool ValidateGetQueryObjectivEXT(const Context *context,
837                                  QueryID idPacked,
838                                  GLenum pname,
839                                  const GLint *params);
840 bool ValidateGetQueryObjectui64vEXT(const Context *context,
841                                     QueryID idPacked,
842                                     GLenum pname,
843                                     const GLuint64 *params);
844 bool ValidateGetQueryObjectuivEXT(const Context *context,
845                                   QueryID idPacked,
846                                   GLenum pname,
847                                   const GLuint *params);
848 bool ValidateGetQueryivEXT(const Context *context,
849                            QueryType targetPacked,
850                            GLenum pname,
851                            const GLint *params);
852 bool ValidateIsQueryEXT(const Context *context, QueryID idPacked);
853 bool ValidateQueryCounterEXT(const Context *context, QueryID idPacked, QueryType targetPacked);
854 
855 // GL_EXT_draw_buffers
856 bool ValidateDrawBuffersEXT(const Context *context, GLsizei n, const GLenum *bufs);
857 
858 // GL_EXT_draw_buffers_indexed
859 bool ValidateBlendEquationSeparateiEXT(const Context *context,
860                                        GLuint buf,
861                                        GLenum modeRGB,
862                                        GLenum modeAlpha);
863 bool ValidateBlendEquationiEXT(const Context *context, GLuint buf, GLenum mode);
864 bool ValidateBlendFuncSeparateiEXT(const Context *context,
865                                    GLuint buf,
866                                    GLenum srcRGB,
867                                    GLenum dstRGB,
868                                    GLenum srcAlpha,
869                                    GLenum dstAlpha);
870 bool ValidateBlendFunciEXT(const Context *context, GLuint buf, GLenum src, GLenum dst);
871 bool ValidateColorMaskiEXT(const Context *context,
872                            GLuint index,
873                            GLboolean r,
874                            GLboolean g,
875                            GLboolean b,
876                            GLboolean a);
877 bool ValidateDisableiEXT(const Context *context, GLenum target, GLuint index);
878 bool ValidateEnableiEXT(const Context *context, GLenum target, GLuint index);
879 bool ValidateIsEnablediEXT(const Context *context, GLenum target, GLuint index);
880 
881 // GL_EXT_draw_elements_base_vertex
882 bool ValidateDrawElementsBaseVertexEXT(const Context *context,
883                                        PrimitiveMode modePacked,
884                                        GLsizei count,
885                                        DrawElementsType typePacked,
886                                        const void *indices,
887                                        GLint basevertex);
888 bool ValidateDrawElementsInstancedBaseVertexEXT(const Context *context,
889                                                 PrimitiveMode modePacked,
890                                                 GLsizei count,
891                                                 DrawElementsType typePacked,
892                                                 const void *indices,
893                                                 GLsizei instancecount,
894                                                 GLint basevertex);
895 bool ValidateDrawRangeElementsBaseVertexEXT(const Context *context,
896                                             PrimitiveMode modePacked,
897                                             GLuint start,
898                                             GLuint end,
899                                             GLsizei count,
900                                             DrawElementsType typePacked,
901                                             const void *indices,
902                                             GLint basevertex);
903 bool ValidateMultiDrawElementsBaseVertexEXT(const Context *context,
904                                             PrimitiveMode modePacked,
905                                             const GLsizei *count,
906                                             DrawElementsType typePacked,
907                                             const void *const *indices,
908                                             GLsizei primcount,
909                                             const GLint *basevertex);
910 
911 // GL_EXT_external_buffer
912 bool ValidateBufferStorageExternalEXT(const Context *context,
913                                       BufferBinding targetPacked,
914                                       GLintptr offset,
915                                       GLsizeiptr size,
916                                       GLeglClientBufferEXT clientBuffer,
917                                       GLbitfield flags);
918 bool ValidateNamedBufferStorageExternalEXT(const Context *context,
919                                            GLuint buffer,
920                                            GLintptr offset,
921                                            GLsizeiptr size,
922                                            GLeglClientBufferEXT clientBuffer,
923                                            GLbitfield flags);
924 
925 // GL_EXT_geometry_shader
926 bool ValidateFramebufferTextureEXT(const Context *context,
927                                    GLenum target,
928                                    GLenum attachment,
929                                    TextureID texturePacked,
930                                    GLint level);
931 
932 // GL_EXT_instanced_arrays
933 bool ValidateDrawArraysInstancedEXT(const Context *context,
934                                     PrimitiveMode modePacked,
935                                     GLint start,
936                                     GLsizei count,
937                                     GLsizei primcount);
938 bool ValidateDrawElementsInstancedEXT(const Context *context,
939                                       PrimitiveMode modePacked,
940                                       GLsizei count,
941                                       DrawElementsType typePacked,
942                                       const void *indices,
943                                       GLsizei primcount);
944 bool ValidateVertexAttribDivisorEXT(const Context *context, GLuint index, GLuint divisor);
945 
946 // GL_EXT_map_buffer_range
947 bool ValidateFlushMappedBufferRangeEXT(const Context *context,
948                                        BufferBinding targetPacked,
949                                        GLintptr offset,
950                                        GLsizeiptr length);
951 bool ValidateMapBufferRangeEXT(const Context *context,
952                                BufferBinding targetPacked,
953                                GLintptr offset,
954                                GLsizeiptr length,
955                                GLbitfield access);
956 
957 // GL_EXT_memory_object
958 bool ValidateBufferStorageMemEXT(const Context *context,
959                                  TextureType targetPacked,
960                                  GLsizeiptr size,
961                                  MemoryObjectID memoryPacked,
962                                  GLuint64 offset);
963 bool ValidateCreateMemoryObjectsEXT(const Context *context,
964                                     GLsizei n,
965                                     const MemoryObjectID *memoryObjectsPacked);
966 bool ValidateDeleteMemoryObjectsEXT(const Context *context,
967                                     GLsizei n,
968                                     const MemoryObjectID *memoryObjectsPacked);
969 bool ValidateGetMemoryObjectParameterivEXT(const Context *context,
970                                            MemoryObjectID memoryObjectPacked,
971                                            GLenum pname,
972                                            const GLint *params);
973 bool ValidateGetUnsignedBytevEXT(const Context *context, GLenum pname, const GLubyte *data);
974 bool ValidateGetUnsignedBytei_vEXT(const Context *context,
975                                    GLenum target,
976                                    GLuint index,
977                                    const GLubyte *data);
978 bool ValidateIsMemoryObjectEXT(const Context *context, MemoryObjectID memoryObjectPacked);
979 bool ValidateMemoryObjectParameterivEXT(const Context *context,
980                                         MemoryObjectID memoryObjectPacked,
981                                         GLenum pname,
982                                         const GLint *params);
983 bool ValidateTexStorageMem2DEXT(const Context *context,
984                                 TextureType targetPacked,
985                                 GLsizei levels,
986                                 GLenum internalFormat,
987                                 GLsizei width,
988                                 GLsizei height,
989                                 MemoryObjectID memoryPacked,
990                                 GLuint64 offset);
991 bool ValidateTexStorageMem2DMultisampleEXT(const Context *context,
992                                            TextureType targetPacked,
993                                            GLsizei samples,
994                                            GLenum internalFormat,
995                                            GLsizei width,
996                                            GLsizei height,
997                                            GLboolean fixedSampleLocations,
998                                            MemoryObjectID memoryPacked,
999                                            GLuint64 offset);
1000 bool ValidateTexStorageMem3DEXT(const Context *context,
1001                                 TextureType targetPacked,
1002                                 GLsizei levels,
1003                                 GLenum internalFormat,
1004                                 GLsizei width,
1005                                 GLsizei height,
1006                                 GLsizei depth,
1007                                 MemoryObjectID memoryPacked,
1008                                 GLuint64 offset);
1009 bool ValidateTexStorageMem3DMultisampleEXT(const Context *context,
1010                                            TextureType targetPacked,
1011                                            GLsizei samples,
1012                                            GLenum internalFormat,
1013                                            GLsizei width,
1014                                            GLsizei height,
1015                                            GLsizei depth,
1016                                            GLboolean fixedSampleLocations,
1017                                            MemoryObjectID memoryPacked,
1018                                            GLuint64 offset);
1019 
1020 // GL_EXT_memory_object_fd
1021 bool ValidateImportMemoryFdEXT(const Context *context,
1022                                MemoryObjectID memoryPacked,
1023                                GLuint64 size,
1024                                HandleType handleTypePacked,
1025                                GLint fd);
1026 
1027 // GL_EXT_multisampled_render_to_texture
1028 bool ValidateFramebufferTexture2DMultisampleEXT(const Context *context,
1029                                                 GLenum target,
1030                                                 GLenum attachment,
1031                                                 TextureTarget textargetPacked,
1032                                                 TextureID texturePacked,
1033                                                 GLint level,
1034                                                 GLsizei samples);
1035 bool ValidateRenderbufferStorageMultisampleEXT(const Context *context,
1036                                                GLenum target,
1037                                                GLsizei samples,
1038                                                GLenum internalformat,
1039                                                GLsizei width,
1040                                                GLsizei height);
1041 
1042 // GL_EXT_occlusion_query_boolean
1043 
1044 // GL_EXT_primitive_bounding_box
1045 bool ValidatePrimitiveBoundingBoxEXT(const Context *context,
1046                                      GLfloat minX,
1047                                      GLfloat minY,
1048                                      GLfloat minZ,
1049                                      GLfloat minW,
1050                                      GLfloat maxX,
1051                                      GLfloat maxY,
1052                                      GLfloat maxZ,
1053                                      GLfloat maxW);
1054 
1055 // GL_EXT_read_format_bgra
1056 
1057 // GL_EXT_robustness
1058 bool ValidateGetGraphicsResetStatusEXT(const Context *context);
1059 bool ValidateGetnUniformfvEXT(const Context *context,
1060                               ShaderProgramID programPacked,
1061                               UniformLocation locationPacked,
1062                               GLsizei bufSize,
1063                               const GLfloat *params);
1064 bool ValidateGetnUniformivEXT(const Context *context,
1065                               ShaderProgramID programPacked,
1066                               UniformLocation locationPacked,
1067                               GLsizei bufSize,
1068                               const GLint *params);
1069 bool ValidateReadnPixelsEXT(const Context *context,
1070                             GLint x,
1071                             GLint y,
1072                             GLsizei width,
1073                             GLsizei height,
1074                             GLenum format,
1075                             GLenum type,
1076                             GLsizei bufSize,
1077                             const void *data);
1078 
1079 // GL_EXT_sRGB
1080 
1081 // GL_EXT_sRGB_write_control
1082 
1083 // GL_EXT_semaphore
1084 bool ValidateDeleteSemaphoresEXT(const Context *context,
1085                                  GLsizei n,
1086                                  const SemaphoreID *semaphoresPacked);
1087 bool ValidateGenSemaphoresEXT(const Context *context,
1088                               GLsizei n,
1089                               const SemaphoreID *semaphoresPacked);
1090 bool ValidateGetSemaphoreParameterui64vEXT(const Context *context,
1091                                            SemaphoreID semaphorePacked,
1092                                            GLenum pname,
1093                                            const GLuint64 *params);
1094 bool ValidateIsSemaphoreEXT(const Context *context, SemaphoreID semaphorePacked);
1095 bool ValidateSemaphoreParameterui64vEXT(const Context *context,
1096                                         SemaphoreID semaphorePacked,
1097                                         GLenum pname,
1098                                         const GLuint64 *params);
1099 bool ValidateSignalSemaphoreEXT(const Context *context,
1100                                 SemaphoreID semaphorePacked,
1101                                 GLuint numBufferBarriers,
1102                                 const BufferID *buffersPacked,
1103                                 GLuint numTextureBarriers,
1104                                 const TextureID *texturesPacked,
1105                                 const GLenum *dstLayouts);
1106 bool ValidateWaitSemaphoreEXT(const Context *context,
1107                               SemaphoreID semaphorePacked,
1108                               GLuint numBufferBarriers,
1109                               const BufferID *buffersPacked,
1110                               GLuint numTextureBarriers,
1111                               const TextureID *texturesPacked,
1112                               const GLenum *srcLayouts);
1113 
1114 // GL_EXT_semaphore_fd
1115 bool ValidateImportSemaphoreFdEXT(const Context *context,
1116                                   SemaphoreID semaphorePacked,
1117                                   HandleType handleTypePacked,
1118                                   GLint fd);
1119 
1120 // GL_EXT_separate_shader_objects
1121 bool ValidateActiveShaderProgramEXT(const Context *context,
1122                                     ProgramPipelineID pipelinePacked,
1123                                     ShaderProgramID programPacked);
1124 bool ValidateBindProgramPipelineEXT(const Context *context, ProgramPipelineID pipelinePacked);
1125 bool ValidateCreateShaderProgramvEXT(const Context *context,
1126                                      ShaderType typePacked,
1127                                      GLsizei count,
1128                                      const GLchar **strings);
1129 bool ValidateDeleteProgramPipelinesEXT(const Context *context,
1130                                        GLsizei n,
1131                                        const ProgramPipelineID *pipelinesPacked);
1132 bool ValidateGenProgramPipelinesEXT(const Context *context,
1133                                     GLsizei n,
1134                                     const ProgramPipelineID *pipelinesPacked);
1135 bool ValidateGetProgramPipelineInfoLogEXT(const Context *context,
1136                                           ProgramPipelineID pipelinePacked,
1137                                           GLsizei bufSize,
1138                                           const GLsizei *length,
1139                                           const GLchar *infoLog);
1140 bool ValidateGetProgramPipelineivEXT(const Context *context,
1141                                      ProgramPipelineID pipelinePacked,
1142                                      GLenum pname,
1143                                      const GLint *params);
1144 bool ValidateIsProgramPipelineEXT(const Context *context, ProgramPipelineID pipelinePacked);
1145 bool ValidateProgramParameteriEXT(const Context *context,
1146                                   ShaderProgramID programPacked,
1147                                   GLenum pname,
1148                                   GLint value);
1149 bool ValidateProgramUniform1fEXT(const Context *context,
1150                                  ShaderProgramID programPacked,
1151                                  UniformLocation locationPacked,
1152                                  GLfloat v0);
1153 bool ValidateProgramUniform1fvEXT(const Context *context,
1154                                   ShaderProgramID programPacked,
1155                                   UniformLocation locationPacked,
1156                                   GLsizei count,
1157                                   const GLfloat *value);
1158 bool ValidateProgramUniform1iEXT(const Context *context,
1159                                  ShaderProgramID programPacked,
1160                                  UniformLocation locationPacked,
1161                                  GLint v0);
1162 bool ValidateProgramUniform1ivEXT(const Context *context,
1163                                   ShaderProgramID programPacked,
1164                                   UniformLocation locationPacked,
1165                                   GLsizei count,
1166                                   const GLint *value);
1167 bool ValidateProgramUniform1uiEXT(const Context *context,
1168                                   ShaderProgramID programPacked,
1169                                   UniformLocation locationPacked,
1170                                   GLuint v0);
1171 bool ValidateProgramUniform1uivEXT(const Context *context,
1172                                    ShaderProgramID programPacked,
1173                                    UniformLocation locationPacked,
1174                                    GLsizei count,
1175                                    const GLuint *value);
1176 bool ValidateProgramUniform2fEXT(const Context *context,
1177                                  ShaderProgramID programPacked,
1178                                  UniformLocation locationPacked,
1179                                  GLfloat v0,
1180                                  GLfloat v1);
1181 bool ValidateProgramUniform2fvEXT(const Context *context,
1182                                   ShaderProgramID programPacked,
1183                                   UniformLocation locationPacked,
1184                                   GLsizei count,
1185                                   const GLfloat *value);
1186 bool ValidateProgramUniform2iEXT(const Context *context,
1187                                  ShaderProgramID programPacked,
1188                                  UniformLocation locationPacked,
1189                                  GLint v0,
1190                                  GLint v1);
1191 bool ValidateProgramUniform2ivEXT(const Context *context,
1192                                   ShaderProgramID programPacked,
1193                                   UniformLocation locationPacked,
1194                                   GLsizei count,
1195                                   const GLint *value);
1196 bool ValidateProgramUniform2uiEXT(const Context *context,
1197                                   ShaderProgramID programPacked,
1198                                   UniformLocation locationPacked,
1199                                   GLuint v0,
1200                                   GLuint v1);
1201 bool ValidateProgramUniform2uivEXT(const Context *context,
1202                                    ShaderProgramID programPacked,
1203                                    UniformLocation locationPacked,
1204                                    GLsizei count,
1205                                    const GLuint *value);
1206 bool ValidateProgramUniform3fEXT(const Context *context,
1207                                  ShaderProgramID programPacked,
1208                                  UniformLocation locationPacked,
1209                                  GLfloat v0,
1210                                  GLfloat v1,
1211                                  GLfloat v2);
1212 bool ValidateProgramUniform3fvEXT(const Context *context,
1213                                   ShaderProgramID programPacked,
1214                                   UniformLocation locationPacked,
1215                                   GLsizei count,
1216                                   const GLfloat *value);
1217 bool ValidateProgramUniform3iEXT(const Context *context,
1218                                  ShaderProgramID programPacked,
1219                                  UniformLocation locationPacked,
1220                                  GLint v0,
1221                                  GLint v1,
1222                                  GLint v2);
1223 bool ValidateProgramUniform3ivEXT(const Context *context,
1224                                   ShaderProgramID programPacked,
1225                                   UniformLocation locationPacked,
1226                                   GLsizei count,
1227                                   const GLint *value);
1228 bool ValidateProgramUniform3uiEXT(const Context *context,
1229                                   ShaderProgramID programPacked,
1230                                   UniformLocation locationPacked,
1231                                   GLuint v0,
1232                                   GLuint v1,
1233                                   GLuint v2);
1234 bool ValidateProgramUniform3uivEXT(const Context *context,
1235                                    ShaderProgramID programPacked,
1236                                    UniformLocation locationPacked,
1237                                    GLsizei count,
1238                                    const GLuint *value);
1239 bool ValidateProgramUniform4fEXT(const Context *context,
1240                                  ShaderProgramID programPacked,
1241                                  UniformLocation locationPacked,
1242                                  GLfloat v0,
1243                                  GLfloat v1,
1244                                  GLfloat v2,
1245                                  GLfloat v3);
1246 bool ValidateProgramUniform4fvEXT(const Context *context,
1247                                   ShaderProgramID programPacked,
1248                                   UniformLocation locationPacked,
1249                                   GLsizei count,
1250                                   const GLfloat *value);
1251 bool ValidateProgramUniform4iEXT(const Context *context,
1252                                  ShaderProgramID programPacked,
1253                                  UniformLocation locationPacked,
1254                                  GLint v0,
1255                                  GLint v1,
1256                                  GLint v2,
1257                                  GLint v3);
1258 bool ValidateProgramUniform4ivEXT(const Context *context,
1259                                   ShaderProgramID programPacked,
1260                                   UniformLocation locationPacked,
1261                                   GLsizei count,
1262                                   const GLint *value);
1263 bool ValidateProgramUniform4uiEXT(const Context *context,
1264                                   ShaderProgramID programPacked,
1265                                   UniformLocation locationPacked,
1266                                   GLuint v0,
1267                                   GLuint v1,
1268                                   GLuint v2,
1269                                   GLuint v3);
1270 bool ValidateProgramUniform4uivEXT(const Context *context,
1271                                    ShaderProgramID programPacked,
1272                                    UniformLocation locationPacked,
1273                                    GLsizei count,
1274                                    const GLuint *value);
1275 bool ValidateProgramUniformMatrix2fvEXT(const Context *context,
1276                                         ShaderProgramID programPacked,
1277                                         UniformLocation locationPacked,
1278                                         GLsizei count,
1279                                         GLboolean transpose,
1280                                         const GLfloat *value);
1281 bool ValidateProgramUniformMatrix2x3fvEXT(const Context *context,
1282                                           ShaderProgramID programPacked,
1283                                           UniformLocation locationPacked,
1284                                           GLsizei count,
1285                                           GLboolean transpose,
1286                                           const GLfloat *value);
1287 bool ValidateProgramUniformMatrix2x4fvEXT(const Context *context,
1288                                           ShaderProgramID programPacked,
1289                                           UniformLocation locationPacked,
1290                                           GLsizei count,
1291                                           GLboolean transpose,
1292                                           const GLfloat *value);
1293 bool ValidateProgramUniformMatrix3fvEXT(const Context *context,
1294                                         ShaderProgramID programPacked,
1295                                         UniformLocation locationPacked,
1296                                         GLsizei count,
1297                                         GLboolean transpose,
1298                                         const GLfloat *value);
1299 bool ValidateProgramUniformMatrix3x2fvEXT(const Context *context,
1300                                           ShaderProgramID programPacked,
1301                                           UniformLocation locationPacked,
1302                                           GLsizei count,
1303                                           GLboolean transpose,
1304                                           const GLfloat *value);
1305 bool ValidateProgramUniformMatrix3x4fvEXT(const Context *context,
1306                                           ShaderProgramID programPacked,
1307                                           UniformLocation locationPacked,
1308                                           GLsizei count,
1309                                           GLboolean transpose,
1310                                           const GLfloat *value);
1311 bool ValidateProgramUniformMatrix4fvEXT(const Context *context,
1312                                         ShaderProgramID programPacked,
1313                                         UniformLocation locationPacked,
1314                                         GLsizei count,
1315                                         GLboolean transpose,
1316                                         const GLfloat *value);
1317 bool ValidateProgramUniformMatrix4x2fvEXT(const Context *context,
1318                                           ShaderProgramID programPacked,
1319                                           UniformLocation locationPacked,
1320                                           GLsizei count,
1321                                           GLboolean transpose,
1322                                           const GLfloat *value);
1323 bool ValidateProgramUniformMatrix4x3fvEXT(const Context *context,
1324                                           ShaderProgramID programPacked,
1325                                           UniformLocation locationPacked,
1326                                           GLsizei count,
1327                                           GLboolean transpose,
1328                                           const GLfloat *value);
1329 bool ValidateUseProgramStagesEXT(const Context *context,
1330                                  ProgramPipelineID pipelinePacked,
1331                                  GLbitfield stages,
1332                                  ShaderProgramID programPacked);
1333 bool ValidateValidateProgramPipelineEXT(const Context *context, ProgramPipelineID pipelinePacked);
1334 
1335 // GL_EXT_shader_framebuffer_fetch_non_coherent
1336 bool ValidateFramebufferFetchBarrierEXT(const Context *context);
1337 
1338 // GL_EXT_shader_io_blocks
1339 
1340 // GL_EXT_tessellation_shader
1341 bool ValidatePatchParameteriEXT(const Context *context, GLenum pname, GLint value);
1342 
1343 // GL_EXT_texture_border_clamp
1344 bool ValidateGetSamplerParameterIivEXT(const Context *context,
1345                                        SamplerID samplerPacked,
1346                                        GLenum pname,
1347                                        const GLint *params);
1348 bool ValidateGetSamplerParameterIuivEXT(const Context *context,
1349                                         SamplerID samplerPacked,
1350                                         GLenum pname,
1351                                         const GLuint *params);
1352 bool ValidateGetTexParameterIivEXT(const Context *context,
1353                                    TextureType targetPacked,
1354                                    GLenum pname,
1355                                    const GLint *params);
1356 bool ValidateGetTexParameterIuivEXT(const Context *context,
1357                                     TextureType targetPacked,
1358                                     GLenum pname,
1359                                     const GLuint *params);
1360 bool ValidateSamplerParameterIivEXT(const Context *context,
1361                                     SamplerID samplerPacked,
1362                                     GLenum pname,
1363                                     const GLint *param);
1364 bool ValidateSamplerParameterIuivEXT(const Context *context,
1365                                      SamplerID samplerPacked,
1366                                      GLenum pname,
1367                                      const GLuint *param);
1368 bool ValidateTexParameterIivEXT(const Context *context,
1369                                 TextureType targetPacked,
1370                                 GLenum pname,
1371                                 const GLint *params);
1372 bool ValidateTexParameterIuivEXT(const Context *context,
1373                                  TextureType targetPacked,
1374                                  GLenum pname,
1375                                  const GLuint *params);
1376 
1377 // GL_EXT_texture_buffer
1378 bool ValidateTexBufferEXT(const Context *context,
1379                           TextureType targetPacked,
1380                           GLenum internalformat,
1381                           BufferID bufferPacked);
1382 bool ValidateTexBufferRangeEXT(const Context *context,
1383                                TextureType targetPacked,
1384                                GLenum internalformat,
1385                                BufferID bufferPacked,
1386                                GLintptr offset,
1387                                GLsizeiptr size);
1388 
1389 // GL_EXT_texture_compression_bptc
1390 
1391 // GL_EXT_texture_compression_dxt1
1392 
1393 // GL_EXT_texture_compression_rgtc
1394 
1395 // GL_EXT_texture_compression_s3tc
1396 
1397 // GL_EXT_texture_compression_s3tc_srgb
1398 
1399 // GL_EXT_texture_cube_map_array
1400 
1401 // GL_EXT_texture_filter_anisotropic
1402 
1403 // GL_EXT_texture_format_BGRA8888
1404 
1405 // GL_EXT_texture_sRGB_R8
1406 
1407 // GL_EXT_texture_sRGB_RG8
1408 
1409 // GL_EXT_texture_storage
1410 bool ValidateTexStorage1DEXT(const Context *context,
1411                              GLenum target,
1412                              GLsizei levels,
1413                              GLenum internalformat,
1414                              GLsizei width);
1415 bool ValidateTexStorage2DEXT(const Context *context,
1416                              TextureType targetPacked,
1417                              GLsizei levels,
1418                              GLenum internalformat,
1419                              GLsizei width,
1420                              GLsizei height);
1421 bool ValidateTexStorage3DEXT(const Context *context,
1422                              TextureType targetPacked,
1423                              GLsizei levels,
1424                              GLenum internalformat,
1425                              GLsizei width,
1426                              GLsizei height,
1427                              GLsizei depth);
1428 
1429 // GL_KHR_blend_equation_advanced
1430 bool ValidateBlendBarrierKHR(const Context *context);
1431 
1432 // GL_KHR_debug
1433 bool ValidateDebugMessageCallbackKHR(const Context *context,
1434                                      GLDEBUGPROCKHR callback,
1435                                      const void *userParam);
1436 bool ValidateDebugMessageControlKHR(const Context *context,
1437                                     GLenum source,
1438                                     GLenum type,
1439                                     GLenum severity,
1440                                     GLsizei count,
1441                                     const GLuint *ids,
1442                                     GLboolean enabled);
1443 bool ValidateDebugMessageInsertKHR(const Context *context,
1444                                    GLenum source,
1445                                    GLenum type,
1446                                    GLuint id,
1447                                    GLenum severity,
1448                                    GLsizei length,
1449                                    const GLchar *buf);
1450 bool ValidateGetDebugMessageLogKHR(const Context *context,
1451                                    GLuint count,
1452                                    GLsizei bufSize,
1453                                    const GLenum *sources,
1454                                    const GLenum *types,
1455                                    const GLuint *ids,
1456                                    const GLenum *severities,
1457                                    const GLsizei *lengths,
1458                                    const GLchar *messageLog);
1459 bool ValidateGetObjectLabelKHR(const Context *context,
1460                                GLenum identifier,
1461                                GLuint name,
1462                                GLsizei bufSize,
1463                                const GLsizei *length,
1464                                const GLchar *label);
1465 bool ValidateGetObjectPtrLabelKHR(const Context *context,
1466                                   const void *ptr,
1467                                   GLsizei bufSize,
1468                                   const GLsizei *length,
1469                                   const GLchar *label);
1470 bool ValidateGetPointervKHR(const Context *context, GLenum pname, void *const *params);
1471 bool ValidateObjectLabelKHR(const Context *context,
1472                             GLenum identifier,
1473                             GLuint name,
1474                             GLsizei length,
1475                             const GLchar *label);
1476 bool ValidateObjectPtrLabelKHR(const Context *context,
1477                                const void *ptr,
1478                                GLsizei length,
1479                                const GLchar *label);
1480 bool ValidatePopDebugGroupKHR(const Context *context);
1481 bool ValidatePushDebugGroupKHR(const Context *context,
1482                                GLenum source,
1483                                GLuint id,
1484                                GLsizei length,
1485                                const GLchar *message);
1486 
1487 // GL_KHR_parallel_shader_compile
1488 bool ValidateMaxShaderCompilerThreadsKHR(const Context *context, GLuint count);
1489 
1490 // GL_NV_fence
1491 bool ValidateDeleteFencesNV(const Context *context, GLsizei n, const FenceNVID *fencesPacked);
1492 bool ValidateFinishFenceNV(const Context *context, FenceNVID fencePacked);
1493 bool ValidateGenFencesNV(const Context *context, GLsizei n, const FenceNVID *fencesPacked);
1494 bool ValidateGetFenceivNV(const Context *context,
1495                           FenceNVID fencePacked,
1496                           GLenum pname,
1497                           const GLint *params);
1498 bool ValidateIsFenceNV(const Context *context, FenceNVID fencePacked);
1499 bool ValidateSetFenceNV(const Context *context, FenceNVID fencePacked, GLenum condition);
1500 bool ValidateTestFenceNV(const Context *context, FenceNVID fencePacked);
1501 
1502 // GL_NV_framebuffer_blit
1503 bool ValidateBlitFramebufferNV(const Context *context,
1504                                GLint srcX0,
1505                                GLint srcY0,
1506                                GLint srcX1,
1507                                GLint srcY1,
1508                                GLint dstX0,
1509                                GLint dstY0,
1510                                GLint dstX1,
1511                                GLint dstY1,
1512                                GLbitfield mask,
1513                                GLenum filter);
1514 
1515 // GL_OES_EGL_image
1516 bool ValidateEGLImageTargetRenderbufferStorageOES(const Context *context,
1517                                                   GLenum target,
1518                                                   GLeglImageOES image);
1519 bool ValidateEGLImageTargetTexture2DOES(const Context *context,
1520                                         TextureType targetPacked,
1521                                         GLeglImageOES image);
1522 
1523 // GL_OES_compressed_ETC1_RGB8_texture
1524 
1525 // GL_OES_copy_image
1526 bool ValidateCopyImageSubDataOES(const Context *context,
1527                                  GLuint srcName,
1528                                  GLenum srcTarget,
1529                                  GLint srcLevel,
1530                                  GLint srcX,
1531                                  GLint srcY,
1532                                  GLint srcZ,
1533                                  GLuint dstName,
1534                                  GLenum dstTarget,
1535                                  GLint dstLevel,
1536                                  GLint dstX,
1537                                  GLint dstY,
1538                                  GLint dstZ,
1539                                  GLsizei srcWidth,
1540                                  GLsizei srcHeight,
1541                                  GLsizei srcDepth);
1542 
1543 // GL_OES_depth32
1544 
1545 // GL_OES_draw_buffers_indexed
1546 bool ValidateBlendEquationSeparateiOES(const Context *context,
1547                                        GLuint buf,
1548                                        GLenum modeRGB,
1549                                        GLenum modeAlpha);
1550 bool ValidateBlendEquationiOES(const Context *context, GLuint buf, GLenum mode);
1551 bool ValidateBlendFuncSeparateiOES(const Context *context,
1552                                    GLuint buf,
1553                                    GLenum srcRGB,
1554                                    GLenum dstRGB,
1555                                    GLenum srcAlpha,
1556                                    GLenum dstAlpha);
1557 bool ValidateBlendFunciOES(const Context *context, GLuint buf, GLenum src, GLenum dst);
1558 bool ValidateColorMaskiOES(const Context *context,
1559                            GLuint index,
1560                            GLboolean r,
1561                            GLboolean g,
1562                            GLboolean b,
1563                            GLboolean a);
1564 bool ValidateDisableiOES(const Context *context, GLenum target, GLuint index);
1565 bool ValidateEnableiOES(const Context *context, GLenum target, GLuint index);
1566 bool ValidateIsEnablediOES(const Context *context, GLenum target, GLuint index);
1567 
1568 // GL_OES_draw_elements_base_vertex
1569 bool ValidateDrawElementsBaseVertexOES(const Context *context,
1570                                        PrimitiveMode modePacked,
1571                                        GLsizei count,
1572                                        DrawElementsType typePacked,
1573                                        const void *indices,
1574                                        GLint basevertex);
1575 bool ValidateDrawElementsInstancedBaseVertexOES(const Context *context,
1576                                                 PrimitiveMode modePacked,
1577                                                 GLsizei count,
1578                                                 DrawElementsType typePacked,
1579                                                 const void *indices,
1580                                                 GLsizei instancecount,
1581                                                 GLint basevertex);
1582 bool ValidateDrawRangeElementsBaseVertexOES(const Context *context,
1583                                             PrimitiveMode modePacked,
1584                                             GLuint start,
1585                                             GLuint end,
1586                                             GLsizei count,
1587                                             DrawElementsType typePacked,
1588                                             const void *indices,
1589                                             GLint basevertex);
1590 
1591 // GL_OES_draw_texture
1592 bool ValidateDrawTexfOES(const Context *context,
1593                          GLfloat x,
1594                          GLfloat y,
1595                          GLfloat z,
1596                          GLfloat width,
1597                          GLfloat height);
1598 bool ValidateDrawTexfvOES(const Context *context, const GLfloat *coords);
1599 bool ValidateDrawTexiOES(const Context *context,
1600                          GLint x,
1601                          GLint y,
1602                          GLint z,
1603                          GLint width,
1604                          GLint height);
1605 bool ValidateDrawTexivOES(const Context *context, const GLint *coords);
1606 bool ValidateDrawTexsOES(const Context *context,
1607                          GLshort x,
1608                          GLshort y,
1609                          GLshort z,
1610                          GLshort width,
1611                          GLshort height);
1612 bool ValidateDrawTexsvOES(const Context *context, const GLshort *coords);
1613 bool ValidateDrawTexxOES(const Context *context,
1614                          GLfixed x,
1615                          GLfixed y,
1616                          GLfixed z,
1617                          GLfixed width,
1618                          GLfixed height);
1619 bool ValidateDrawTexxvOES(const Context *context, const GLfixed *coords);
1620 
1621 // GL_OES_framebuffer_object
1622 bool ValidateBindFramebufferOES(const Context *context,
1623                                 GLenum target,
1624                                 FramebufferID framebufferPacked);
1625 bool ValidateBindRenderbufferOES(const Context *context,
1626                                  GLenum target,
1627                                  RenderbufferID renderbufferPacked);
1628 bool ValidateCheckFramebufferStatusOES(const Context *context, GLenum target);
1629 bool ValidateDeleteFramebuffersOES(const Context *context,
1630                                    GLsizei n,
1631                                    const FramebufferID *framebuffersPacked);
1632 bool ValidateDeleteRenderbuffersOES(const Context *context,
1633                                     GLsizei n,
1634                                     const RenderbufferID *renderbuffersPacked);
1635 bool ValidateFramebufferRenderbufferOES(const Context *context,
1636                                         GLenum target,
1637                                         GLenum attachment,
1638                                         GLenum renderbuffertarget,
1639                                         RenderbufferID renderbufferPacked);
1640 bool ValidateFramebufferTexture2DOES(const Context *context,
1641                                      GLenum target,
1642                                      GLenum attachment,
1643                                      TextureTarget textargetPacked,
1644                                      TextureID texturePacked,
1645                                      GLint level);
1646 bool ValidateGenFramebuffersOES(const Context *context,
1647                                 GLsizei n,
1648                                 const FramebufferID *framebuffersPacked);
1649 bool ValidateGenRenderbuffersOES(const Context *context,
1650                                  GLsizei n,
1651                                  const RenderbufferID *renderbuffersPacked);
1652 bool ValidateGenerateMipmapOES(const Context *context, TextureType targetPacked);
1653 bool ValidateGetFramebufferAttachmentParameterivOES(const Context *context,
1654                                                     GLenum target,
1655                                                     GLenum attachment,
1656                                                     GLenum pname,
1657                                                     const GLint *params);
1658 bool ValidateGetRenderbufferParameterivOES(const Context *context,
1659                                            GLenum target,
1660                                            GLenum pname,
1661                                            const GLint *params);
1662 bool ValidateIsFramebufferOES(const Context *context, FramebufferID framebufferPacked);
1663 bool ValidateIsRenderbufferOES(const Context *context, RenderbufferID renderbufferPacked);
1664 bool ValidateRenderbufferStorageOES(const Context *context,
1665                                     GLenum target,
1666                                     GLenum internalformat,
1667                                     GLsizei width,
1668                                     GLsizei height);
1669 
1670 // GL_OES_geometry_shader
1671 bool ValidateFramebufferTextureOES(const Context *context,
1672                                    GLenum target,
1673                                    GLenum attachment,
1674                                    TextureID texturePacked,
1675                                    GLint level);
1676 
1677 // GL_OES_get_program_binary
1678 bool ValidateGetProgramBinaryOES(const Context *context,
1679                                  ShaderProgramID programPacked,
1680                                  GLsizei bufSize,
1681                                  const GLsizei *length,
1682                                  const GLenum *binaryFormat,
1683                                  const void *binary);
1684 bool ValidateProgramBinaryOES(const Context *context,
1685                               ShaderProgramID programPacked,
1686                               GLenum binaryFormat,
1687                               const void *binary,
1688                               GLint length);
1689 
1690 // GL_OES_mapbuffer
1691 bool ValidateGetBufferPointervOES(const Context *context,
1692                                   BufferBinding targetPacked,
1693                                   GLenum pname,
1694                                   void *const *params);
1695 bool ValidateMapBufferOES(const Context *context, BufferBinding targetPacked, GLenum access);
1696 bool ValidateUnmapBufferOES(const Context *context, BufferBinding targetPacked);
1697 
1698 // GL_OES_matrix_palette
1699 bool ValidateCurrentPaletteMatrixOES(const Context *context, GLuint matrixpaletteindex);
1700 bool ValidateLoadPaletteFromModelViewMatrixOES(const Context *context);
1701 bool ValidateMatrixIndexPointerOES(const Context *context,
1702                                    GLint size,
1703                                    GLenum type,
1704                                    GLsizei stride,
1705                                    const void *pointer);
1706 bool ValidateWeightPointerOES(const Context *context,
1707                               GLint size,
1708                               GLenum type,
1709                               GLsizei stride,
1710                               const void *pointer);
1711 
1712 // GL_OES_point_size_array
1713 bool ValidatePointSizePointerOES(const Context *context,
1714                                  VertexAttribType typePacked,
1715                                  GLsizei stride,
1716                                  const void *pointer);
1717 
1718 // GL_OES_query_matrix
1719 bool ValidateQueryMatrixxOES(const Context *context,
1720                              const GLfixed *mantissa,
1721                              const GLint *exponent);
1722 
1723 // GL_OES_sample_shading
1724 bool ValidateMinSampleShadingOES(const Context *context, GLfloat value);
1725 
1726 // GL_OES_shader_io_blocks
1727 
1728 // GL_OES_texture_3D
1729 bool ValidateCompressedTexImage3DOES(const Context *context,
1730                                      TextureTarget targetPacked,
1731                                      GLint level,
1732                                      GLenum internalformat,
1733                                      GLsizei width,
1734                                      GLsizei height,
1735                                      GLsizei depth,
1736                                      GLint border,
1737                                      GLsizei imageSize,
1738                                      const void *data);
1739 bool ValidateCompressedTexSubImage3DOES(const Context *context,
1740                                         TextureTarget targetPacked,
1741                                         GLint level,
1742                                         GLint xoffset,
1743                                         GLint yoffset,
1744                                         GLint zoffset,
1745                                         GLsizei width,
1746                                         GLsizei height,
1747                                         GLsizei depth,
1748                                         GLenum format,
1749                                         GLsizei imageSize,
1750                                         const void *data);
1751 bool ValidateCopyTexSubImage3DOES(const Context *context,
1752                                   TextureTarget targetPacked,
1753                                   GLint level,
1754                                   GLint xoffset,
1755                                   GLint yoffset,
1756                                   GLint zoffset,
1757                                   GLint x,
1758                                   GLint y,
1759                                   GLsizei width,
1760                                   GLsizei height);
1761 bool ValidateFramebufferTexture3DOES(const Context *context,
1762                                      GLenum target,
1763                                      GLenum attachment,
1764                                      TextureTarget textargetPacked,
1765                                      TextureID texturePacked,
1766                                      GLint level,
1767                                      GLint zoffset);
1768 bool ValidateTexImage3DOES(const Context *context,
1769                            TextureTarget targetPacked,
1770                            GLint level,
1771                            GLenum internalformat,
1772                            GLsizei width,
1773                            GLsizei height,
1774                            GLsizei depth,
1775                            GLint border,
1776                            GLenum format,
1777                            GLenum type,
1778                            const void *pixels);
1779 bool ValidateTexSubImage3DOES(const Context *context,
1780                               TextureTarget targetPacked,
1781                               GLint level,
1782                               GLint xoffset,
1783                               GLint yoffset,
1784                               GLint zoffset,
1785                               GLsizei width,
1786                               GLsizei height,
1787                               GLsizei depth,
1788                               GLenum format,
1789                               GLenum type,
1790                               const void *pixels);
1791 
1792 // GL_OES_texture_border_clamp
1793 bool ValidateGetSamplerParameterIivOES(const Context *context,
1794                                        SamplerID samplerPacked,
1795                                        GLenum pname,
1796                                        const GLint *params);
1797 bool ValidateGetSamplerParameterIuivOES(const Context *context,
1798                                         SamplerID samplerPacked,
1799                                         GLenum pname,
1800                                         const GLuint *params);
1801 bool ValidateGetTexParameterIivOES(const Context *context,
1802                                    TextureType targetPacked,
1803                                    GLenum pname,
1804                                    const GLint *params);
1805 bool ValidateGetTexParameterIuivOES(const Context *context,
1806                                     TextureType targetPacked,
1807                                     GLenum pname,
1808                                     const GLuint *params);
1809 bool ValidateSamplerParameterIivOES(const Context *context,
1810                                     SamplerID samplerPacked,
1811                                     GLenum pname,
1812                                     const GLint *param);
1813 bool ValidateSamplerParameterIuivOES(const Context *context,
1814                                      SamplerID samplerPacked,
1815                                      GLenum pname,
1816                                      const GLuint *param);
1817 bool ValidateTexParameterIivOES(const Context *context,
1818                                 TextureType targetPacked,
1819                                 GLenum pname,
1820                                 const GLint *params);
1821 bool ValidateTexParameterIuivOES(const Context *context,
1822                                  TextureType targetPacked,
1823                                  GLenum pname,
1824                                  const GLuint *params);
1825 
1826 // GL_OES_texture_buffer
1827 bool ValidateTexBufferOES(const Context *context,
1828                           TextureType targetPacked,
1829                           GLenum internalformat,
1830                           BufferID bufferPacked);
1831 bool ValidateTexBufferRangeOES(const Context *context,
1832                                TextureType targetPacked,
1833                                GLenum internalformat,
1834                                BufferID bufferPacked,
1835                                GLintptr offset,
1836                                GLsizeiptr size);
1837 
1838 // GL_OES_texture_cube_map
1839 bool ValidateGetTexGenfvOES(const Context *context,
1840                             GLenum coord,
1841                             GLenum pname,
1842                             const GLfloat *params);
1843 bool ValidateGetTexGenivOES(const Context *context,
1844                             GLenum coord,
1845                             GLenum pname,
1846                             const GLint *params);
1847 bool ValidateGetTexGenxvOES(const Context *context,
1848                             GLenum coord,
1849                             GLenum pname,
1850                             const GLfixed *params);
1851 bool ValidateTexGenfOES(const Context *context, GLenum coord, GLenum pname, GLfloat param);
1852 bool ValidateTexGenfvOES(const Context *context, GLenum coord, GLenum pname, const GLfloat *params);
1853 bool ValidateTexGeniOES(const Context *context, GLenum coord, GLenum pname, GLint param);
1854 bool ValidateTexGenivOES(const Context *context, GLenum coord, GLenum pname, const GLint *params);
1855 bool ValidateTexGenxOES(const Context *context, GLenum coord, GLenum pname, GLfixed param);
1856 bool ValidateTexGenxvOES(const Context *context, GLenum coord, GLenum pname, const GLfixed *params);
1857 
1858 // GL_OES_texture_cube_map_array
1859 
1860 // GL_OES_texture_half_float
1861 
1862 // GL_OES_texture_stencil8
1863 
1864 // GL_OES_texture_storage_multisample_2d_array
1865 bool ValidateTexStorage3DMultisampleOES(const Context *context,
1866                                         TextureType targetPacked,
1867                                         GLsizei samples,
1868                                         GLenum internalformat,
1869                                         GLsizei width,
1870                                         GLsizei height,
1871                                         GLsizei depth,
1872                                         GLboolean fixedsamplelocations);
1873 
1874 // GL_OES_vertex_array_object
1875 bool ValidateBindVertexArrayOES(const Context *context, VertexArrayID arrayPacked);
1876 bool ValidateDeleteVertexArraysOES(const Context *context,
1877                                    GLsizei n,
1878                                    const VertexArrayID *arraysPacked);
1879 bool ValidateGenVertexArraysOES(const Context *context,
1880                                 GLsizei n,
1881                                 const VertexArrayID *arraysPacked);
1882 bool ValidateIsVertexArrayOES(const Context *context, VertexArrayID arrayPacked);
1883 
1884 // GL_OVR_multiview
1885 bool ValidateFramebufferTextureMultiviewOVR(const Context *context,
1886                                             GLenum target,
1887                                             GLenum attachment,
1888                                             TextureID texturePacked,
1889                                             GLint level,
1890                                             GLint baseViewIndex,
1891                                             GLsizei numViews);
1892 
1893 // GL_OVR_multiview2
1894 }  // namespace gl
1895 
1896 #endif  // LIBANGLE_VALIDATION_ESEXT_AUTOGEN_H_
1897