• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by generate_entry_points.py using data from gl.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 // Context_gles_ext_autogen.h: Creates a macro for interfaces in Context.
9 
10 #ifndef ANGLE_CONTEXT_GLES_EXT_AUTOGEN_H_
11 #define ANGLE_CONTEXT_GLES_EXT_AUTOGEN_H_
12 
13 #define ANGLE_GLES_EXT_CONTEXT_API                                                                 \
14                                                                                                    \
15     /* GLES1 Extensions */                                                                         \
16                                                                                                    \
17     /* GL_OES_draw_texture */                                                                      \
18     void drawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);                 \
19     void drawTexfv(const GLfloat *coords);                                                         \
20     void drawTexi(GLint x, GLint y, GLint z, GLint width, GLint height);                           \
21     void drawTexiv(const GLint *coords);                                                           \
22     void drawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);                 \
23     void drawTexsv(const GLshort *coords);                                                         \
24     void drawTexx(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);                 \
25     void drawTexxv(const GLfixed *coords);                                                         \
26     /* GL_OES_framebuffer_object */                                                                \
27     /* GL_OES_matrix_palette */                                                                    \
28     void currentPaletteMatrix(GLuint matrixpaletteindex);                                          \
29     void loadPaletteFromModelViewMatrix();                                                         \
30     void matrixIndexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer);         \
31     void weightPointer(GLint size, GLenum type, GLsizei stride, const void *pointer);              \
32     /* GL_OES_point_size_array */                                                                  \
33     void pointSizePointer(VertexAttribType typePacked, GLsizei stride, const void *pointer);       \
34     /* GL_OES_point_sprite */                                                                      \
35     /* GL_OES_query_matrix */                                                                      \
36     GLbitfield queryMatrixx(GLfixed *mantissa, GLint *exponent);                                   \
37     /* GL_OES_texture_cube_map */                                                                  \
38     void getTexGenfv(GLenum coord, GLenum pname, GLfloat *params);                                 \
39     void getTexGeniv(GLenum coord, GLenum pname, GLint *params);                                   \
40     void getTexGenxv(GLenum coord, GLenum pname, GLfixed *params);                                 \
41     void texGenf(GLenum coord, GLenum pname, GLfloat param);                                       \
42     void texGenfv(GLenum coord, GLenum pname, const GLfloat *params);                              \
43     void texGeni(GLenum coord, GLenum pname, GLint param);                                         \
44     void texGeniv(GLenum coord, GLenum pname, const GLint *params);                                \
45     void texGenx(GLenum coord, GLenum pname, GLfixed param);                                       \
46     void texGenxv(GLenum coord, GLenum pname, const GLfixed *params);                              \
47                                                                                                    \
48     /* GLES2+ Extensions */                                                                        \
49                                                                                                    \
50     /* GL_AMD_performance_monitor */                                                               \
51     void beginPerfMonitor(GLuint monitor);                                                         \
52     void deletePerfMonitors(GLsizei n, GLuint *monitors);                                          \
53     void endPerfMonitor(GLuint monitor);                                                           \
54     void genPerfMonitors(GLsizei n, GLuint *monitors);                                             \
55     void getPerfMonitorCounterData(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data,   \
56                                    GLint *bytesWritten);                                           \
57     void getPerfMonitorCounterInfo(GLuint group, GLuint counter, GLenum pname, void *data);        \
58     void getPerfMonitorCounterString(GLuint group, GLuint counter, GLsizei bufSize,                \
59                                      GLsizei *length, GLchar *counterString);                      \
60     void getPerfMonitorCounters(GLuint group, GLint *numCounters, GLint *maxActiveCounters,        \
61                                 GLsizei counterSize, GLuint *counters);                            \
62     void getPerfMonitorGroupString(GLuint group, GLsizei bufSize, GLsizei *length,                 \
63                                    GLchar *groupString);                                           \
64     void getPerfMonitorGroups(GLint *numGroups, GLsizei groupsSize, GLuint *groups);               \
65     void selectPerfMonitorCounters(GLuint monitor, GLboolean enable, GLuint group,                 \
66                                    GLint numCounters, GLuint *counterList);                        \
67     /* GL_ANDROID_extension_pack_es31a */                                                          \
68     /* GL_ANGLE_depth_texture */                                                                   \
69     /* GL_ANGLE_framebuffer_blit */                                                                \
70     /* GL_ANGLE_instanced_arrays */                                                                \
71     /* GL_ANGLE_pack_reverse_row_order */                                                          \
72     /* GL_ANGLE_texture_usage */                                                                   \
73     /* GL_ANGLE_translated_shader_source */                                                        \
74     void getTranslatedShaderSource(ShaderProgramID shaderPacked, GLsizei bufSize, GLsizei *length, \
75                                    GLchar *source);                                                \
76     /* GL_APPLE_clip_distance */                                                                   \
77     /* GL_ARB_sync */                                                                              \
78     /* GL_ARM_shader_framebuffer_fetch */                                                          \
79     /* GL_EXT_EGL_image_array */                                                                   \
80     /* GL_EXT_EGL_image_external_wrap_modes */                                                     \
81     /* GL_EXT_EGL_image_storage */                                                                 \
82     void eGLImageTargetTexStorage(GLenum target, egl::ImageID imagePacked,                         \
83                                   const GLint *attrib_list);                                       \
84     void eGLImageTargetTextureStorage(GLuint texture, egl::ImageID imagePacked,                    \
85                                       const GLint *attrib_list);                                   \
86     /* GL_EXT_YUV_target */                                                                        \
87     /* GL_EXT_base_instance */                                                                     \
88     void drawArraysInstancedBaseInstance(PrimitiveMode modePacked, GLint first, GLsizei count,     \
89                                          GLsizei instancecount, GLuint baseinstance);              \
90     void drawElementsInstancedBaseInstance(PrimitiveMode modePacked, GLsizei count,                \
91                                            DrawElementsType typePacked, const void *indices,       \
92                                            GLsizei instancecount, GLuint baseinstance);            \
93     void drawElementsInstancedBaseVertexBaseInstance(                                              \
94         PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, \
95         GLsizei instancecount, GLint basevertex, GLuint baseinstance);                             \
96     /* GL_EXT_blend_func_extended */                                                               \
97     void bindFragDataLocation(ShaderProgramID programPacked, GLuint color, const GLchar *name);    \
98     void bindFragDataLocationIndexed(ShaderProgramID programPacked, GLuint colorNumber,            \
99                                      GLuint index, const GLchar *name);                            \
100     GLint getFragDataIndex(ShaderProgramID programPacked, const GLchar *name);                     \
101     GLint getProgramResourceLocationIndex(ShaderProgramID programPacked, GLenum programInterface,  \
102                                           const GLchar *name);                                     \
103     /* GL_EXT_blend_minmax */                                                                      \
104     /* GL_EXT_buffer_storage */                                                                    \
105     void bufferStorage(BufferBinding targetPacked, GLsizeiptr size, const void *data,              \
106                        GLbitfield flags);                                                          \
107     /* GL_EXT_clip_control */                                                                      \
108     /* GL_EXT_clip_cull_distance */                                                                \
109     /* GL_EXT_color_buffer_float */                                                                \
110     /* GL_EXT_color_buffer_half_float */                                                           \
111     /* GL_EXT_compressed_ETC1_RGB8_sub_texture */                                                  \
112     /* GL_EXT_conservative_depth */                                                                \
113     /* GL_EXT_copy_image */                                                                        \
114     /* GL_EXT_debug_label */                                                                       \
115     void labelObject(GLenum type, GLuint object, GLsizei length, const GLchar *label);             \
116     /* GL_EXT_debug_marker */                                                                      \
117     void insertEventMarker(GLsizei length, const GLchar *marker);                                  \
118     void popGroupMarker();                                                                         \
119     void pushGroupMarker(GLsizei length, const GLchar *marker);                                    \
120     /* GL_EXT_depth_clamp */                                                                       \
121     /* GL_EXT_discard_framebuffer */                                                               \
122     void discardFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);     \
123     /* GL_EXT_disjoint_timer_query */                                                              \
124     void getQueryObjecti64v(QueryID idPacked, GLenum pname, GLint64 *params);                      \
125     void getQueryObjectiv(QueryID idPacked, GLenum pname, GLint *params);                          \
126     void getQueryObjectui64v(QueryID idPacked, GLenum pname, GLuint64 *params);                    \
127     void queryCounter(QueryID idPacked, QueryType targetPacked);                                   \
128     /* GL_EXT_draw_buffers */                                                                      \
129     /* GL_EXT_draw_buffers_indexed */                                                              \
130     /* GL_EXT_draw_elements_base_vertex */                                                         \
131     void multiDrawElementsBaseVertex(PrimitiveMode modePacked, const GLsizei *count,               \
132                                      DrawElementsType typePacked, const void *const *indices,      \
133                                      GLsizei drawcount, const GLint *basevertex);                  \
134     /* GL_EXT_external_buffer */                                                                   \
135     void bufferStorageExternal(BufferBinding targetPacked, GLintptr offset, GLsizeiptr size,       \
136                                GLeglClientBufferEXT clientBuffer, GLbitfield flags);               \
137     void namedBufferStorageExternal(GLuint buffer, GLintptr offset, GLsizeiptr size,               \
138                                     GLeglClientBufferEXT clientBuffer, GLbitfield flags);          \
139     /* GL_EXT_float_blend */                                                                       \
140     /* GL_EXT_frag_depth */                                                                        \
141     /* GL_EXT_geometry_shader */                                                                   \
142     /* GL_EXT_gpu_shader5 */                                                                       \
143     /* GL_EXT_instanced_arrays */                                                                  \
144     /* GL_EXT_map_buffer_range */                                                                  \
145     /* GL_EXT_memory_object */                                                                     \
146     void bufferStorageMem(TextureType targetPacked, GLsizeiptr size, MemoryObjectID memoryPacked,  \
147                           GLuint64 offset);                                                        \
148     void createMemoryObjects(GLsizei n, MemoryObjectID *memoryObjectsPacked);                      \
149     void deleteMemoryObjects(GLsizei n, const MemoryObjectID *memoryObjectsPacked);                \
150     void getMemoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname,               \
151                                     GLint *params);                                                \
152     void getUnsignedBytev(GLenum pname, GLubyte *data);                                            \
153     void getUnsignedBytei_v(GLenum target, GLuint index, GLubyte *data);                           \
154     GLboolean isMemoryObject(MemoryObjectID memoryObjectPacked) const;                             \
155     void memoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname,                  \
156                                  const GLint *params);                                             \
157     void texStorageMem2D(TextureType targetPacked, GLsizei levels, GLenum internalFormat,          \
158                          GLsizei width, GLsizei height, MemoryObjectID memoryPacked,               \
159                          GLuint64 offset);                                                         \
160     void texStorageMem2DMultisample(TextureType targetPacked, GLsizei samples,                     \
161                                     GLenum internalFormat, GLsizei width, GLsizei height,          \
162                                     GLboolean fixedSampleLocations, MemoryObjectID memoryPacked,   \
163                                     GLuint64 offset);                                              \
164     void texStorageMem3D(TextureType targetPacked, GLsizei levels, GLenum internalFormat,          \
165                          GLsizei width, GLsizei height, GLsizei depth,                             \
166                          MemoryObjectID memoryPacked, GLuint64 offset);                            \
167     void texStorageMem3DMultisample(TextureType targetPacked, GLsizei samples,                     \
168                                     GLenum internalFormat, GLsizei width, GLsizei height,          \
169                                     GLsizei depth, GLboolean fixedSampleLocations,                 \
170                                     MemoryObjectID memoryPacked, GLuint64 offset);                 \
171     /* GL_EXT_memory_object_fd */                                                                  \
172     void importMemoryFd(MemoryObjectID memoryPacked, GLuint64 size, HandleType handleTypePacked,   \
173                         GLint fd);                                                                 \
174     /* GL_EXT_multi_draw_indirect */                                                               \
175     void multiDrawArraysIndirect(PrimitiveMode modePacked, const void *indirect,                   \
176                                  GLsizei drawcount, GLsizei stride);                               \
177     void multiDrawElementsIndirect(PrimitiveMode modePacked, DrawElementsType typePacked,          \
178                                    const void *indirect, GLsizei drawcount, GLsizei stride);       \
179     /* GL_EXT_multisample_compatibility */                                                         \
180     /* GL_EXT_multisampled_render_to_texture */                                                    \
181     void framebufferTexture2DMultisample(GLenum target, GLenum attachment,                         \
182                                          TextureTarget textargetPacked, TextureID texturePacked,   \
183                                          GLint level, GLsizei samples);                            \
184     void renderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat,  \
185                                            GLsizei width, GLsizei height);                         \
186     /* GL_EXT_multisampled_render_to_texture2 */                                                   \
187     /* GL_EXT_occlusion_query_boolean */                                                           \
188     /* GL_EXT_polygon_offset_clamp */                                                              \
189     /* GL_EXT_primitive_bounding_box */                                                            \
190     /* GL_EXT_protected_textures */                                                                \
191     /* GL_EXT_pvrtc_sRGB */                                                                        \
192     /* GL_EXT_read_format_bgra */                                                                  \
193     /* GL_EXT_render_snorm */                                                                      \
194     /* GL_EXT_robustness */                                                                        \
195     /* GL_EXT_sRGB */                                                                              \
196     /* GL_EXT_sRGB_write_control */                                                                \
197     /* GL_EXT_semaphore */                                                                         \
198     void deleteSemaphores(GLsizei n, const SemaphoreID *semaphoresPacked);                         \
199     void genSemaphores(GLsizei n, SemaphoreID *semaphoresPacked);                                  \
200     void getSemaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname, GLuint64 *params);  \
201     GLboolean isSemaphore(SemaphoreID semaphorePacked) const;                                      \
202     void semaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname,                        \
203                                  const GLuint64 *params);                                          \
204     void signalSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers,                    \
205                          const BufferID *buffersPacked, GLuint numTextureBarriers,                 \
206                          const TextureID *texturesPacked, const GLenum *dstLayouts);               \
207     void waitSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers,                      \
208                        const BufferID *buffersPacked, GLuint numTextureBarriers,                   \
209                        const TextureID *texturesPacked, const GLenum *srcLayouts);                 \
210     /* GL_EXT_semaphore_fd */                                                                      \
211     void importSemaphoreFd(SemaphoreID semaphorePacked, HandleType handleTypePacked, GLint fd);    \
212     /* GL_EXT_separate_shader_objects */                                                           \
213     /* GL_EXT_shader_framebuffer_fetch */                                                          \
214     /* GL_EXT_shader_framebuffer_fetch_non_coherent */                                             \
215     void framebufferFetchBarrier();                                                                \
216     /* GL_EXT_shader_io_blocks */                                                                  \
217     /* GL_EXT_shader_non_constant_global_initializers */                                           \
218     /* GL_EXT_shader_texture_lod */                                                                \
219     /* GL_EXT_shadow_samplers */                                                                   \
220     /* GL_EXT_tessellation_shader */                                                               \
221     /* GL_EXT_texture_border_clamp */                                                              \
222     /* GL_EXT_texture_buffer */                                                                    \
223     /* GL_EXT_texture_compression_astc_decode_mode */                                              \
224     /* GL_EXT_texture_compression_astc_decode_mode_rgb9e5 */                                       \
225     /* GL_EXT_texture_compression_bptc */                                                          \
226     /* GL_EXT_texture_compression_dxt1 */                                                          \
227     /* GL_EXT_texture_compression_rgtc */                                                          \
228     /* GL_EXT_texture_compression_s3tc */                                                          \
229     /* GL_EXT_texture_compression_s3tc_srgb */                                                     \
230     /* GL_EXT_texture_cube_map_array */                                                            \
231     /* GL_EXT_texture_filter_anisotropic */                                                        \
232     /* GL_EXT_texture_filter_minmax */                                                             \
233     /* GL_EXT_texture_format_BGRA8888 */                                                           \
234     /* GL_EXT_texture_format_sRGB_override */                                                      \
235     /* GL_EXT_texture_mirror_clamp_to_edge */                                                      \
236     /* GL_EXT_texture_norm16 */                                                                    \
237     /* GL_EXT_texture_rg */                                                                        \
238     /* GL_EXT_texture_sRGB_R8 */                                                                   \
239     /* GL_EXT_texture_sRGB_RG8 */                                                                  \
240     /* GL_EXT_texture_sRGB_decode */                                                               \
241     /* GL_EXT_texture_storage */                                                                   \
242     void texStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);        \
243     /* GL_EXT_texture_type_2_10_10_10_REV */                                                       \
244     /* GL_EXT_unpack_subimage */                                                                   \
245     /* GL_IMG_texture_compression_pvrtc */                                                         \
246     /* GL_IMG_texture_compression_pvrtc2 */                                                        \
247     /* GL_KHR_blend_equation_advanced */                                                           \
248     /* GL_KHR_debug */                                                                             \
249     /* GL_KHR_no_error */                                                                          \
250     /* GL_KHR_parallel_shader_compile */                                                           \
251     void maxShaderCompilerThreads(GLuint count);                                                   \
252     /* GL_KHR_robust_buffer_access_behavior */                                                     \
253     /* GL_KHR_texture_compression_astc_hdr */                                                      \
254     /* GL_KHR_texture_compression_astc_ldr */                                                      \
255     /* GL_KHR_texture_compression_astc_sliced_3d */                                                \
256     /* GL_MESA_framebuffer_flip_y */                                                               \
257     void framebufferParameteriMESA(GLenum target, GLenum pname, GLint param);                      \
258     void getFramebufferParameterivMESA(GLenum target, GLenum pname, GLint *params);                \
259     /* GL_NV_EGL_stream_consumer_external */                                                       \
260     /* GL_NV_depth_buffer_float2 */                                                                \
261     /* GL_NV_fence */                                                                              \
262     void deleteFencesNV(GLsizei n, const FenceNVID *fencesPacked);                                 \
263     void finishFenceNV(FenceNVID fencePacked);                                                     \
264     void genFencesNV(GLsizei n, FenceNVID *fencesPacked);                                          \
265     void getFenceivNV(FenceNVID fencePacked, GLenum pname, GLint *params);                         \
266     GLboolean isFenceNV(FenceNVID fencePacked) const;                                              \
267     void setFenceNV(FenceNVID fencePacked, GLenum condition);                                      \
268     GLboolean testFenceNV(FenceNVID fencePacked);                                                  \
269     /* GL_NV_framebuffer_blit */                                                                   \
270     void blitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,        \
271                            GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); \
272     /* GL_NV_pack_subimage */                                                                      \
273     /* GL_NV_pixel_buffer_object */                                                                \
274     /* GL_NV_polygon_mode */                                                                       \
275     /* GL_NV_read_depth */                                                                         \
276     /* GL_NV_read_depth_stencil */                                                                 \
277     /* GL_NV_read_stencil */                                                                       \
278     /* GL_NV_robustness_video_memory_purge */                                                      \
279     /* GL_NV_shader_noperspective_interpolation */                                                 \
280     /* GL_OES_EGL_image */                                                                         \
281     void eGLImageTargetRenderbufferStorage(GLenum target, egl::ImageID imagePacked);               \
282     void eGLImageTargetTexture2D(TextureType targetPacked, egl::ImageID imagePacked);              \
283     /* GL_OES_EGL_image_external */                                                                \
284     /* GL_OES_EGL_image_external_essl3 */                                                          \
285     /* GL_OES_EGL_sync */                                                                          \
286     /* GL_OES_compressed_EAC_R11_signed_texture */                                                 \
287     /* GL_OES_compressed_EAC_R11_unsigned_texture */                                               \
288     /* GL_OES_compressed_EAC_RG11_signed_texture */                                                \
289     /* GL_OES_compressed_EAC_RG11_unsigned_texture */                                              \
290     /* GL_OES_compressed_ETC1_RGB8_texture */                                                      \
291     /* GL_OES_compressed_ETC2_RGB8_texture */                                                      \
292     /* GL_OES_compressed_ETC2_RGBA8_texture */                                                     \
293     /* GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture */                                       \
294     /* GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture */                                 \
295     /* GL_OES_compressed_ETC2_sRGB8_alpha8_texture */                                              \
296     /* GL_OES_compressed_ETC2_sRGB8_texture */                                                     \
297     /* GL_OES_compressed_paletted_texture */                                                       \
298     /* GL_OES_copy_image */                                                                        \
299     /* GL_OES_depth24 */                                                                           \
300     /* GL_OES_depth32 */                                                                           \
301     /* GL_OES_depth_texture */                                                                     \
302     /* GL_OES_depth_texture_cube_map */                                                            \
303     /* GL_OES_draw_buffers_indexed */                                                              \
304     /* GL_OES_draw_elements_base_vertex */                                                         \
305     /* GL_OES_element_index_uint */                                                                \
306     /* GL_OES_fbo_render_mipmap */                                                                 \
307     /* GL_OES_geometry_shader */                                                                   \
308     /* GL_OES_get_program_binary */                                                                \
309     /* GL_OES_mapbuffer */                                                                         \
310     void *mapBuffer(BufferBinding targetPacked, GLenum access);                                    \
311     /* GL_OES_packed_depth_stencil */                                                              \
312     /* GL_OES_primitive_bounding_box */                                                            \
313     /* GL_OES_rgb8_rgba8 */                                                                        \
314     /* GL_OES_sample_shading */                                                                    \
315     /* GL_OES_sample_variables */                                                                  \
316     /* GL_OES_shader_image_atomic */                                                               \
317     /* GL_OES_shader_io_blocks */                                                                  \
318     /* GL_OES_shader_multisample_interpolation */                                                  \
319     /* GL_OES_standard_derivatives */                                                              \
320     /* GL_OES_surfaceless_context */                                                               \
321     /* GL_OES_texture_3D */                                                                        \
322     void framebufferTexture3D(GLenum target, GLenum attachment, TextureTarget textargetPacked,     \
323                               TextureID texturePacked, GLint level, GLint zoffset);                \
324     /* GL_OES_texture_border_clamp */                                                              \
325     /* GL_OES_texture_buffer */                                                                    \
326     /* GL_OES_texture_compression_astc */                                                          \
327     /* GL_OES_texture_cube_map_array */                                                            \
328     /* GL_OES_texture_float */                                                                     \
329     /* GL_OES_texture_float_linear */                                                              \
330     /* GL_OES_texture_half_float */                                                                \
331     /* GL_OES_texture_half_float_linear */                                                         \
332     /* GL_OES_texture_npot */                                                                      \
333     /* GL_OES_texture_stencil8 */                                                                  \
334     /* GL_OES_texture_storage_multisample_2d_array */                                              \
335     /* GL_OES_vertex_array_object */                                                               \
336     /* GL_OES_vertex_half_float */                                                                 \
337     /* GL_OES_vertex_type_10_10_10_2 */                                                            \
338     /* GL_OVR_multiview */                                                                         \
339     void framebufferTextureMultiview(GLenum target, GLenum attachment, TextureID texturePacked,    \
340                                      GLint level, GLint baseViewIndex, GLsizei numViews);          \
341     /* GL_OVR_multiview2 */                                                                        \
342     /* GL_QCOM_render_shared_exponent */                                                           \
343     /* GL_QCOM_shading_rate */                                                                     \
344     /* GL_WEBGL_video_texture */                                                                   \
345                                                                                                    \
346     /* ANGLE Extensions */                                                                         \
347                                                                                                    \
348     /* GL_ANGLE_base_vertex_base_instance */                                                       \
349     void drawArraysInstancedBaseInstanceANGLE(PrimitiveMode modePacked, GLint first,               \
350                                               GLsizei count, GLsizei instanceCount,                \
351                                               GLuint baseInstance);                                \
352     void drawElementsInstancedBaseVertexBaseInstanceANGLE(                                         \
353         PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, \
354         GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);                             \
355     void multiDrawArraysInstancedBaseInstance(                                                     \
356         PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts,                      \
357         const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount);            \
358     void multiDrawElementsInstancedBaseVertexBaseInstance(                                         \
359         PrimitiveMode modePacked, const GLsizei *counts, DrawElementsType typePacked,              \
360         const void *const *indices, const GLsizei *instanceCounts, const GLint *baseVertices,      \
361         const GLuint *baseInstances, GLsizei drawcount);                                           \
362     /* GL_ANGLE_base_vertex_base_instance_shader_builtin */                                        \
363     /* GL_ANGLE_client_arrays */                                                                   \
364     /* GL_ANGLE_clip_cull_distance */                                                              \
365     /* GL_ANGLE_compressed_texture_etc */                                                          \
366     /* GL_ANGLE_copy_texture_3d */                                                                 \
367     void copyTexture3D(TextureID sourceIdPacked, GLint sourceLevel,                                \
368                        TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel,    \
369                        GLint internalFormat, GLenum destType, GLboolean unpackFlipY,               \
370                        GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha);         \
371     void copySubTexture3D(TextureID sourceIdPacked, GLint sourceLevel,                             \
372                           TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, \
373                           GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z,  \
374                           GLint width, GLint height, GLint depth, GLboolean unpackFlipY,           \
375                           GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha);      \
376     /* GL_ANGLE_framebuffer_multisample */                                                         \
377     /* GL_ANGLE_get_image */                                                                       \
378     void getTexImage(TextureTarget targetPacked, GLint level, GLenum format, GLenum type,          \
379                      void *pixels);                                                                \
380     void getCompressedTexImage(TextureTarget targetPacked, GLint level, void *pixels);             \
381     void getRenderbufferImage(GLenum target, GLenum format, GLenum type, void *pixels);            \
382     /* GL_ANGLE_get_serialized_context_string */                                                   \
383     /* GL_ANGLE_get_tex_level_parameter */                                                         \
384     /* GL_ANGLE_logic_op */                                                                        \
385     /* GL_ANGLE_lossy_etc_decode */                                                                \
386     /* GL_ANGLE_memory_object_flags */                                                             \
387     void texStorageMemFlags2D(TextureType targetPacked, GLsizei levels, GLenum internalFormat,     \
388                               GLsizei width, GLsizei height, MemoryObjectID memoryPacked,          \
389                               GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags,      \
390                               const void *imageCreateInfoPNext);                                   \
391     void texStorageMemFlags2DMultisample(                                                          \
392         TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width,           \
393         GLsizei height, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked,               \
394         GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags,                            \
395         const void *imageCreateInfoPNext);                                                         \
396     void texStorageMemFlags3D(                                                                     \
397         TextureType targetPacked, GLsizei levels, GLenum internalFormat, GLsizei width,            \
398         GLsizei height, GLsizei depth, MemoryObjectID memoryPacked, GLuint64 offset,               \
399         GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);          \
400     void texStorageMemFlags3DMultisample(                                                          \
401         TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width,           \
402         GLsizei height, GLsizei depth, GLboolean fixedSampleLocations,                             \
403         MemoryObjectID memoryPacked, GLuint64 offset, GLbitfield createFlags,                      \
404         GLbitfield usageFlags, const void *imageCreateInfoPNext);                                  \
405     /* GL_ANGLE_memory_object_fuchsia */                                                           \
406     void importMemoryZirconHandle(MemoryObjectID memoryPacked, GLuint64 size,                      \
407                                   HandleType handleTypePacked, GLuint handle);                     \
408     /* GL_ANGLE_memory_size */                                                                     \
409     /* GL_ANGLE_multi_draw */                                                                      \
410     void multiDrawArrays(PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts,     \
411                          GLsizei drawcount);                                                       \
412     void multiDrawArraysInstanced(PrimitiveMode modePacked, const GLint *firsts,                   \
413                                   const GLsizei *counts, const GLsizei *instanceCounts,            \
414                                   GLsizei drawcount);                                              \
415     void multiDrawElements(PrimitiveMode modePacked, const GLsizei *counts,                        \
416                            DrawElementsType typePacked, const void *const *indices,                \
417                            GLsizei drawcount);                                                     \
418     void multiDrawElementsInstanced(PrimitiveMode modePacked, const GLsizei *counts,               \
419                                     DrawElementsType typePacked, const void *const *indices,       \
420                                     const GLsizei *instanceCounts, GLsizei drawcount);             \
421     /* GL_ANGLE_multiview_multisample */                                                           \
422     /* GL_ANGLE_polygon_mode */                                                                    \
423     /* GL_ANGLE_program_binary */                                                                  \
424     /* GL_ANGLE_program_cache_control */                                                           \
425     /* GL_ANGLE_provoking_vertex */                                                                \
426     /* GL_ANGLE_read_only_depth_stencil_feedback_loops */                                          \
427     /* GL_ANGLE_relaxed_vertex_attribute_type */                                                   \
428     /* GL_ANGLE_renderability_validation */                                                        \
429     /* GL_ANGLE_request_extension */                                                               \
430     void requestExtension(const GLchar *name);                                                     \
431     void disableExtension(const GLchar *name);                                                     \
432     /* GL_ANGLE_rgbx_internal_format */                                                            \
433     /* GL_ANGLE_robust_client_memory */                                                            \
434     void getBooleanvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *params);     \
435     void getBufferParameterivRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize,     \
436                                     GLsizei *length, GLint *params);                               \
437     void getFloatvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);         \
438     void getFramebufferAttachmentParameterivRobust(GLenum target, GLenum attachment, GLenum pname, \
439                                                    GLsizei bufSize, GLsizei *length,               \
440                                                    GLint *params);                                 \
441     void getIntegervRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);           \
442     void getProgramivRobust(ShaderProgramID programPacked, GLenum pname, GLsizei bufSize,          \
443                             GLsizei *length, GLint *params);                                       \
444     void getRenderbufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize,            \
445                                           GLsizei *length, GLint *params);                         \
446     void getShaderivRobust(ShaderProgramID shaderPacked, GLenum pname, GLsizei bufSize,            \
447                            GLsizei *length, GLint *params);                                        \
448     void getTexParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,          \
449                                  GLsizei *length, GLfloat *params);                                \
450     void getTexParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,          \
451                                  GLsizei *length, GLint *params);                                  \
452     void getUniformfvRobust(ShaderProgramID programPacked, UniformLocation locationPacked,         \
453                             GLsizei bufSize, GLsizei *length, GLfloat *params);                    \
454     void getUniformivRobust(ShaderProgramID programPacked, UniformLocation locationPacked,         \
455                             GLsizei bufSize, GLsizei *length, GLint *params);                      \
456     void getVertexAttribfvRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length,     \
457                                  GLfloat *params);                                                 \
458     void getVertexAttribivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length,     \
459                                  GLint *params);                                                   \
460     void getVertexAttribPointervRobust(GLuint index, GLenum pname, GLsizei bufSize,                \
461                                        GLsizei *length, void **pointer);                           \
462     void readPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,          \
463                           GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns,         \
464                           GLsizei *rows, void *pixels);                                            \
465     void texImage2DRobust(TextureTarget targetPacked, GLint level, GLint internalformat,           \
466                           GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, \
467                           GLsizei bufSize, const void *pixels);                                    \
468     void texParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,             \
469                               const GLfloat *params);                                              \
470     void texParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,             \
471                               const GLint *params);                                                \
472     void texSubImage2DRobust(TextureTarget targetPacked, GLint level, GLint xoffset,               \
473                              GLint yoffset, GLsizei width, GLsizei height, GLenum format,          \
474                              GLenum type, GLsizei bufSize, const void *pixels);                    \
475     void texImage3DRobust(TextureTarget targetPacked, GLint level, GLint internalformat,           \
476                           GLsizei width, GLsizei height, GLsizei depth, GLint border,              \
477                           GLenum format, GLenum type, GLsizei bufSize, const void *pixels);        \
478     void texSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset,               \
479                              GLint yoffset, GLint zoffset, GLsizei width, GLsizei height,          \
480                              GLsizei depth, GLenum format, GLenum type, GLsizei bufSize,           \
481                              const void *pixels);                                                  \
482     void compressedTexImage2DRobust(                                                               \
483         TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width,             \
484         GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const void *data);      \
485     void compressedTexSubImage2DRobust(                                                            \
486         TextureTarget targetPacked, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width,  \
487         GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const void *data);     \
488     void compressedTexImage3DRobust(TextureTarget targetPacked, GLint level,                       \
489                                     GLenum internalformat, GLsizei width, GLsizei height,          \
490                                     GLsizei depth, GLint border, GLsizei imageSize,                \
491                                     GLsizei dataSize, const void *data);                           \
492     void compressedTexSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset,     \
493                                        GLint yoffset, GLint zoffset, GLsizei width,                \
494                                        GLsizei height, GLsizei depth, GLenum format,               \
495                                        GLsizei imageSize, GLsizei dataSize, const void *data);     \
496     void getQueryivRobust(QueryType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length,  \
497                           GLint *params);                                                          \
498     void getQueryObjectuivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, \
499                                  GLuint *params);                                                  \
500     void getBufferPointervRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize,        \
501                                  GLsizei *length, void **params);                                  \
502     void getIntegeri_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length,        \
503                              GLint *data);                                                         \
504     void getInternalformativRobust(GLenum target, GLenum internalformat, GLenum pname,             \
505                                    GLsizei bufSize, GLsizei *length, GLint *params);               \
506     void getVertexAttribIivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length,    \
507                                   GLint *params);                                                  \
508     void getVertexAttribIuivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length,   \
509                                    GLuint *params);                                                \
510     void getUniformuivRobust(ShaderProgramID programPacked, UniformLocation locationPacked,        \
511                              GLsizei bufSize, GLsizei *length, GLuint *params);                    \
512     void getActiveUniformBlockivRobust(ShaderProgramID programPacked,                              \
513                                        UniformBlockIndex uniformBlockIndexPacked, GLenum pname,    \
514                                        GLsizei bufSize, GLsizei *length, GLint *params);           \
515     void getInteger64vRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);       \
516     void getInteger64i_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length,      \
517                                GLint64 *data);                                                     \
518     void getBufferParameteri64vRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize,   \
519                                       GLsizei *length, GLint64 *params);                           \
520     void samplerParameterivRobust(SamplerID samplerPacked, GLuint pname, GLsizei bufSize,          \
521                                   const GLint *param);                                             \
522     void samplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,          \
523                                   const GLfloat *param);                                           \
524     void getSamplerParameterivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,       \
525                                      GLsizei *length, GLint *params);                              \
526     void getSamplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,       \
527                                      GLsizei *length, GLfloat *params);                            \
528     void getFramebufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize,             \
529                                          GLsizei *length, GLint *params);                          \
530     void getProgramInterfaceivRobust(ShaderProgramID programPacked, GLenum programInterface,       \
531                                      GLenum pname, GLsizei bufSize, GLsizei *length,               \
532                                      GLint *params);                                               \
533     void getBooleani_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length,        \
534                              GLboolean *data);                                                     \
535     void getMultisamplefvRobust(GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length,      \
536                                 GLfloat *val);                                                     \
537     void getTexLevelParameterivRobust(TextureTarget targetPacked, GLint level, GLenum pname,       \
538                                       GLsizei bufSize, GLsizei *length, GLint *params);            \
539     void getTexLevelParameterfvRobust(TextureTarget targetPacked, GLint level, GLenum pname,       \
540                                       GLsizei bufSize, GLsizei *length, GLfloat *params);          \
541     void getPointervRobustANGLERobust(GLenum pname, GLsizei bufSize, GLsizei *length,              \
542                                       void **params);                                              \
543     void readnPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,         \
544                            GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns,        \
545                            GLsizei *rows, void *data);                                             \
546     void getnUniformfvRobust(ShaderProgramID programPacked, UniformLocation locationPacked,        \
547                              GLsizei bufSize, GLsizei *length, GLfloat *params);                   \
548     void getnUniformivRobust(ShaderProgramID programPacked, UniformLocation locationPacked,        \
549                              GLsizei bufSize, GLsizei *length, GLint *params);                     \
550     void getnUniformuivRobust(ShaderProgramID programPacked, UniformLocation locationPacked,       \
551                               GLsizei bufSize, GLsizei *length, GLuint *params);                   \
552     void texParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,            \
553                                const GLint *params);                                               \
554     void texParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,           \
555                                 const GLuint *params);                                             \
556     void getTexParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,         \
557                                   GLsizei *length, GLint *params);                                 \
558     void getTexParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize,        \
559                                    GLsizei *length, GLuint *params);                               \
560     void samplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,         \
561                                    const GLint *param);                                            \
562     void samplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,        \
563                                     const GLuint *param);                                          \
564     void getSamplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,      \
565                                       GLsizei *length, GLint *params);                             \
566     void getSamplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize,     \
567                                        GLsizei *length, GLuint *params);                           \
568     void getQueryObjectivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length,  \
569                                 GLint *params);                                                    \
570     void getQueryObjecti64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize,                 \
571                                   GLsizei *length, GLint64 *params);                               \
572     void getQueryObjectui64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize,                \
573                                    GLsizei *length, GLuint64 *params);                             \
574     /* GL_ANGLE_robust_fragment_shader_output */                                                   \
575     /* GL_ANGLE_robust_resource_initialization */                                                  \
576     /* GL_ANGLE_semaphore_fuchsia */                                                               \
577     void importSemaphoreZirconHandle(SemaphoreID semaphorePacked, HandleType handleTypePacked,     \
578                                      GLuint handle);                                               \
579     /* GL_ANGLE_shader_binary */                                                                   \
580     /* GL_ANGLE_shader_pixel_local_storage */                                                      \
581     void framebufferMemorylessPixelLocalStorage(GLint plane, GLenum internalformat);               \
582     void framebufferTexturePixelLocalStorage(GLint plane, TextureID backingtexturePacked,          \
583                                              GLint level, GLint layer);                            \
584     void framebufferPixelLocalClearValuefv(GLint plane, const GLfloat *value);                     \
585     void framebufferPixelLocalClearValueiv(GLint plane, const GLint *value);                       \
586     void framebufferPixelLocalClearValueuiv(GLint plane, const GLuint *value);                     \
587     void beginPixelLocalStorage(GLsizei n, const GLenum *loadops);                                 \
588     void endPixelLocalStorage(GLsizei n, const GLenum *storeops);                                  \
589     void pixelLocalStorageBarrier();                                                               \
590     void framebufferPixelLocalStorageInterrupt();                                                  \
591     void framebufferPixelLocalStorageRestore();                                                    \
592     void getFramebufferPixelLocalStorageParameterfv(GLint plane, GLenum pname, GLfloat *params);   \
593     void getFramebufferPixelLocalStorageParameteriv(GLint plane, GLenum pname, GLint *params);     \
594     void getFramebufferPixelLocalStorageParameterfvRobust(                                         \
595         GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);             \
596     void getFramebufferPixelLocalStorageParameterivRobust(                                         \
597         GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);               \
598     /* GL_ANGLE_shader_pixel_local_storage_coherent */                                             \
599     /* GL_ANGLE_stencil_texturing */                                                               \
600     /* GL_ANGLE_texture_compression_dxt3 */                                                        \
601     /* GL_ANGLE_texture_compression_dxt5 */                                                        \
602     /* GL_ANGLE_texture_external_update */                                                         \
603     void texImage2DExternal(TextureTarget targetPacked, GLint level, GLint internalformat,         \
604                             GLsizei width, GLsizei height, GLint border, GLenum format,            \
605                             GLenum type);                                                          \
606     void invalidateTexture(TextureType targetPacked);                                              \
607     /* GL_ANGLE_texture_multisample */                                                             \
608     /* GL_ANGLE_texture_rectangle */                                                               \
609     /* GL_ANGLE_vulkan_image */                                                                    \
610     void acquireTextures(GLuint numTextures, const TextureID *texturesPacked,                      \
611                          const GLenum *layouts);                                                   \
612     void releaseTextures(GLuint numTextures, const TextureID *texturesPacked, GLenum *layouts);    \
613     /* GL_ANGLE_webgl_compatibility */                                                             \
614     /* GL_ANGLE_yuv_internal_format */                                                             \
615     /* GL_CHROMIUM_bind_generates_resource */                                                      \
616     /* GL_CHROMIUM_bind_uniform_location */                                                        \
617     void bindUniformLocation(ShaderProgramID programPacked, UniformLocation locationPacked,        \
618                              const GLchar *name);                                                  \
619     /* GL_CHROMIUM_color_buffer_float_rgb */                                                       \
620     /* GL_CHROMIUM_color_buffer_float_rgba */                                                      \
621     /* GL_CHROMIUM_copy_compressed_texture */                                                      \
622     void compressedCopyTexture(TextureID sourceIdPacked, TextureID destIdPacked);                  \
623     /* GL_CHROMIUM_copy_texture */                                                                 \
624     void copyTexture(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked,  \
625                      TextureID destIdPacked, GLint destLevel, GLint internalFormat,                \
626                      GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha,     \
627                      GLboolean unpackUnmultiplyAlpha);                                             \
628     void copySubTexture(TextureID sourceIdPacked, GLint sourceLevel,                               \
629                         TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel,   \
630                         GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, \
631                         GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha,                   \
632                         GLboolean unpackUnmultiplyAlpha);                                          \
633     /* GL_CHROMIUM_framebuffer_mixed_samples */                                                    \
634     /* GL_CHROMIUM_lose_context */                                                                 \
635     void loseContext(GraphicsResetStatus currentPacked, GraphicsResetStatus otherPacked);          \
636     /* GL_CHROMIUM_sync_query */                                                                   \
637     /* GL_CHROMIUM_texture_filtering_hint */
638 
639 #endif  // ANGLE_CONTEXT_API_EXT_AUTOGEN_H_
640