1 //
2 // Copyright(c) 2014 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // entry_points_gles_2_0_ext.h : Defines the GLES 2.0 extension entry points.
8 
9 #ifndef LIBGLESV2_ENTRYPOINTGLES20EXT_H_
10 #define LIBGLESV2_ENTRYPOINTGLES20EXT_H_
11 
12 #include <GLES2/gl2.h>
13 #include <GLES2/gl2ext.h>
14 #include <export.h>
15 
16 namespace gl
17 {
18 
19 // GL_ANGLE_framebuffer_blit
20 ANGLE_EXPORT void GL_APIENTRY BlitFramebufferANGLE(GLint srcX0,
21                                                    GLint srcY0,
22                                                    GLint srcX1,
23                                                    GLint srcY1,
24                                                    GLint dstX0,
25                                                    GLint dstY0,
26                                                    GLint dstX1,
27                                                    GLint dstY1,
28                                                    GLbitfield mask,
29                                                    GLenum filter);
30 
31 // GL_ANGLE_framebuffer_multisample
32 ANGLE_EXPORT void GL_APIENTRY RenderbufferStorageMultisampleANGLE(GLenum target,
33                                                                   GLsizei samples,
34                                                                   GLenum internalformat,
35                                                                   GLsizei width,
36                                                                   GLsizei height);
37 
38 // GL_EXT_discard_framebuffer
39 ANGLE_EXPORT void GL_APIENTRY DiscardFramebufferEXT(GLenum target,
40                                                     GLsizei numAttachments,
41                                                     const GLenum *attachments);
42 
43 // GL_NV_fence
44 ANGLE_EXPORT void GL_APIENTRY DeleteFencesNV(GLsizei n, const GLuint *fences);
45 ANGLE_EXPORT void GL_APIENTRY GenFencesNV(GLsizei n, GLuint *fences);
46 ANGLE_EXPORT GLboolean GL_APIENTRY IsFenceNV(GLuint fence);
47 ANGLE_EXPORT GLboolean GL_APIENTRY TestFenceNV(GLuint fence);
48 ANGLE_EXPORT void GL_APIENTRY GetFenceivNV(GLuint fence, GLenum pname, GLint *params);
49 ANGLE_EXPORT void GL_APIENTRY FinishFenceNV(GLuint fence);
50 ANGLE_EXPORT void GL_APIENTRY SetFenceNV(GLuint fence, GLenum condition);
51 
52 // GL_ANGLE_translated_shader_source
53 ANGLE_EXPORT void GL_APIENTRY GetTranslatedShaderSourceANGLE(GLuint shader,
54                                                              GLsizei bufsize,
55                                                              GLsizei *length,
56                                                              GLchar *source);
57 
58 // GL_EXT_texture_storage
59 ANGLE_EXPORT void GL_APIENTRY TexStorage2DEXT(GLenum target,
60                                               GLsizei levels,
61                                               GLenum internalformat,
62                                               GLsizei width,
63                                               GLsizei height);
64 
65 // GL_EXT_robustness
66 ANGLE_EXPORT GLenum GL_APIENTRY GetGraphicsResetStatusEXT(void);
67 ANGLE_EXPORT void GL_APIENTRY ReadnPixelsEXT(GLint x,
68                                              GLint y,
69                                              GLsizei width,
70                                              GLsizei height,
71                                              GLenum format,
72                                              GLenum type,
73                                              GLsizei bufSize,
74                                              void *data);
75 ANGLE_EXPORT void GL_APIENTRY GetnUniformfvEXT(GLuint program,
76                                                GLint location,
77                                                GLsizei bufSize,
78                                                float *params);
79 ANGLE_EXPORT void GL_APIENTRY GetnUniformivEXT(GLuint program,
80                                                GLint location,
81                                                GLsizei bufSize,
82                                                GLint *params);
83 
84 // GL_EXT_occlusion_query_boolean
85 ANGLE_EXPORT void GL_APIENTRY GenQueriesEXT(GLsizei n, GLuint *ids);
86 ANGLE_EXPORT void GL_APIENTRY DeleteQueriesEXT(GLsizei n, const GLuint *ids);
87 ANGLE_EXPORT GLboolean GL_APIENTRY IsQueryEXT(GLuint id);
88 ANGLE_EXPORT void GL_APIENTRY BeginQueryEXT(GLenum target, GLuint id);
89 ANGLE_EXPORT void GL_APIENTRY EndQueryEXT(GLenum target);
90 ANGLE_EXPORT void GL_APIENTRY GetQueryivEXT(GLenum target, GLenum pname, GLint *params);
91 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);
92 
93 // GL_EXT_disjoint_timer_query
94 ANGLE_EXPORT void GL_APIENTRY QueryCounterEXT(GLuint id, GLenum target);
95 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params);
96 ANGLE_EXPORT void GL_APIENTRY GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params);
97 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params);
98 
99 // GL_EXT_draw_buffers
100 ANGLE_EXPORT void GL_APIENTRY DrawBuffersEXT(GLsizei n, const GLenum *bufs);
101 
102 // GL_ANGLE_instanced_arrays
103 ANGLE_EXPORT void GL_APIENTRY DrawArraysInstancedANGLE(GLenum mode,
104                                                        GLint first,
105                                                        GLsizei count,
106                                                        GLsizei primcount);
107 ANGLE_EXPORT void GL_APIENTRY DrawElementsInstancedANGLE(GLenum mode,
108                                                          GLsizei count,
109                                                          GLenum type,
110                                                          const void *indices,
111                                                          GLsizei primcount);
112 ANGLE_EXPORT void GL_APIENTRY VertexAttribDivisorANGLE(GLuint index, GLuint divisor);
113 
114 // GL_OES_get_program_binary
115 ANGLE_EXPORT void GL_APIENTRY GetProgramBinaryOES(GLuint program,
116                                                   GLsizei bufSize,
117                                                   GLsizei *length,
118                                                   GLenum *binaryFormat,
119                                                   void *binary);
120 ANGLE_EXPORT void GL_APIENTRY ProgramBinaryOES(GLuint program,
121                                                GLenum binaryFormat,
122                                                const void *binary,
123                                                GLint length);
124 
125 // GL_OES_mapbuffer
126 ANGLE_EXPORT void *GL_APIENTRY MapBufferOES(GLenum target, GLenum access);
127 ANGLE_EXPORT GLboolean GL_APIENTRY UnmapBufferOES(GLenum target);
128 ANGLE_EXPORT void GL_APIENTRY GetBufferPointervOES(GLenum target, GLenum pname, void **params);
129 
130 // GL_EXT_map_buffer_range
131 ANGLE_EXPORT void *GL_APIENTRY MapBufferRangeEXT(GLenum target,
132                                                  GLintptr offset,
133                                                  GLsizeiptr length,
134                                                  GLbitfield access);
135 ANGLE_EXPORT void GL_APIENTRY FlushMappedBufferRangeEXT(GLenum target,
136                                                         GLintptr offset,
137                                                         GLsizeiptr length);
138 
139 // GL_EXT_debug_marker
140 ANGLE_EXPORT void GL_APIENTRY InsertEventMarkerEXT(GLsizei length, const char *marker);
141 ANGLE_EXPORT void GL_APIENTRY PushGroupMarkerEXT(GLsizei length, const char *marker);
142 ANGLE_EXPORT void GL_APIENTRY PopGroupMarkerEXT();
143 
144 // GL_OES_EGL_image
145 ANGLE_EXPORT void GL_APIENTRY EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
146 ANGLE_EXPORT void GL_APIENTRY EGLImageTargetRenderbufferStorageOES(GLenum target,
147                                                                    GLeglImageOES image);
148 
149 // GL_OES_vertex_array_object
150 ANGLE_EXPORT void GL_APIENTRY BindVertexArrayOES(GLuint array);
151 ANGLE_EXPORT void GL_APIENTRY DeleteVertexArraysOES(GLsizei n, const GLuint *arrays);
152 ANGLE_EXPORT void GL_APIENTRY GenVertexArraysOES(GLsizei n, GLuint *arrays);
153 ANGLE_EXPORT GLboolean GL_APIENTRY IsVertexArrayOES(GLuint array);
154 
155 // GL_KHR_debug
156 ANGLE_EXPORT void GL_APIENTRY DebugMessageControlKHR(GLenum source,
157                                                      GLenum type,
158                                                      GLenum severity,
159                                                      GLsizei count,
160                                                      const GLuint *ids,
161                                                      GLboolean enabled);
162 ANGLE_EXPORT void GL_APIENTRY DebugMessageInsertKHR(GLenum source,
163                                                     GLenum type,
164                                                     GLuint id,
165                                                     GLenum severity,
166                                                     GLsizei length,
167                                                     const GLchar *buf);
168 ANGLE_EXPORT void GL_APIENTRY DebugMessageCallbackKHR(GLDEBUGPROCKHR callback,
169                                                       const void *userParam);
170 ANGLE_EXPORT GLuint GL_APIENTRY GetDebugMessageLogKHR(GLuint count,
171                                                       GLsizei bufSize,
172                                                       GLenum *sources,
173                                                       GLenum *types,
174                                                       GLuint *ids,
175                                                       GLenum *severities,
176                                                       GLsizei *lengths,
177                                                       GLchar *messageLog);
178 ANGLE_EXPORT void GL_APIENTRY PushDebugGroupKHR(GLenum source,
179                                                 GLuint id,
180                                                 GLsizei length,
181                                                 const GLchar *message);
182 ANGLE_EXPORT void GL_APIENTRY PopDebugGroupKHR(void);
183 ANGLE_EXPORT void GL_APIENTRY ObjectLabelKHR(GLenum identifier,
184                                              GLuint name,
185                                              GLsizei length,
186                                              const GLchar *label);
187 ANGLE_EXPORT void GL_APIENTRY
188 GetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
189 ANGLE_EXPORT void GL_APIENTRY ObjectPtrLabelKHR(const void *ptr,
190                                                 GLsizei length,
191                                                 const GLchar *label);
192 ANGLE_EXPORT void GL_APIENTRY GetObjectPtrLabelKHR(const void *ptr,
193                                                    GLsizei bufSize,
194                                                    GLsizei *length,
195                                                    GLchar *label);
196 ANGLE_EXPORT void GL_APIENTRY GetPointervKHR(GLenum pname, void **params);
197 
198 // GL_CHROMIUM_bind_uniform_location
199 ANGLE_EXPORT void GL_APIENTRY BindUniformLocationCHROMIUM(GLuint program,
200                                                           GLint location,
201                                                           const GLchar *name);
202 
203 // GL_CHROMIUM_framebuffer_mixed_samples
204 ANGLE_EXPORT void GL_APIENTRY MatrixLoadfCHROMIUM(GLenum matrixMode, const GLfloat *matrix);
205 ANGLE_EXPORT void GL_APIENTRY MatrixLoadIdentityCHROMIUM(GLenum matrixMode);
206 
207 ANGLE_EXPORT void GL_APIENTRY CoverageModulationCHROMIUM(GLenum components);
208 
209 // GL_CHROMIUM_path_rendering
210 ANGLE_EXPORT GLuint GL_APIENTRY GenPathsCHROMIUM(GLsizei chromium);
211 ANGLE_EXPORT void GL_APIENTRY DeletePathsCHROMIUM(GLuint first, GLsizei range);
212 ANGLE_EXPORT GLboolean GL_APIENTRY IsPathCHROMIUM(GLuint path);
213 ANGLE_EXPORT void GL_APIENTRY PathCommandsCHROMIUM(GLuint path,
214                                                    GLsizei numCommands,
215                                                    const GLubyte *commands,
216                                                    GLsizei numCoords,
217                                                    GLenum coordType,
218                                                    const void *coords);
219 ANGLE_EXPORT void GL_APIENTRY PathParameterfCHROMIUM(GLuint path, GLenum pname, GLfloat value);
220 ANGLE_EXPORT void GL_APIENTRY PathParameteriCHROMIUM(GLuint path, GLenum pname, GLint value);
221 ANGLE_EXPORT void GL_APIENTRY GetPathParameterfCHROMIUM(GLuint path, GLenum pname, GLfloat *value);
222 ANGLE_EXPORT void GL_APIENTRY GetPathParameteriCHROMIUM(GLuint path, GLenum pname, GLint *value);
223 ANGLE_EXPORT void GL_APIENTRY PathStencilFuncCHROMIUM(GLenum func, GLint ref, GLuint mask);
224 ANGLE_EXPORT void GL_APIENTRY StencilFillPathCHROMIUM(GLuint path, GLenum fillMode, GLuint mask);
225 ANGLE_EXPORT void GL_APIENTRY StencilStrokePathCHROMIUM(GLuint path, GLint reference, GLuint mask);
226 ANGLE_EXPORT void GL_APIENTRY CoverFillPathCHROMIUM(GLuint path, GLenum coverMode);
227 ANGLE_EXPORT void GL_APIENTRY CoverStrokePathCHROMIUM(GLuint path, GLenum coverMode);
228 ANGLE_EXPORT void GL_APIENTRY StencilThenCoverFillPathCHROMIUM(GLuint path,
229                                                                GLenum fillMode,
230                                                                GLuint mask,
231                                                                GLenum coverMode);
232 ANGLE_EXPORT void GL_APIENTRY StencilThenCoverStrokePathCHROMIUM(GLuint path,
233                                                                  GLint reference,
234                                                                  GLuint mask,
235                                                                  GLenum coverMode);
236 ANGLE_EXPORT void GL_APIENTRY CoverFillPathInstancedCHROMIUM(GLsizei numPaths,
237                                                              GLenum pathNameType,
238                                                              const void *paths,
239                                                              GLuint pathBase,
240                                                              GLenum coverMode,
241                                                              GLenum transformType,
242                                                              const GLfloat *transformValues);
243 ANGLE_EXPORT void GL_APIENTRY CoverStrokePathInstancedCHROMIUM(GLsizei numPaths,
244                                                                GLenum pathNameType,
245                                                                const void *paths,
246                                                                GLuint pathBase,
247                                                                GLenum coverMode,
248                                                                GLenum transformType,
249                                                                const GLfloat *transformValues);
250 ANGLE_EXPORT void GL_APIENTRY StencilFillPathInstancedCHROMIUM(GLsizei numPaths,
251                                                                GLenum pathNameType,
252                                                                const void *paths,
253                                                                GLuint pathBAse,
254                                                                GLenum fillMode,
255                                                                GLuint mask,
256                                                                GLenum transformType,
257                                                                const GLfloat *transformValues);
258 ANGLE_EXPORT void GL_APIENTRY StencilStrokePathInstancedCHROMIUM(GLsizei numPaths,
259                                                                  GLenum pathNameType,
260                                                                  const void *paths,
261                                                                  GLuint pathBase,
262                                                                  GLint reference,
263                                                                  GLuint mask,
264                                                                  GLenum transformType,
265                                                                  const GLfloat *transformValues);
266 ANGLE_EXPORT void GL_APIENTRY
267 StencilThenCoverFillPathInstancedCHROMIUM(GLsizei numPaths,
268                                           GLenum pathNameType,
269                                           const void *paths,
270                                           GLuint pathBase,
271                                           GLenum fillMode,
272                                           GLuint mask,
273                                           GLenum coverMode,
274                                           GLenum transformType,
275                                           const GLfloat *transformValues);
276 ANGLE_EXPORT void GL_APIENTRY
277 StencilThenCoverStrokePathInstancedCHROMIUM(GLsizei numPaths,
278                                             GLenum pathNameType,
279                                             const void *paths,
280                                             GLuint pathBase,
281                                             GLint reference,
282                                             GLuint mask,
283                                             GLenum coverMode,
284                                             GLenum transformType,
285                                             const GLfloat *transformValues);
286 ANGLE_EXPORT void GL_APIENTRY BindFragmentInputLocationCHROMIUM(GLuint program,
287                                                                 GLint location,
288                                                                 const GLchar *name);
289 ANGLE_EXPORT void GL_APIENTRY ProgramPathFragmentInputGenCHROMIUM(GLuint program,
290                                                                   GLint location,
291                                                                   GLenum genMode,
292                                                                   GLint components,
293                                                                   const GLfloat *coeffs);
294 
295 // GL_CHROMIUM_copy_texture
296 ANGLE_EXPORT void GL_APIENTRY CopyTextureCHROMIUM(GLuint sourceId,
297                                                   GLint sourceLevel,
298                                                   GLenum destTarget,
299                                                   GLuint destId,
300                                                   GLint destLevel,
301                                                   GLint internalFormat,
302                                                   GLenum destType,
303                                                   GLboolean unpackFlipY,
304                                                   GLboolean unpackPremultiplyAlpha,
305                                                   GLboolean unpackUnmultiplyAlpha);
306 
307 ANGLE_EXPORT void GL_APIENTRY CopySubTextureCHROMIUM(GLuint sourceId,
308                                                      GLint sourceLevel,
309                                                      GLenum destTarget,
310                                                      GLuint destId,
311                                                      GLint destLevel,
312                                                      GLint xoffset,
313                                                      GLint yoffset,
314                                                      GLint x,
315                                                      GLint y,
316                                                      GLsizei width,
317                                                      GLsizei height,
318                                                      GLboolean unpackFlipY,
319                                                      GLboolean unpackPremultiplyAlpha,
320                                                      GLboolean unpackUnmultiplyAlpha);
321 
322 // GL_CHROMIUM_copy_compressed_texture
323 ANGLE_EXPORT void GL_APIENTRY CompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId);
324 
325 // GL_ANGLE_request_extension
326 ANGLE_EXPORT void GL_APIENTRY RequestExtensionANGLE(const GLchar *name);
327 
328 // GL_ANGLE_robust_client_memory
329 ANGLE_EXPORT void GL_APIENTRY GetBooleanvRobustANGLE(GLenum pname,
330                                                      GLsizei bufSize,
331                                                      GLsizei *length,
332                                                      GLboolean *data);
333 ANGLE_EXPORT void GL_APIENTRY GetBufferParameterivRobustANGLE(GLenum target,
334                                                               GLenum pname,
335                                                               GLsizei bufSize,
336                                                               GLsizei *length,
337                                                               GLint *params);
338 ANGLE_EXPORT void GL_APIENTRY GetFloatvRobustANGLE(GLenum pname,
339                                                    GLsizei bufSize,
340                                                    GLsizei *length,
341                                                    GLfloat *data);
342 ANGLE_EXPORT void GL_APIENTRY GetFramebufferAttachmentParameterivRobustANGLE(GLenum target,
343                                                                              GLenum attachment,
344                                                                              GLenum pname,
345                                                                              GLsizei bufSize,
346                                                                              GLsizei *length,
347                                                                              GLint *params);
348 ANGLE_EXPORT void GL_APIENTRY GetIntegervRobustANGLE(GLenum pname,
349                                                      GLsizei bufSize,
350                                                      GLsizei *length,
351                                                      GLint *data);
352 ANGLE_EXPORT void GL_APIENTRY GetProgramivRobustANGLE(GLuint program,
353                                                       GLenum pname,
354                                                       GLsizei bufSize,
355                                                       GLsizei *length,
356                                                       GLint *params);
357 ANGLE_EXPORT void GL_APIENTRY GetRenderbufferParameterivRobustANGLE(GLenum target,
358                                                                     GLenum pname,
359                                                                     GLsizei bufSize,
360                                                                     GLsizei *length,
361                                                                     GLint *params);
362 ANGLE_EXPORT void GL_APIENTRY GetShaderivRobustANGLE(GLuint shader,
363                                                      GLenum pname,
364                                                      GLsizei bufSize,
365                                                      GLsizei *length,
366                                                      GLint *params);
367 ANGLE_EXPORT void GL_APIENTRY GetTexParameterfvRobustANGLE(GLenum target,
368                                                            GLenum pname,
369                                                            GLsizei bufSize,
370                                                            GLsizei *length,
371                                                            GLfloat *params);
372 ANGLE_EXPORT void GL_APIENTRY GetTexParameterivRobustANGLE(GLenum target,
373                                                            GLenum pname,
374                                                            GLsizei bufSize,
375                                                            GLsizei *length,
376                                                            GLint *params);
377 ANGLE_EXPORT void GL_APIENTRY GetUniformfvRobustANGLE(GLuint program,
378                                                       GLint location,
379                                                       GLsizei bufSize,
380                                                       GLsizei *length,
381                                                       GLfloat *params);
382 ANGLE_EXPORT void GL_APIENTRY GetUniformivRobustANGLE(GLuint program,
383                                                       GLint location,
384                                                       GLsizei bufSize,
385                                                       GLsizei *length,
386                                                       GLint *params);
387 ANGLE_EXPORT void GL_APIENTRY GetVertexAttribfvRobustANGLE(GLuint index,
388                                                            GLenum pname,
389                                                            GLsizei bufSize,
390                                                            GLsizei *length,
391                                                            GLfloat *params);
392 ANGLE_EXPORT void GL_APIENTRY GetVertexAttribivRobustANGLE(GLuint index,
393                                                            GLenum pname,
394                                                            GLsizei bufSize,
395                                                            GLsizei *length,
396                                                            GLint *params);
397 ANGLE_EXPORT void GL_APIENTRY GetVertexAttribPointervRobustANGLE(GLuint index,
398                                                                  GLenum pname,
399                                                                  GLsizei bufSize,
400                                                                  GLsizei *length,
401                                                                  void **pointer);
402 ANGLE_EXPORT void GL_APIENTRY ReadPixelsRobustANGLE(GLint x,
403                                                     GLint y,
404                                                     GLsizei width,
405                                                     GLsizei height,
406                                                     GLenum format,
407                                                     GLenum type,
408                                                     GLsizei bufSize,
409                                                     GLsizei *length,
410                                                     GLsizei *columns,
411                                                     GLsizei *rows,
412                                                     void *pixels);
413 ANGLE_EXPORT void GL_APIENTRY TexImage2DRobustANGLE(GLenum target,
414                                                     GLint level,
415                                                     GLint internalformat,
416                                                     GLsizei width,
417                                                     GLsizei height,
418                                                     GLint border,
419                                                     GLenum format,
420                                                     GLenum type,
421                                                     GLsizei bufSize,
422                                                     const void *pixels);
423 ANGLE_EXPORT void GL_APIENTRY TexParameterfvRobustANGLE(GLenum target,
424                                                         GLenum pname,
425                                                         GLsizei bufSize,
426                                                         const GLfloat *params);
427 ANGLE_EXPORT void GL_APIENTRY TexParameterivRobustANGLE(GLenum target,
428                                                         GLenum pname,
429                                                         GLsizei bufSize,
430                                                         const GLint *params);
431 ANGLE_EXPORT void GL_APIENTRY TexSubImage2DRobustANGLE(GLenum target,
432                                                        GLint level,
433                                                        GLint xoffset,
434                                                        GLint yoffset,
435                                                        GLsizei width,
436                                                        GLsizei height,
437                                                        GLenum format,
438                                                        GLenum type,
439                                                        GLsizei bufSize,
440                                                        const void *pixels);
441 
442 ANGLE_EXPORT void GL_APIENTRY TexImage3DRobustANGLE(GLenum target,
443                                                     GLint level,
444                                                     GLint internalformat,
445                                                     GLsizei width,
446                                                     GLsizei height,
447                                                     GLsizei depth,
448                                                     GLint border,
449                                                     GLenum format,
450                                                     GLenum type,
451                                                     GLsizei bufSize,
452                                                     const void *pixels);
453 ANGLE_EXPORT void GL_APIENTRY TexSubImage3DRobustANGLE(GLenum target,
454                                                        GLint level,
455                                                        GLint xoffset,
456                                                        GLint yoffset,
457                                                        GLint zoffset,
458                                                        GLsizei width,
459                                                        GLsizei height,
460                                                        GLsizei depth,
461                                                        GLenum format,
462                                                        GLenum type,
463                                                        GLsizei bufSize,
464                                                        const void *pixels);
465 
466 ANGLE_EXPORT void GL_APIENTRY CompressedTexImage2DRobustANGLE(GLenum target,
467                                                               GLint level,
468                                                               GLenum internalformat,
469                                                               GLsizei width,
470                                                               GLsizei height,
471                                                               GLint border,
472                                                               GLsizei imageSize,
473                                                               GLsizei dataSize,
474                                                               const GLvoid *data);
475 ANGLE_EXPORT void GL_APIENTRY CompressedTexSubImage2DRobustANGLE(GLenum target,
476                                                                  GLint level,
477                                                                  GLint xoffset,
478                                                                  GLint yoffset,
479                                                                  GLsizei width,
480                                                                  GLsizei height,
481                                                                  GLenum format,
482                                                                  GLsizei imageSize,
483                                                                  GLsizei dataSize,
484                                                                  const GLvoid *data);
485 ANGLE_EXPORT void GL_APIENTRY CompressedTexImage3DRobustANGLE(GLenum target,
486                                                               GLint level,
487                                                               GLenum internalformat,
488                                                               GLsizei width,
489                                                               GLsizei height,
490                                                               GLsizei depth,
491                                                               GLint border,
492                                                               GLsizei imageSize,
493                                                               GLsizei dataSize,
494                                                               const GLvoid *data);
495 ANGLE_EXPORT void GL_APIENTRY CompressedTexSubImage3DRobustANGLE(GLenum target,
496                                                                  GLint level,
497                                                                  GLint xoffset,
498                                                                  GLint yoffset,
499                                                                  GLint zoffset,
500                                                                  GLsizei width,
501                                                                  GLsizei height,
502                                                                  GLsizei depth,
503                                                                  GLenum format,
504                                                                  GLsizei imageSize,
505                                                                  GLsizei dataSize,
506                                                                  const GLvoid *data);
507 
508 ANGLE_EXPORT void GL_APIENTRY
509 GetQueryivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
510 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectuivRobustANGLE(GLuint id,
511                                                            GLenum pname,
512                                                            GLsizei bufSize,
513                                                            GLsizei *length,
514                                                            GLuint *params);
515 ANGLE_EXPORT void GL_APIENTRY GetBufferPointervRobustANGLE(GLenum target,
516                                                            GLenum pname,
517                                                            GLsizei bufSize,
518                                                            GLsizei *length,
519                                                            void **params);
520 ANGLE_EXPORT void GL_APIENTRY GetIntegeri_vRobustANGLE(GLenum target,
521                                                        GLuint index,
522                                                        GLsizei bufSize,
523                                                        GLsizei *length,
524                                                        GLint *data);
525 ANGLE_EXPORT void GL_APIENTRY GetInternalformativRobustANGLE(GLenum target,
526                                                              GLenum internalformat,
527                                                              GLenum pname,
528                                                              GLsizei bufSize,
529                                                              GLsizei *length,
530                                                              GLint *params);
531 ANGLE_EXPORT void GL_APIENTRY GetVertexAttribIivRobustANGLE(GLuint index,
532                                                             GLenum pname,
533                                                             GLsizei bufSize,
534                                                             GLsizei *length,
535                                                             GLint *params);
536 ANGLE_EXPORT void GL_APIENTRY GetVertexAttribIuivRobustANGLE(GLuint index,
537                                                              GLenum pname,
538                                                              GLsizei bufSize,
539                                                              GLsizei *length,
540                                                              GLuint *params);
541 ANGLE_EXPORT void GL_APIENTRY GetUniformuivRobustANGLE(GLuint program,
542                                                        GLint location,
543                                                        GLsizei bufSize,
544                                                        GLsizei *length,
545                                                        GLuint *params);
546 ANGLE_EXPORT void GL_APIENTRY GetActiveUniformBlockivRobustANGLE(GLuint program,
547                                                                  GLuint uniformBlockIndex,
548                                                                  GLenum pname,
549                                                                  GLsizei bufSize,
550                                                                  GLsizei *length,
551                                                                  GLint *params);
552 ANGLE_EXPORT void GL_APIENTRY GetInteger64vRobustANGLE(GLenum pname,
553                                                        GLsizei bufSize,
554                                                        GLsizei *length,
555                                                        GLint64 *data);
556 ANGLE_EXPORT void GL_APIENTRY GetInteger64i_vRobustANGLE(GLenum target,
557                                                          GLuint index,
558                                                          GLsizei bufSize,
559                                                          GLsizei *length,
560                                                          GLint64 *data);
561 ANGLE_EXPORT void GL_APIENTRY GetBufferParameteri64vRobustANGLE(GLenum target,
562                                                                 GLenum pname,
563                                                                 GLsizei bufSize,
564                                                                 GLsizei *length,
565                                                                 GLint64 *params);
566 ANGLE_EXPORT void GL_APIENTRY SamplerParameterivRobustANGLE(GLuint sampler,
567                                                             GLenum pname,
568                                                             GLsizei bufSize,
569                                                             const GLint *param);
570 ANGLE_EXPORT void GL_APIENTRY SamplerParameterfvRobustANGLE(GLuint sampler,
571                                                             GLenum pname,
572                                                             GLsizei bufSize,
573                                                             const GLfloat *param);
574 ANGLE_EXPORT void GL_APIENTRY GetSamplerParameterivRobustANGLE(GLuint sampler,
575                                                                GLenum pname,
576                                                                GLsizei bufSize,
577                                                                GLsizei *length,
578                                                                GLint *params);
579 ANGLE_EXPORT void GL_APIENTRY GetSamplerParameterfvRobustANGLE(GLuint sampler,
580                                                                GLenum pname,
581                                                                GLsizei bufSize,
582                                                                GLsizei *length,
583                                                                GLfloat *params);
584 
585 ANGLE_EXPORT void GL_APIENTRY GetFramebufferParameterivRobustANGLE(GLenum target,
586                                                                    GLenum pname,
587                                                                    GLsizei bufSize,
588                                                                    GLsizei *length,
589                                                                    GLint *params);
590 ANGLE_EXPORT void GL_APIENTRY GetProgramInterfaceivRobustANGLE(GLuint program,
591                                                                GLenum programInterface,
592                                                                GLenum pname,
593                                                                GLsizei bufSize,
594                                                                GLsizei *length,
595                                                                GLint *params);
596 ANGLE_EXPORT void GL_APIENTRY GetBooleani_vRobustANGLE(GLenum target,
597                                                        GLuint index,
598                                                        GLsizei bufSize,
599                                                        GLsizei *length,
600                                                        GLboolean *data);
601 ANGLE_EXPORT void GL_APIENTRY GetMultisamplefvRobustANGLE(GLenum pname,
602                                                           GLuint index,
603                                                           GLsizei bufSize,
604                                                           GLsizei *length,
605                                                           GLfloat *val);
606 ANGLE_EXPORT void GL_APIENTRY GetTexLevelParameterivRobustANGLE(GLenum target,
607                                                                 GLint level,
608                                                                 GLenum pname,
609                                                                 GLsizei bufSize,
610                                                                 GLsizei *length,
611                                                                 GLint *params);
612 ANGLE_EXPORT void GL_APIENTRY GetTexLevelParameterfvRobustANGLE(GLenum target,
613                                                                 GLint level,
614                                                                 GLenum pname,
615                                                                 GLsizei bufSize,
616                                                                 GLsizei *length,
617                                                                 GLfloat *params);
618 
619 ANGLE_EXPORT void GL_APIENTRY GetPointervRobustANGLERobustANGLE(GLenum pname,
620                                                                 GLsizei bufSize,
621                                                                 GLsizei *length,
622                                                                 void **params);
623 ANGLE_EXPORT void GL_APIENTRY ReadnPixelsRobustANGLE(GLint x,
624                                                      GLint y,
625                                                      GLsizei width,
626                                                      GLsizei height,
627                                                      GLenum format,
628                                                      GLenum type,
629                                                      GLsizei bufSize,
630                                                      GLsizei *length,
631                                                      GLsizei *columns,
632                                                      GLsizei *rows,
633                                                      void *data);
634 ANGLE_EXPORT void GL_APIENTRY GetnUniformfvRobustANGLE(GLuint program,
635                                                        GLint location,
636                                                        GLsizei bufSize,
637                                                        GLsizei *length,
638                                                        GLfloat *params);
639 ANGLE_EXPORT void GL_APIENTRY GetnUniformivRobustANGLE(GLuint program,
640                                                        GLint location,
641                                                        GLsizei bufSize,
642                                                        GLsizei *length,
643                                                        GLint *params);
644 ANGLE_EXPORT void GL_APIENTRY GetnUniformuivRobustANGLE(GLuint program,
645                                                         GLint location,
646                                                         GLsizei bufSize,
647                                                         GLsizei *length,
648                                                         GLuint *params);
649 ANGLE_EXPORT void GL_APIENTRY TexParameterIivRobustANGLE(GLenum target,
650                                                          GLenum pname,
651                                                          GLsizei bufSize,
652                                                          const GLint *params);
653 ANGLE_EXPORT void GL_APIENTRY TexParameterIuivRobustANGLE(GLenum target,
654                                                           GLenum pname,
655                                                           GLsizei bufSize,
656                                                           const GLuint *params);
657 ANGLE_EXPORT void GL_APIENTRY GetTexParameterIivRobustANGLE(GLenum target,
658                                                             GLenum pname,
659                                                             GLsizei bufSize,
660                                                             GLsizei *length,
661                                                             GLint *params);
662 ANGLE_EXPORT void GL_APIENTRY GetTexParameterIuivRobustANGLE(GLenum target,
663                                                              GLenum pname,
664                                                              GLsizei bufSize,
665                                                              GLsizei *length,
666                                                              GLuint *params);
667 ANGLE_EXPORT void GL_APIENTRY SamplerParameterIivRobustANGLE(GLuint sampler,
668                                                              GLenum pname,
669                                                              GLsizei bufSize,
670                                                              const GLint *param);
671 ANGLE_EXPORT void GL_APIENTRY SamplerParameterIuivRobustANGLE(GLuint sampler,
672                                                               GLenum pname,
673                                                               GLsizei bufSize,
674                                                               const GLuint *param);
675 ANGLE_EXPORT void GL_APIENTRY GetSamplerParameterIivRobustANGLE(GLuint sampler,
676                                                                 GLenum pname,
677                                                                 GLsizei bufSize,
678                                                                 GLsizei *length,
679                                                                 GLint *params);
680 ANGLE_EXPORT void GL_APIENTRY GetSamplerParameterIuivRobustANGLE(GLuint sampler,
681                                                                  GLenum pname,
682                                                                  GLsizei bufSize,
683                                                                  GLsizei *length,
684                                                                  GLuint *params);
685 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectivRobustANGLE(GLuint id,
686                                                           GLenum pname,
687                                                           GLsizei bufSize,
688                                                           GLsizei *length,
689                                                           GLint *params);
690 ANGLE_EXPORT void GL_APIENTRY GetQueryObjecti64vRobustANGLE(GLuint id,
691                                                             GLenum pname,
692                                                             GLsizei bufSize,
693                                                             GLsizei *length,
694                                                             GLint64 *params);
695 ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id,
696                                                              GLenum pname,
697                                                              GLsizei bufSize,
698                                                              GLsizei *length,
699                                                              GLuint64 *params);
700 
701 // GL_ANGLE_multiview
702 ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
703                                                                       GLenum attachment,
704                                                                       GLuint texture,
705                                                                       GLint level,
706                                                                       GLint baseViewIndex,
707                                                                       GLsizei numViews);
708 ANGLE_EXPORT void GL_APIENTRY
709 FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
710                                            GLenum attachment,
711                                            GLuint texture,
712                                            GLint level,
713                                            GLsizei numViews,
714                                            const GLint *viewportOffsets);
715 }  // namespace gl
716 
717 #endif  // LIBGLESV2_ENTRYPOINTGLES20EXT_H_
718