7#define UGL_PLATFORM_SUPPORTS_GLES 0
8#define UGL_PLATFORM_SUPPORTS_GL3 1
9#define UGL_PLATFORM_SUPPORTS_GL4 1
12#define ENUM_GL_ENTRYPOINTS_DLL(EnumMacro) \
13 EnumMacro(PFNGLBINDTEXTUREPROC,glBindTexture) \
14 EnumMacro(PFNGLBLENDFUNCPROC,glBlendFunc) \
15 EnumMacro(PFNGLCOLORMASKPROC,glColorMask) \
16 EnumMacro(PFNGLCOPYTEXIMAGE1DPROC,glCopyTexImage1D) \
17 EnumMacro(PFNGLCOPYTEXIMAGE2DPROC,glCopyTexImage2D) \
18 EnumMacro(PFNGLCOPYTEXSUBIMAGE1DPROC,glCopyTexSubImage1D) \
19 EnumMacro(PFNGLCOPYTEXSUBIMAGE2DPROC,glCopyTexSubImage2D) \
20 EnumMacro(PFNGLCULLFACEPROC,glCullFace) \
21 EnumMacro(PFNGLDELETETEXTURESPROC,glDeleteTextures) \
22 EnumMacro(PFNGLDEPTHFUNCPROC,glDepthFunc) \
23 EnumMacro(PFNGLDEPTHMASKPROC,glDepthMask) \
24 EnumMacro(PFNGLDEPTHRANGEPROC,glDepthRange) \
25 EnumMacro(PFNGLDISABLEPROC,glDisable) \
26 EnumMacro(PFNGLDRAWARRAYSPROC,glDrawArrays) \
27 EnumMacro(PFNGLDRAWBUFFERPROC,glDrawBuffer) \
28 EnumMacro(PFNGLDRAWELEMENTSPROC,glDrawElements) \
29 EnumMacro(PFNGLENABLEPROC,glEnable) \
30 EnumMacro(PFNGLFINISHPROC,glFinish) \
31 EnumMacro(PFNGLFLUSHPROC,glFlush) \
32 EnumMacro(PFNGLFRONTFACEPROC,glFrontFace) \
33 EnumMacro(PFNGLGENTEXTURESPROC,glGenTextures) \
34 EnumMacro(PFNGLGETBOOLEANVPROC,glGetBooleanv) \
35 EnumMacro(PFNGLGETDOUBLEVPROC,glGetDoublev) \
36 EnumMacro(PFNGLGETERRORPROC,glGetError) \
37 EnumMacro(PFNGLGETFLOATVPROC,glGetFloatv) \
38 EnumMacro(PFNGLGETINTEGERVPROC,glGetIntegerv) \
39 EnumMacro(PFNGLGETPOINTERVPROC,glGetPointerv) \
40 EnumMacro(PFNGLGETSTRINGPROC,glGetString) \
41 EnumMacro(PFNGLGETTEXIMAGEPROC,glGetTexImage) \
42 EnumMacro(PFNGLGETTEXLEVELPARAMETERFVPROC,glGetTexLevelParameterfv) \
43 EnumMacro(PFNGLGETTEXLEVELPARAMETERIVPROC,glGetTexLevelParameteriv) \
44 EnumMacro(PFNGLGETTEXPARAMETERFVPROC,glGetTexParameterfv) \
45 EnumMacro(PFNGLGETTEXPARAMETERIVPROC,glGetTexParameteriv) \
46 EnumMacro(PFNGLHINTPROC,glHint) \
47 EnumMacro(PFNGLISENABLEDPROC,glIsEnabled) \
48 EnumMacro(PFNGLISTEXTUREPROC,glIsTexture) \
49 EnumMacro(PFNGLLINEWIDTHPROC,glLineWidth) \
50 EnumMacro(PFNGLLOGICOPPROC,glLogicOp) \
51 EnumMacro(PFNGLPIXELSTOREFPROC,glPixelStoref) \
52 EnumMacro(PFNGLPIXELSTOREIPROC,glPixelStorei) \
53 EnumMacro(PFNGLPOINTSIZEPROC,glPointSize) \
54 EnumMacro(PFNGLPOLYGONMODEPROC,glPolygonMode) \
55 EnumMacro(PFNGLPOLYGONOFFSETPROC,glPolygonOffset) \
56 EnumMacro(PFNGLREADBUFFERPROC,glReadBuffer) \
57 EnumMacro(PFNGLREADPIXELSPROC,glReadPixels) \
58 EnumMacro(PFNGLSCISSORPROC,glScissor) \
59 EnumMacro(PFNGLCLEARDEPTHPROC,glClearDepth) \
60 EnumMacro(PFNGLCLEARCOLORPROC,glClearColor) \
61 EnumMacro(PFNGLCLEARSTENCILPROC,glClearStencil) \
62 EnumMacro(PFNGLCLEARPROC,glClear) \
63 EnumMacro(PFNGLSTENCILFUNCPROC,glStencilFunc) \
64 EnumMacro(PFNGLSTENCILMASKPROC,glStencilMask) \
65 EnumMacro(PFNGLSTENCILOPPROC,glStencilOp) \
66 EnumMacro(PFNGLTEXIMAGE1DPROC,glTexImage1D) \
67 EnumMacro(PFNGLTEXIMAGE2DPROC,glTexImage2D) \
68 EnumMacro(PFNGLTEXPARAMETERFPROC,glTexParameterf) \
69 EnumMacro(PFNGLTEXPARAMETERFVPROC,glTexParameterfv) \
70 EnumMacro(PFNGLTEXPARAMETERIPROC,glTexParameteri) \
71 EnumMacro(PFNGLTEXPARAMETERIVPROC,glTexParameteriv) \
72 EnumMacro(PFNGLTEXSUBIMAGE1DPROC,glTexSubImage1D) \
73 EnumMacro(PFNGLTEXSUBIMAGE2DPROC,glTexSubImage2D) \
74 EnumMacro(PFNGLVIEWPORTPROC,glViewport)
77#define ENUM_GL_ENTRYPOINTS(EnumMacro) \
78 EnumMacro(PFNGLBINDSAMPLERPROC,glBindSampler) \
79 EnumMacro(PFNGLDELETESAMPLERSPROC,glDeleteSamplers) \
80 EnumMacro(PFNGLGENSAMPLERSPROC,glGenSamplers) \
81 EnumMacro(PFNGLSAMPLERPARAMETERIPROC,glSamplerParameteri) \
82 EnumMacro(PFNGLCLEARBUFFERFVPROC,glClearBufferfv) \
83 EnumMacro(PFNGLCLEARBUFFERIVPROC,glClearBufferiv) \
84 EnumMacro(PFNGLCLEARBUFFERUIVPROC,glClearBufferuiv) \
85 EnumMacro(PFNGLCLEARBUFFERFIPROC,glClearBufferfi) \
86 EnumMacro(PFNGLCOLORMASKIPROC,glColorMaski) \
87 EnumMacro(PFNGLDISABLEIPROC,glDisablei) \
88 EnumMacro(PFNGLENABLEIPROC,glEnablei) \
89 EnumMacro(PFNGLGETBOOLEANI_VPROC,glGetBooleani_v) \
90 EnumMacro(PFNGLGETINTEGERI_VPROC,glGetIntegeri_v) \
91 EnumMacro(PFNGLISENABLEDIPROC,glIsEnabledi) \
92 EnumMacro(PFNGLBLENDCOLORPROC,glBlendColor) \
93 EnumMacro(PFNGLBLENDEQUATIONPROC,glBlendEquation) \
94 EnumMacro(PFNGLDRAWRANGEELEMENTSPROC,glDrawRangeElements) \
95 EnumMacro(PFNGLTEXIMAGE3DPROC,glTexImage3D) \
96 EnumMacro(PFNGLTEXSUBIMAGE3DPROC,glTexSubImage3D) \
97 EnumMacro(PFNGLCOPYTEXSUBIMAGE3DPROC,glCopyTexSubImage3D) \
98 EnumMacro(PFNGLACTIVETEXTUREPROC,glActiveTexture) \
99 EnumMacro(PFNGLSAMPLECOVERAGEPROC,glSampleCoverage) \
100 EnumMacro(PFNGLCOMPRESSEDTEXIMAGE3DPROC,glCompressedTexImage3D) \
101 EnumMacro(PFNGLCOMPRESSEDTEXIMAGE2DPROC,glCompressedTexImage2D) \
102 EnumMacro(PFNGLCOMPRESSEDTEXIMAGE1DPROC,glCompressedTexImage1D) \
103 EnumMacro(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC,glCompressedTexSubImage3D) \
104 EnumMacro(PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC,glCompressedTexSubImage2D) \
105 EnumMacro(PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC,glCompressedTexSubImage1D) \
106 EnumMacro(PFNGLGETCOMPRESSEDTEXIMAGEPROC,glGetCompressedTexImage) \
107 EnumMacro(PFNGLBLENDFUNCSEPARATEPROC,glBlendFuncSeparate) \
108 EnumMacro(PFNGLMULTIDRAWARRAYSPROC,glMultiDrawArrays) \
109 EnumMacro(PFNGLMULTIDRAWELEMENTSPROC,glMultiDrawElements) \
110 EnumMacro(PFNGLPOINTPARAMETERFPROC,glPointParameterf) \
111 EnumMacro(PFNGLPOINTPARAMETERFVPROC,glPointParameterfv) \
112 EnumMacro(PFNGLPOINTPARAMETERIPROC,glPointParameteri) \
113 EnumMacro(PFNGLPOINTPARAMETERIVPROC,glPointParameteriv) \
114 EnumMacro(PFNGLGENQUERIESPROC,glGenQueries) \
115 EnumMacro(PFNGLDELETEQUERIESPROC,glDeleteQueries) \
116 EnumMacro(PFNGLISQUERYPROC,glIsQuery) \
117 EnumMacro(PFNGLBEGINQUERYPROC,glBeginQuery) \
118 EnumMacro(PFNGLENDQUERYPROC,glEndQuery) \
119 EnumMacro(PFNGLGETQUERYIVPROC,glGetQueryiv) \
120 EnumMacro(PFNGLGETQUERYOBJECTIVPROC,glGetQueryObjectiv) \
121 EnumMacro(PFNGLGETQUERYOBJECTUIVPROC,glGetQueryObjectuiv) \
122 EnumMacro(PFNGLBINDBUFFERPROC,glBindBuffer) \
123 EnumMacro(PFNGLBINDBUFFERBASEPROC,glBindBufferBase) \
124 EnumMacro(PFNGLDELETEBUFFERSPROC,glDeleteBuffers) \
125 EnumMacro(PFNGLGENBUFFERSPROC,glGenBuffers) \
126 EnumMacro(PFNGLISBUFFERPROC,glIsBuffer) \
127 EnumMacro(PFNGLBUFFERDATAPROC,glBufferData) \
128 EnumMacro(PFNGLBUFFERSUBDATAPROC,glBufferSubData) \
129 EnumMacro(PFNGLGETBUFFERSUBDATAPROC,glGetBufferSubData) \
130 EnumMacro(PFNGLMAPBUFFERPROC,glMapBuffer) \
131 EnumMacro(PFNGLUNMAPBUFFERPROC,glUnmapBuffer) \
132 EnumMacro(PFNGLGETBUFFERPARAMETERIVPROC,glGetBufferParameteriv) \
133 EnumMacro(PFNGLGETBUFFERPOINTERVPROC,glGetBufferPointerv) \
134 EnumMacro(PFNGLBLENDEQUATIONSEPARATEPROC,glBlendEquationSeparate) \
135 EnumMacro(PFNGLDRAWBUFFERSPROC,glDrawBuffers) \
136 EnumMacro(PFNGLSTENCILOPSEPARATEPROC,glStencilOpSeparate) \
137 EnumMacro(PFNGLSTENCILFUNCSEPARATEPROC,glStencilFuncSeparate) \
138 EnumMacro(PFNGLSTENCILMASKSEPARATEPROC,glStencilMaskSeparate) \
139 EnumMacro(PFNGLATTACHSHADERPROC,glAttachShader) \
140 EnumMacro(PFNGLBINDATTRIBLOCATIONPROC,glBindAttribLocation) \
141 EnumMacro(PFNGLBINDFRAGDATALOCATIONPROC,glBindFragDataLocation) \
142 EnumMacro(PFNGLCOMPILESHADERPROC,glCompileShader) \
143 EnumMacro(PFNGLCREATEPROGRAMPROC,glCreateProgram) \
144 EnumMacro(PFNGLCREATESHADERPROC,glCreateShader) \
145 EnumMacro(PFNGLDELETEPROGRAMPROC,glDeleteProgram) \
146 EnumMacro(PFNGLDELETESHADERPROC,glDeleteShader) \
147 EnumMacro(PFNGLDETACHSHADERPROC,glDetachShader) \
148 EnumMacro(PFNGLDISABLEVERTEXATTRIBARRAYPROC,glDisableVertexAttribArray) \
149 EnumMacro(PFNGLENABLEVERTEXATTRIBARRAYPROC,glEnableVertexAttribArray) \
150 EnumMacro(PFNGLGETACTIVEATTRIBPROC,glGetActiveAttrib) \
151 EnumMacro(PFNGLGETACTIVEUNIFORMPROC,glGetActiveUniform) \
152 EnumMacro(PFNGLGETATTACHEDSHADERSPROC,glGetAttachedShaders) \
153 EnumMacro(PFNGLGETATTRIBLOCATIONPROC,glGetAttribLocation) \
154 EnumMacro(PFNGLGETPROGRAMIVPROC,glGetProgramiv) \
155 EnumMacro(PFNGLGETPROGRAMINFOLOGPROC,glGetProgramInfoLog) \
156 EnumMacro(PFNGLGETSHADERIVPROC,glGetShaderiv) \
157 EnumMacro(PFNGLGETSHADERINFOLOGPROC,glGetShaderInfoLog) \
158 EnumMacro(PFNGLGETSHADERSOURCEPROC,glGetShaderSource) \
159 EnumMacro(PFNGLGETUNIFORMLOCATIONPROC,glGetUniformLocation) \
160 EnumMacro(PFNGLGETUNIFORMBLOCKINDEXPROC,glGetUniformBlockIndex) \
161 EnumMacro(PFNGLGETUNIFORMFVPROC,glGetUniformfv) \
162 EnumMacro(PFNGLGETUNIFORMIVPROC,glGetUniformiv) \
163 EnumMacro(PFNGLGETVERTEXATTRIBDVPROC,glGetVertexAttribdv) \
164 EnumMacro(PFNGLGETVERTEXATTRIBFVPROC,glGetVertexAttribfv) \
165 EnumMacro(PFNGLGETVERTEXATTRIBIVPROC,glGetVertexAttribiv) \
166 EnumMacro(PFNGLGETVERTEXATTRIBPOINTERVPROC,glGetVertexAttribPointerv) \
167 EnumMacro(PFNGLISPROGRAMPROC,glIsProgram) \
168 EnumMacro(PFNGLISSHADERPROC,glIsShader) \
169 EnumMacro(PFNGLLINKPROGRAMPROC,glLinkProgram) \
170 EnumMacro(PFNGLSHADERSOURCEPROC,glShaderSource) \
171 EnumMacro(PFNGLUSEPROGRAMPROC,glUseProgram) \
172 EnumMacro(PFNGLUNIFORM1FPROC,glUniform1f) \
173 EnumMacro(PFNGLUNIFORM2FPROC,glUniform2f) \
174 EnumMacro(PFNGLUNIFORM3FPROC,glUniform3f) \
175 EnumMacro(PFNGLUNIFORM4FPROC,glUniform4f) \
176 EnumMacro(PFNGLUNIFORM1IPROC,glUniform1i) \
177 EnumMacro(PFNGLUNIFORM2IPROC,glUniform2i) \
178 EnumMacro(PFNGLUNIFORM3IPROC,glUniform3i) \
179 EnumMacro(PFNGLUNIFORM4IPROC,glUniform4i) \
180 EnumMacro(PFNGLUNIFORM1FVPROC,glUniform1fv) \
181 EnumMacro(PFNGLUNIFORM2FVPROC,glUniform2fv) \
182 EnumMacro(PFNGLUNIFORM3FVPROC,glUniform3fv) \
183 EnumMacro(PFNGLUNIFORM4FVPROC,glUniform4fv) \
184 EnumMacro(PFNGLUNIFORM1IVPROC,glUniform1iv) \
185 EnumMacro(PFNGLUNIFORM2IVPROC,glUniform2iv) \
186 EnumMacro(PFNGLUNIFORM3IVPROC,glUniform3iv) \
187 EnumMacro(PFNGLUNIFORM4IVPROC,glUniform4iv) \
188 EnumMacro(PFNGLUNIFORM1UIVPROC,glUniform1uiv) \
189 EnumMacro(PFNGLUNIFORM2UIVPROC,glUniform2uiv) \
190 EnumMacro(PFNGLUNIFORM3UIVPROC,glUniform3uiv) \
191 EnumMacro(PFNGLUNIFORM4UIVPROC,glUniform4uiv) \
192 EnumMacro(PFNGLUNIFORMBLOCKBINDINGPROC,glUniformBlockBinding) \
193 EnumMacro(PFNGLUNIFORMMATRIX2FVPROC,glUniformMatrix2fv) \
194 EnumMacro(PFNGLUNIFORMMATRIX3FVPROC,glUniformMatrix3fv) \
195 EnumMacro(PFNGLUNIFORMMATRIX4FVPROC,glUniformMatrix4fv) \
196 EnumMacro(PFNGLVALIDATEPROGRAMPROC,glValidateProgram) \
197 EnumMacro(PFNGLVERTEXATTRIB1DPROC,glVertexAttrib1d) \
198 EnumMacro(PFNGLVERTEXATTRIB1DVPROC,glVertexAttrib1dv) \
199 EnumMacro(PFNGLVERTEXATTRIB1FPROC,glVertexAttrib1f) \
200 EnumMacro(PFNGLVERTEXATTRIB1FVPROC,glVertexAttrib1fv) \
201 EnumMacro(PFNGLVERTEXATTRIB1SPROC,glVertexAttrib1s) \
202 EnumMacro(PFNGLVERTEXATTRIB1SVPROC,glVertexAttrib1sv) \
203 EnumMacro(PFNGLVERTEXATTRIB2DPROC,glVertexAttrib2d) \
204 EnumMacro(PFNGLVERTEXATTRIB2DVPROC,glVertexAttrib2dv) \
205 EnumMacro(PFNGLVERTEXATTRIB2FPROC,glVertexAttrib2f) \
206 EnumMacro(PFNGLVERTEXATTRIB2FVPROC,glVertexAttrib2fv) \
207 EnumMacro(PFNGLVERTEXATTRIB2SPROC,glVertexAttrib2s) \
208 EnumMacro(PFNGLVERTEXATTRIB2SVPROC,glVertexAttrib2sv) \
209 EnumMacro(PFNGLVERTEXATTRIB3DPROC,glVertexAttrib3d) \
210 EnumMacro(PFNGLVERTEXATTRIB3DVPROC,glVertexAttrib3dv) \
211 EnumMacro(PFNGLVERTEXATTRIB3FPROC,glVertexAttrib3f) \
212 EnumMacro(PFNGLVERTEXATTRIB3FVPROC,glVertexAttrib3fv) \
213 EnumMacro(PFNGLVERTEXATTRIB3SPROC,glVertexAttrib3s) \
214 EnumMacro(PFNGLVERTEXATTRIB3SVPROC,glVertexAttrib3sv) \
215 EnumMacro(PFNGLVERTEXATTRIB4NBVPROC,glVertexAttrib4Nbv) \
216 EnumMacro(PFNGLVERTEXATTRIB4NIVPROC,glVertexAttrib4Niv) \
217 EnumMacro(PFNGLVERTEXATTRIB4NSVPROC,glVertexAttrib4Nsv) \
218 EnumMacro(PFNGLVERTEXATTRIB4NUBPROC,glVertexAttrib4Nub) \
219 EnumMacro(PFNGLVERTEXATTRIB4NUBVPROC,glVertexAttrib4Nubv) \
220 EnumMacro(PFNGLVERTEXATTRIB4NUIVPROC,glVertexAttrib4Nuiv) \
221 EnumMacro(PFNGLVERTEXATTRIB4NUSVPROC,glVertexAttrib4Nusv) \
222 EnumMacro(PFNGLVERTEXATTRIB4BVPROC,glVertexAttrib4bv) \
223 EnumMacro(PFNGLVERTEXATTRIB4DPROC,glVertexAttrib4d) \
224 EnumMacro(PFNGLVERTEXATTRIB4DVPROC,glVertexAttrib4dv) \
225 EnumMacro(PFNGLVERTEXATTRIB4FPROC,glVertexAttrib4f) \
226 EnumMacro(PFNGLVERTEXATTRIB4FVPROC,glVertexAttrib4fv) \
227 EnumMacro(PFNGLVERTEXATTRIB4IVPROC,glVertexAttrib4iv) \
228 EnumMacro(PFNGLVERTEXATTRIB4SPROC,glVertexAttrib4s) \
229 EnumMacro(PFNGLVERTEXATTRIB4SVPROC,glVertexAttrib4sv) \
230 EnumMacro(PFNGLVERTEXATTRIB4UBVPROC,glVertexAttrib4ubv) \
231 EnumMacro(PFNGLVERTEXATTRIB4UIVPROC,glVertexAttrib4uiv) \
232 EnumMacro(PFNGLVERTEXATTRIB4USVPROC,glVertexAttrib4usv) \
233 EnumMacro(PFNGLVERTEXATTRIBI4IVPROC,glVertexAttribI4iv) \
234 EnumMacro(PFNGLVERTEXATTRIBI4UIVPROC,glVertexAttribI4uiv) \
235 EnumMacro(PFNGLVERTEXATTRIBI4SVPROC,glVertexAttribI4sv) \
236 EnumMacro(PFNGLVERTEXATTRIBI4USVPROC,glVertexAttribI4usv) \
237 EnumMacro(PFNGLVERTEXATTRIBI4BVPROC,glVertexAttribI4bv) \
238 EnumMacro(PFNGLVERTEXATTRIBI4UBVPROC,glVertexAttribI4ubv) \
239 EnumMacro(PFNGLVERTEXATTRIBPOINTERPROC,glVertexAttribPointer) \
240 EnumMacro(PFNGLVERTEXATTRIBIPOINTERPROC,glVertexAttribIPointer) \
241 EnumMacro(PFNGLUNIFORMMATRIX2X3FVPROC,glUniformMatrix2x3fv) \
242 EnumMacro(PFNGLUNIFORMMATRIX3X2FVPROC,glUniformMatrix3x2fv) \
243 EnumMacro(PFNGLUNIFORMMATRIX2X4FVPROC,glUniformMatrix2x4fv) \
244 EnumMacro(PFNGLUNIFORMMATRIX4X2FVPROC,glUniformMatrix4x2fv) \
245 EnumMacro(PFNGLUNIFORMMATRIX3X4FVPROC,glUniformMatrix3x4fv) \
246 EnumMacro(PFNGLUNIFORMMATRIX4X3FVPROC,glUniformMatrix4x3fv) \
247 EnumMacro(PFNGLISRENDERBUFFERPROC,glIsRenderbuffer) \
248 EnumMacro(PFNGLBINDRENDERBUFFERPROC,glBindRenderbuffer) \
249 EnumMacro(PFNGLDELETERENDERBUFFERSPROC,glDeleteRenderbuffers) \
250 EnumMacro(PFNGLGENRENDERBUFFERSPROC,glGenRenderbuffers) \
251 EnumMacro(PFNGLRENDERBUFFERSTORAGEPROC,glRenderbufferStorage) \
252 EnumMacro(PFNGLGETRENDERBUFFERPARAMETERIVPROC,glGetRenderbufferParameteriv) \
253 EnumMacro(PFNGLISFRAMEBUFFERPROC,glIsFramebuffer) \
254 EnumMacro(PFNGLBINDFRAMEBUFFERPROC,glBindFramebuffer) \
255 EnumMacro(PFNGLDELETEFRAMEBUFFERSPROC,glDeleteFramebuffers) \
256 EnumMacro(PFNGLGENFRAMEBUFFERSPROC,glGenFramebuffers) \
257 EnumMacro(PFNGLCHECKFRAMEBUFFERSTATUSPROC,glCheckFramebufferStatus) \
258 EnumMacro(PFNGLFRAMEBUFFERTEXTURE1DPROC,glFramebufferTexture1D) \
259 EnumMacro(PFNGLFRAMEBUFFERTEXTURE2DPROC,glFramebufferTexture2D) \
260 EnumMacro(PFNGLFRAMEBUFFERTEXTURE3DPROC,glFramebufferTexture3D) \
261 EnumMacro(PFNGLFRAMEBUFFERTEXTUREPROC,glFramebufferTexture) \
262 EnumMacro(PFNGLFRAMEBUFFERRENDERBUFFERPROC,glFramebufferRenderbuffer) \
263 EnumMacro(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC,glGetFramebufferAttachmentParameteriv) \
264 EnumMacro(PFNGLGENERATEMIPMAPPROC,glGenerateMipmap) \
265 EnumMacro(PFNGLBLITFRAMEBUFFERPROC,glBlitFramebuffer) \
266 EnumMacro(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC,glRenderbufferStorageMultisample) \
267 EnumMacro(PFNGLFRAMEBUFFERTEXTURELAYERPROC,glFramebufferTextureLayer) \
268 EnumMacro(PFNGLMAPBUFFERRANGEPROC,glMapBufferRange) \
269 EnumMacro(PFNGLFLUSHMAPPEDBUFFERRANGEPROC,glFlushMappedBufferRange) \
270 EnumMacro(PFNGLVERTEXATTRIBDIVISORPROC,glVertexAttribDivisor) \
271 EnumMacro(PFNGLDRAWARRAYSINSTANCEDPROC,glDrawArraysInstanced) \
272 EnumMacro(PFNGLDRAWELEMENTSINSTANCEDPROC,glDrawElementsInstanced) \
273 EnumMacro(PFNGLGETSTRINGIPROC,glGetStringi) \
274 EnumMacro(PFNGLGENVERTEXARRAYSPROC,glGenVertexArrays) \
275 EnumMacro(PFNGLDELETEVERTEXARRAYSPROC,glDeleteVertexArrays) \
276 EnumMacro(PFNGLBINDVERTEXARRAYPROC,glBindVertexArray) \
277 EnumMacro(PFNGLCOPYBUFFERSUBDATAPROC,glCopyBufferSubData) \
278 EnumMacro(PFNGLTEXBUFFERPROC,glTexBuffer) \
279 EnumMacro(PFNGLTEXBUFFERRANGEPROC,glTexBufferRange) \
280 EnumMacro(PFNGLTEXIMAGE2DMULTISAMPLEPROC,glTexImage2DMultisample) \
281 EnumMacro(PFNGLQUERYCOUNTERPROC, glQueryCounter)\
282 EnumMacro(PFNGLISSYNCPROC, glIsSync)\
283 EnumMacro(PFNGLDELETESYNCPROC, glDeleteSync)\
284 EnumMacro(PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObjectui64v)\
285 EnumMacro(PFNGLFENCESYNCPROC, glFenceSync)\
286 EnumMacro(PFNGLGETSYNCIVPROC, glGetSynciv)\
287 EnumMacro(PFNGLCLIENTWAITSYNCPROC, glClientWaitSync)\
288 EnumMacro(PFNGLBINDBUFFERRANGEPROC, glBindBufferRange) \
289 EnumMacro(PFNGLGETPROGRAMRESOURCEINDEXPROC, glGetProgramResourceIndex) \
291#define ENUM_GL_ENTRYPOINTS_OPTIONAL(EnumMacro) \
292 EnumMacro(PFNGLCLIPCONTROLPROC,glClipControl) \
293 EnumMacro(PFNGLDEBUGMESSAGECALLBACKARBPROC,glDebugMessageCallbackARB) \
294 EnumMacro(PFNGLDEBUGMESSAGECONTROLARBPROC,glDebugMessageControlARB) \
295 EnumMacro(PFNGLDEBUGMESSAGECALLBACKAMDPROC,glDebugMessageCallbackAMD) \
296 EnumMacro(PFNGLDEBUGMESSAGEENABLEAMDPROC,glDebugMessageEnableAMD) \
297 EnumMacro(PFNGLGETACTIVEUNIFORMSIVPROC,glGetActiveUniformsiv) \
298 EnumMacro(PFNGLGETVERTEXATTRIBIUIVPROC,glGetVertexAttribIuiv) \
299 EnumMacro(PFNGLGETACTIVEUNIFORMNAMEPROC,glGetActiveUniformName) \
300 EnumMacro(PFNGLGETUNIFORMUIVPROC,glGetUniformuiv) \
301 EnumMacro(PFNGLGETACTIVEUNIFORMBLOCKIVPROC,glGetActiveUniformBlockiv) \
302 EnumMacro(PFNGLGETBUFFERPARAMETERI64VPROC,glGetBufferParameteri64v) \
303 EnumMacro(PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC,glGetActiveUniformBlockName) \
304 EnumMacro(PFNGLGETSAMPLERPARAMETERFVPROC,glGetSamplerParameterfv) \
305 EnumMacro(PFNGLGETSAMPLERPARAMETERIVPROC,glGetSamplerParameteriv) \
306 EnumMacro(PFNGLDISPATCHCOMPUTEPROC, glDispatchCompute) \
307 EnumMacro(PFNGLDISPATCHCOMPUTEINDIRECTPROC, glDispatchComputeIndirect) \
308 EnumMacro(PFNGLBINDIMAGETEXTUREPROC, glBindImageTexture) \
309 EnumMacro(PFNGLMEMORYBARRIERPROC, glMemoryBarrier) \
310 EnumMacro(PFNGLBLENDEQUATIONIPROC, glBlendEquationi) \
311 EnumMacro(PFNGLBLENDEQUATIONSEPARATEIPROC, glBlendEquationSeparatei) \
312 EnumMacro(PFNGLBLENDFUNCIPROC, glBlendFunci) \
313 EnumMacro(PFNGLBLENDFUNCSEPARATEIPROC, glBlendFuncSeparatei)\
314 EnumMacro(PFNGLBLENDEQUATIONSEPARATEIARBPROC,glBlendEquationSeparateiARB)\
315 EnumMacro(PFNGLBLENDEQUATIONIARBPROC,glBlendEquationiARB)\
316 EnumMacro(PFNGLBLENDFUNCSEPARATEIARBPROC,glBlendFuncSeparateiARB)\
317 EnumMacro(PFNGLBLENDFUNCIARBPROC,glBlendFunciARB)\
318 EnumMacro(PFNGLCLEARBUFFERDATAPROC, glClearBufferData)\
319 EnumMacro(PFNGLCLEARBUFFERSUBDATAPROC, glClearBufferSubData)\
320 EnumMacro(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroup)\
321 EnumMacro(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroup)\
322 EnumMacro(PFNGLOBJECTLABELPROC, glObjectLabel)\
323 EnumMacro(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabel)\
324 EnumMacro(PFNGLPATCHPARAMETERIPROC, glPatchParameteri)\
325 EnumMacro(PFNGLBINDVERTEXBUFFERPROC, glBindVertexBuffer)\
326 EnumMacro(PFNGLVERTEXATTRIBFORMATPROC, glVertexAttribFormat)\
327 EnumMacro(PFNGLVERTEXATTRIBIFORMATPROC, glVertexAttribIFormat)\
328 EnumMacro(PFNGLVERTEXATTRIBBINDINGPROC, glVertexAttribBinding)\
329 EnumMacro(PFNGLVERTEXBINDINGDIVISORPROC, glVertexBindingDivisor)\
330 EnumMacro(PFNGLCOPYIMAGESUBDATAPROC, glCopyImageSubData)\
331 EnumMacro(PFNGLTEXSTORAGE1DPROC, glTexStorage1D)\
332 EnumMacro(PFNGLTEXSTORAGE2DPROC, glTexStorage2D)\
333 EnumMacro(PFNGLTEXSTORAGE3DPROC, glTexStorage3D)\
334 EnumMacro(PFNGLBUFFERSTORAGEPROC, glBufferStorage)\
335 EnumMacro(PFNGLTEXTUREVIEWPROC, glTextureView)\
336 EnumMacro(PFNGLTEXSTORAGE2DMULTISAMPLEPROC, glTexStorage2DMultisample)\
337 EnumMacro(PFNGLDRAWELEMENTSINDIRECTPROC, glDrawElementsIndirect)\
338 EnumMacro(PFNGLDRAWARRAYSINDIRECTPROC, glDrawArraysIndirect)\
339 EnumMacro(PFNGLDEPTHBOUNDSEXTPROC, glDepthBoundsEXT)\
340 EnumMacro(PFNGLGETTEXTUREHANDLENVPROC, glGetTextureHandleARB)\
341 EnumMacro(PFNGLGETTEXTURESAMPLERHANDLENVPROC, glGetTextureSamplerHandleARB)\
342 EnumMacro(PFNGLMAKETEXTUREHANDLERESIDENTNVPROC, glMakeTextureHandleResidentARB)\
343 EnumMacro(PFNGLUNIFORMHANDLEUI64NVPROC, glUniformHandleui64ARB)\
344 EnumMacro(PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC, glMakeTextureHandleNonResidentARB)\
345 EnumMacro(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroupKHR)\
346 EnumMacro(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroupKHR)\
347 EnumMacro(PFNGLOBJECTLABELPROC, glObjectLabelKHR)\
348 EnumMacro(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabelKHR)\
349 EnumMacro(PFNGLDEBUGMESSAGECALLBACKARBPROC,glDebugMessageCallbackKHR) \
350 EnumMacro(PFNGLDEBUGMESSAGECONTROLARBPROC,glDebugMessageControlKHR) \
351 EnumMacro(PFNGLPATCHPARAMETERIPROC, glPatchParameteriEXT)\
352 EnumMacro(PFNGLTEXTUREVIEWPROC, glTextureViewEXT)\
353 EnumMacro(PFNGLBLENDEQUATIONIPROC, glBlendEquationiEXT) \
354 EnumMacro(PFNGLBLENDEQUATIONSEPARATEIPROC, glBlendEquationSeparateiEXT) \
355 EnumMacro(PFNGLBLENDFUNCIPROC, glBlendFunciEXT) \
356 EnumMacro(PFNGLBLENDFUNCSEPARATEIPROC, glBlendFuncSeparateiEXT)\
357 EnumMacro(PFNGLCOLORMASKIPROC,glColorMaskiEXT) \
358 EnumMacro(PFNGLDISABLEIPROC,glDisableiEXT) \
359 EnumMacro(PFNGLENABLEIPROC,glEnableiEXT) \
360 EnumMacro(PFNGLFRAMEBUFFERTEXTUREPROC,glFramebufferTextureEXT) \
361 EnumMacro(PFNGLTEXBUFFERPROC,glTexBufferEXT) \
362 EnumMacro(PFNGLTEXBUFFERRANGEPROC,glTexBufferRangeEXT) \
363 EnumMacro(PFNGLDEPTHRANGEFPROC,glDepthRangef) \
364 EnumMacro(PFNGLCLEARDEPTHFPROC,glClearDepthf) \
365 EnumMacro(PFNGLGETSHADERPRECISIONFORMATPROC, glGetShaderPrecisionFormat) \
366 EnumMacro(PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri) \
367 EnumMacro(PFNGLUSEPROGRAMSTAGESPROC, glUseProgramStages) \
368 EnumMacro(PFNGLBINDPROGRAMPIPELINEPROC, glBindProgramPipeline) \
369 EnumMacro(PFNGLDELETEPROGRAMPIPELINESPROC, glDeleteProgramPipelines) \
370 EnumMacro(PFNGLGENPROGRAMPIPELINESPROC, glGenProgramPipelines) \
371 EnumMacro(PFNGLPROGRAMUNIFORM1IPROC, glProgramUniform1i) \
372 EnumMacro(PFNGLPROGRAMUNIFORM4IVPROC, glProgramUniform4iv) \
373 EnumMacro(PFNGLPROGRAMUNIFORM4FVPROC, glProgramUniform4fv) \
374 EnumMacro(PFNGLPROGRAMUNIFORM4UIVPROC, glProgramUniform4uiv) \
375 EnumMacro(PFNGLGETPROGRAMPIPELINEIVPROC, glGetProgramPipelineiv) \
376 EnumMacro(PFNGLVALIDATEPROGRAMPIPELINEPROC, glValidateProgramPipeline) \
377 EnumMacro(PFNGLGETPROGRAMPIPELINEINFOLOGPROC, glGetProgramPipelineInfoLog) \
378 EnumMacro(PFNGLISPROGRAMPIPELINEPROC, glIsProgramPipeline) \
379 EnumMacro(PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary) \
380 EnumMacro(PFNGLPROGRAMBINARYPROC, glProgramBinary) \
381 EnumMacro(PFNGLGETINTEGER64VPROC, glGetInteger64v)
384#define ENUM_GL_ENTRYPOINTS_ALL(EnumMacro) \
385 ENUM_GL_ENTRYPOINTS_DLL(EnumMacro) \
386 ENUM_GL_ENTRYPOINTS(EnumMacro) \
387 ENUM_GL_ENTRYPOINTS_OPTIONAL(EnumMacro)
390#define DECLARE_GL_ENTRYPOINTS(Type,Func) extern Type OPENGLDRV_API Func;
392#undef DECLARE_GL_ENTRYPOINTS
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB
Definition WindowsOpenGLFunctions.cpp:9
#define ENUM_GL_ENTRYPOINTS_ALL(EnumMacro)
Definition WindowsOpenGLFunctions.h:384
#define DECLARE_GL_ENTRYPOINTS(Type, Func)
Definition WindowsOpenGLFunctions.h:390
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT_ProcAddress