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