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