huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos GL API description (gl.xml) revision acc85f4b76949b015c0354bd8c20a1076a49b1cf.
 */
 
if (de::contains(extSet, "GL_KHR_blend_equation_advanced"))
{
   gl->blendBarrier    = (glBlendBarrierFunc)    loader->get("glBlendBarrierKHR");
}
 
if (de::contains(extSet, "GL_KHR_debug"))
{
   gl->debugMessageCallback    = (glDebugMessageCallbackFunc)    loader->get("glDebugMessageCallbackKHR");
   gl->debugMessageControl        = (glDebugMessageControlFunc)    loader->get("glDebugMessageControlKHR");
   gl->debugMessageInsert        = (glDebugMessageInsertFunc)    loader->get("glDebugMessageInsertKHR");
   gl->getDebugMessageLog        = (glGetDebugMessageLogFunc)    loader->get("glGetDebugMessageLogKHR");
   gl->getObjectLabel            = (glGetObjectLabelFunc)        loader->get("glGetObjectLabelKHR");
   gl->getObjectPtrLabel        = (glGetObjectPtrLabelFunc)        loader->get("glGetObjectPtrLabelKHR");
   gl->getPointerv                = (glGetPointervFunc)            loader->get("glGetPointervKHR");
   gl->objectLabel                = (glObjectLabelFunc)            loader->get("glObjectLabelKHR");
   gl->objectPtrLabel            = (glObjectPtrLabelFunc)        loader->get("glObjectPtrLabelKHR");
   gl->popDebugGroup            = (glPopDebugGroupFunc)            loader->get("glPopDebugGroupKHR");
   gl->pushDebugGroup            = (glPushDebugGroupFunc)        loader->get("glPushDebugGroupKHR");
}
 
if (de::contains(extSet, "GL_EXT_robustness"))
{
   gl->getGraphicsResetStatus    = (glGetGraphicsResetStatusFunc)    loader->get("glGetGraphicsResetStatusEXT");
   gl->getnUniformfv            = (glGetnUniformfvFunc)                loader->get("glGetnUniformfvEXT");
   gl->getnUniformiv            = (glGetnUniformivFunc)                loader->get("glGetnUniformivEXT");
   gl->readnPixels                = (glReadnPixelsFunc)                loader->get("glReadnPixelsEXT");
}
 
if (de::contains(extSet, "GL_KHR_robustness"))
{
   gl->getGraphicsResetStatus    = (glGetGraphicsResetStatusFunc)    loader->get("glGetGraphicsResetStatusKHR");
   gl->getnUniformfv            = (glGetnUniformfvFunc)                loader->get("glGetnUniformfvKHR");
   gl->getnUniformiv            = (glGetnUniformivFunc)                loader->get("glGetnUniformivKHR");
   gl->getnUniformuiv            = (glGetnUniformuivFunc)            loader->get("glGetnUniformuivKHR");
   gl->readnPixels                = (glReadnPixelsFunc)                loader->get("glReadnPixelsKHR");
}
 
if (de::contains(extSet, "GL_KHR_parallel_shader_compile"))
{
   gl->maxShaderCompilerThreadsKHR    = (glMaxShaderCompilerThreadsKHRFunc)    loader->get("glMaxShaderCompilerThreadsKHR");
}
 
if (de::contains(extSet, "GL_EXT_tessellation_shader"))
{
   gl->patchParameteri    = (glPatchParameteriFunc)    loader->get("glPatchParameteriEXT");
}
 
if (de::contains(extSet, "GL_EXT_geometry_shader"))
{
   gl->framebufferTexture    = (glFramebufferTextureFunc)    loader->get("glFramebufferTextureEXT");
}
 
if (de::contains(extSet, "GL_EXT_texture_buffer"))
{
   gl->texBuffer        = (glTexBufferFunc)            loader->get("glTexBufferEXT");
   gl->texBufferRange    = (glTexBufferRangeFunc)    loader->get("glTexBufferRangeEXT");
}
 
if (de::contains(extSet, "GL_EXT_primitive_bounding_box"))
{
   gl->primitiveBoundingBox    = (glPrimitiveBoundingBoxFunc)    loader->get("glPrimitiveBoundingBoxEXT");
}
 
if (de::contains(extSet, "GL_EXT_copy_image"))
{
   gl->copyImageSubData    = (glCopyImageSubDataFunc)    loader->get("glCopyImageSubDataEXT");
}
 
if (de::contains(extSet, "GL_EXT_draw_buffers_indexed"))
{
   gl->blendEquationSeparatei    = (glBlendEquationSeparateiFunc)    loader->get("glBlendEquationSeparateiEXT");
   gl->blendEquationi            = (glBlendEquationiFunc)            loader->get("glBlendEquationiEXT");
   gl->blendFuncSeparatei        = (glBlendFuncSeparateiFunc)        loader->get("glBlendFuncSeparateiEXT");
   gl->blendFunci                = (glBlendFunciFunc)                loader->get("glBlendFunciEXT");
   gl->colorMaski                = (glColorMaskiFunc)                loader->get("glColorMaskiEXT");
   gl->disablei                = (glDisableiFunc)                    loader->get("glDisableiEXT");
   gl->enablei                    = (glEnableiFunc)                    loader->get("glEnableiEXT");
   gl->isEnabledi                = (glIsEnablediFunc)                loader->get("glIsEnablediEXT");
}
 
if (de::contains(extSet, "GL_EXT_draw_elements_base_vertex"))
{
   gl->drawElementsBaseVertex            = (glDrawElementsBaseVertexFunc)            loader->get("glDrawElementsBaseVertexEXT");
   gl->drawElementsInstancedBaseVertex    = (glDrawElementsInstancedBaseVertexFunc)    loader->get("glDrawElementsInstancedBaseVertexEXT");
   gl->drawRangeElementsBaseVertex        = (glDrawRangeElementsBaseVertexFunc)        loader->get("glDrawRangeElementsBaseVertexEXT");
   gl->multiDrawElementsBaseVertex        = (glMultiDrawElementsBaseVertexFunc)        loader->get("glMultiDrawElementsBaseVertexEXT");
}
 
if (de::contains(extSet, "GL_EXT_texture_storage"))
{
   gl->texStorage1D        = (glTexStorage1DFunc)            loader->get("glTexStorage1DEXT");
   gl->texStorage2D        = (glTexStorage2DFunc)            loader->get("glTexStorage2DEXT");
   gl->texStorage3D        = (glTexStorage3DFunc)            loader->get("glTexStorage3DEXT");
   gl->textureStorage1DEXT    = (glTextureStorage1DEXTFunc)    loader->get("glTextureStorage1DEXT");
   gl->textureStorage2DEXT    = (glTextureStorage2DEXTFunc)    loader->get("glTextureStorage2DEXT");
   gl->textureStorage3DEXT    = (glTextureStorage3DEXTFunc)    loader->get("glTextureStorage3DEXT");
}
 
if (de::contains(extSet, "GL_EXT_texture_border_clamp"))
{
   gl->getSamplerParameterIiv    = (glGetSamplerParameterIivFunc)    loader->get("glGetSamplerParameterIivEXT");
   gl->getSamplerParameterIuiv    = (glGetSamplerParameterIuivFunc)    loader->get("glGetSamplerParameterIuivEXT");
   gl->getTexParameterIiv        = (glGetTexParameterIivFunc)        loader->get("glGetTexParameterIivEXT");
   gl->getTexParameterIuiv        = (glGetTexParameterIuivFunc)        loader->get("glGetTexParameterIuivEXT");
   gl->samplerParameterIiv        = (glSamplerParameterIivFunc)        loader->get("glSamplerParameterIivEXT");
   gl->samplerParameterIuiv    = (glSamplerParameterIuivFunc)        loader->get("glSamplerParameterIuivEXT");
   gl->texParameterIiv            = (glTexParameterIivFunc)            loader->get("glTexParameterIivEXT");
   gl->texParameterIuiv        = (glTexParameterIuivFunc)            loader->get("glTexParameterIuivEXT");
}
 
if (de::contains(extSet, "GL_EXT_multisampled_render_to_texture"))
{
   gl->framebufferTexture2DMultisampleEXT    = (glFramebufferTexture2DMultisampleEXTFunc)    loader->get("glFramebufferTexture2DMultisampleEXT");
   gl->renderbufferStorageMultisampleEXT    = (glRenderbufferStorageMultisampleEXTFunc)        loader->get("glRenderbufferStorageMultisampleEXT");
}
 
if (de::contains(extSet, "GL_EXT_debug_marker"))
{
   gl->insertEventMarkerEXT    = (glInsertEventMarkerEXTFunc)    loader->get("glInsertEventMarkerEXT");
   gl->popGroupMarkerEXT        = (glPopGroupMarkerEXTFunc)        loader->get("glPopGroupMarkerEXT");
   gl->pushGroupMarkerEXT        = (glPushGroupMarkerEXTFunc)    loader->get("glPushGroupMarkerEXT");
}
 
if (de::contains(extSet, "GL_EXT_polygon_offset_clamp"))
{
   gl->polygonOffsetClamp    = (glPolygonOffsetClampFunc)    loader->get("glPolygonOffsetClampEXT");
}
 
if (de::contains(extSet, "GL_OES_EGL_image"))
{
   gl->eglImageTargetRenderbufferStorageOES    = (glEGLImageTargetRenderbufferStorageOESFunc)    loader->get("glEGLImageTargetRenderbufferStorageOES");
   gl->eglImageTargetTexture2DOES                = (glEGLImageTargetTexture2DOESFunc)            loader->get("glEGLImageTargetTexture2DOES");
}
 
if (de::contains(extSet, "GL_OES_texture_3D"))
{
   gl->compressedTexImage3DOES        = (glCompressedTexImage3DOESFunc)        loader->get("glCompressedTexImage3DOES");
   gl->compressedTexSubImage3DOES    = (glCompressedTexSubImage3DOESFunc)    loader->get("glCompressedTexSubImage3DOES");
   gl->copyTexSubImage3DOES        = (glCopyTexSubImage3DOESFunc)            loader->get("glCopyTexSubImage3DOES");
   gl->framebufferTexture3DOES        = (glFramebufferTexture3DOESFunc)        loader->get("glFramebufferTexture3DOES");
   gl->texImage3DOES                = (glTexImage3DOESFunc)                    loader->get("glTexImage3DOES");
   gl->texSubImage3DOES            = (glTexSubImage3DOESFunc)                loader->get("glTexSubImage3DOES");
}
 
if (de::contains(extSet, "GL_OES_texture_storage_multisample_2d_array"))
{
   gl->texStorage3DMultisample    = (glTexStorage3DMultisampleFunc)    loader->get("glTexStorage3DMultisampleOES");
}
 
if (de::contains(extSet, "GL_OES_sample_shading"))
{
   gl->minSampleShading    = (glMinSampleShadingFunc)    loader->get("glMinSampleShadingOES");
}
 
if (de::contains(extSet, "GL_OES_mapbuffer"))
{
   gl->getBufferPointerv    = (glGetBufferPointervFunc)    loader->get("glGetBufferPointervOES");
   gl->mapBuffer            = (glMapBufferFunc)            loader->get("glMapBufferOES");
   gl->unmapBuffer            = (glUnmapBufferFunc)        loader->get("glUnmapBufferOES");
}
 
if (de::contains(extSet, "GL_OES_vertex_array_object"))
{
   gl->bindVertexArray        = (glBindVertexArrayFunc)        loader->get("glBindVertexArrayOES");
   gl->deleteVertexArrays    = (glDeleteVertexArraysFunc)    loader->get("glDeleteVertexArraysOES");
   gl->genVertexArrays        = (glGenVertexArraysFunc)        loader->get("glGenVertexArraysOES");
   gl->isVertexArray        = (glIsVertexArrayFunc)            loader->get("glIsVertexArrayOES");
}
 
if (de::contains(extSet, "GL_OES_viewport_array"))
{
   gl->depthRangeArrayfvOES    = (glDepthRangeArrayfvOESFunc)    loader->get("glDepthRangeArrayfvOES");
   gl->depthRangeIndexedfOES    = (glDepthRangeIndexedfOESFunc)    loader->get("glDepthRangeIndexedfOES");
   gl->disablei                = (glDisableiFunc)                loader->get("glDisableiOES");
   gl->enablei                    = (glEnableiFunc)                loader->get("glEnableiOES");
   gl->getFloati_v                = (glGetFloati_vFunc)            loader->get("glGetFloati_vOES");
   gl->isEnabledi                = (glIsEnablediFunc)            loader->get("glIsEnablediOES");
   gl->scissorArrayv            = (glScissorArrayvFunc)            loader->get("glScissorArrayvOES");
   gl->scissorIndexed            = (glScissorIndexedFunc)        loader->get("glScissorIndexedOES");
   gl->scissorIndexedv            = (glScissorIndexedvFunc)        loader->get("glScissorIndexedvOES");
   gl->viewportArrayv            = (glViewportArrayvFunc)        loader->get("glViewportArrayvOES");
   gl->viewportIndexedf        = (glViewportIndexedfFunc)        loader->get("glViewportIndexedfOES");
   gl->viewportIndexedfv        = (glViewportIndexedfvFunc)        loader->get("glViewportIndexedfvOES");
}
 
if (de::contains(extSet, "GL_NV_internalformat_sample_query"))
{
   gl->getInternalformatSampleivNV    = (glGetInternalformatSampleivNVFunc)    loader->get("glGetInternalformatSampleivNV");
}
 
if (de::contains(extSet, "GL_OES_draw_elements_base_vertex"))
{
   gl->drawElementsBaseVertex            = (glDrawElementsBaseVertexFunc)            loader->get("glDrawElementsBaseVertexOES");
   gl->drawElementsInstancedBaseVertex    = (glDrawElementsInstancedBaseVertexFunc)    loader->get("glDrawElementsInstancedBaseVertexOES");
   gl->drawRangeElementsBaseVertex        = (glDrawRangeElementsBaseVertexFunc)        loader->get("glDrawRangeElementsBaseVertexOES");
   gl->multiDrawElementsBaseVertex        = (glMultiDrawElementsBaseVertexFunc)        loader->get("glMultiDrawElementsBaseVertexEXT");
}
 
if (de::contains(extSet, "GL_OVR_multiview"))
{
   gl->framebufferTextureMultiviewOVR    = (glFramebufferTextureMultiviewOVRFunc)    loader->get("glFramebufferTextureMultiviewOVR");
}
 
if (de::contains(extSet, "GL_OVR_multiview_multisampled_render_to_texture"))
{
   gl->framebufferTextureMultisampleMultiviewOVR    = (glFramebufferTextureMultisampleMultiviewOVRFunc)    loader->get("glFramebufferTextureMultisampleMultiviewOVR");
}