Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
[gecko.git] / gfx / gl / GLContextSymbols.h
blobac74f32e14dbb2e3366a595ee60a1e677d77d6e9
1 /* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 4; -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef GLCONTEXTSYMBOLS_H_
7 #define GLCONTEXTSYMBOLS_H_
9 #include "GLDefs.h"
12 * This file should only be included by GLContext.h, and should be
13 * autogenerated in the future.
16 #ifndef GLAPIENTRY
17 # ifdef XP_WIN
18 # define GLAPIENTRY __stdcall
19 # else
20 # define GLAPIENTRY
21 # endif
22 # define GLAPI
23 #endif
25 namespace mozilla {
26 namespace gl {
28 struct GLContextSymbols final {
29 void(GLAPIENTRY* fActiveTexture)(GLenum);
30 void(GLAPIENTRY* fAttachShader)(GLuint, GLuint);
31 void(GLAPIENTRY* fBeginQuery)(GLenum, GLuint);
32 void(GLAPIENTRY* fBindAttribLocation)(GLuint, GLuint, const GLchar*);
33 void(GLAPIENTRY* fBindBuffer)(GLenum, GLuint);
34 void(GLAPIENTRY* fBindTexture)(GLenum, GLuint);
35 void(GLAPIENTRY* fBindVertexArray)(GLuint);
36 void(GLAPIENTRY* fBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat);
37 void(GLAPIENTRY* fBlendEquation)(GLenum);
38 void(GLAPIENTRY* fBlendEquationSeparate)(GLenum, GLenum);
39 void(GLAPIENTRY* fBlendFunc)(GLenum, GLenum);
40 void(GLAPIENTRY* fBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
41 void(GLAPIENTRY* fBufferData)(GLenum, GLsizeiptr, const GLvoid*, GLenum);
42 void(GLAPIENTRY* fBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid*);
44 void(GLAPIENTRY* fClear)(GLbitfield);
45 void(GLAPIENTRY* fClearBufferfi)(GLenum, GLint, GLfloat, GLint);
46 void(GLAPIENTRY* fClearBufferfv)(GLenum, GLint, const GLfloat*);
47 void(GLAPIENTRY* fClearBufferiv)(GLenum, GLint, const GLint*);
48 void(GLAPIENTRY* fClearBufferuiv)(GLenum, GLint, const GLuint*);
49 void(GLAPIENTRY* fClearColor)(GLfloat, GLfloat, GLfloat, GLfloat);
50 void(GLAPIENTRY* fClearStencil)(GLint);
51 void(GLAPIENTRY* fColorMask)(realGLboolean, realGLboolean, realGLboolean,
52 realGLboolean);
53 void(GLAPIENTRY* fCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei,
54 GLsizei, GLint, GLsizei,
55 const GLvoid*);
56 void(GLAPIENTRY* fCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint,
57 GLsizei, GLsizei, GLenum, GLsizei,
58 const GLvoid*);
59 void(GLAPIENTRY* fCullFace)(GLenum);
60 void(GLAPIENTRY* fDetachShader)(GLuint, GLuint);
61 void(GLAPIENTRY* fDepthFunc)(GLenum);
62 void(GLAPIENTRY* fDepthMask)(realGLboolean);
63 void(GLAPIENTRY* fDisable)(GLenum);
64 void(GLAPIENTRY* fDisableVertexAttribArray)(GLuint);
65 void(GLAPIENTRY* fDrawArrays)(GLenum, GLint, GLsizei);
66 void(GLAPIENTRY* fDrawBuffer)(GLenum);
67 void(GLAPIENTRY* fDrawBuffers)(GLsizei, const GLenum*);
68 void(GLAPIENTRY* fDrawElements)(GLenum, GLsizei, GLenum, const GLvoid*);
69 void(GLAPIENTRY* fEnable)(GLenum);
70 void(GLAPIENTRY* fEnableVertexAttribArray)(GLuint);
71 void(GLAPIENTRY* fFinish)(void);
72 void(GLAPIENTRY* fEndQuery)(GLenum);
73 void(GLAPIENTRY* fFlush)(void);
74 void(GLAPIENTRY* fFrontFace)(GLenum);
75 void(GLAPIENTRY* fGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei*, GLint*,
76 GLenum*, GLchar*);
77 void(GLAPIENTRY* fGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei*, GLint*,
78 GLenum*, GLchar*);
79 void(GLAPIENTRY* fGetAttachedShaders)(GLuint, GLsizei, GLsizei*, GLuint*);
80 GLint(GLAPIENTRY* fGetAttribLocation)(GLuint, const GLchar*);
81 void(GLAPIENTRY* fGetIntegerv)(GLenum, GLint*);
82 void(GLAPIENTRY* fGetFloatv)(GLenum, GLfloat*);
83 void(GLAPIENTRY* fGetBooleanv)(GLenum, realGLboolean*);
84 void(GLAPIENTRY* fGetBufferParameteriv)(GLenum, GLenum, GLint*);
85 void(GLAPIENTRY* fGenerateMipmap)(GLenum);
86 GLenum(GLAPIENTRY* fGetError)(void);
87 void(GLAPIENTRY* fGetProgramiv)(GLuint, GLenum, GLint*);
88 void(GLAPIENTRY* fGetProgramInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*);
89 void(GLAPIENTRY* fGetQueryiv)(GLenum, GLenum, GLint*);
90 void(GLAPIENTRY* fGetQueryObjectiv)(GLuint, GLenum, GLint*);
91 void(GLAPIENTRY* fGetQueryObjectuiv)(GLuint, GLenum, GLuint*);
92 void(GLAPIENTRY* fGetQueryObjecti64v)(GLuint, GLenum, GLint64*);
93 void(GLAPIENTRY* fGetQueryObjectui64v)(GLuint, GLenum, GLuint64*);
94 void(GLAPIENTRY* fQueryCounter)(GLuint, GLenum);
95 void(GLAPIENTRY* fTexParameteri)(GLenum, GLenum, GLint);
96 void(GLAPIENTRY* fTexParameteriv)(GLenum, GLenum, const GLint*);
97 void(GLAPIENTRY* fTexParameterf)(GLenum, GLenum, GLfloat);
98 GLubyte*(GLAPIENTRY* fGetString)(GLenum);
99 void(GLAPIENTRY* fGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid*);
100 void(GLAPIENTRY* fGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint*);
101 void(GLAPIENTRY* fGetTexParameterfv)(GLenum, GLenum, GLfloat*);
102 void(GLAPIENTRY* fGetTexParameteriv)(GLenum, GLenum, GLint*);
103 void(GLAPIENTRY* fGetUniformfv)(GLuint, GLint, GLfloat*);
104 void(GLAPIENTRY* fGetUniformiv)(GLuint, GLint, GLint*);
105 void(GLAPIENTRY* fGetUniformuiv)(GLuint, GLint, GLuint*);
106 GLint(GLAPIENTRY* fGetUniformLocation)(GLuint, const GLchar*);
107 void(GLAPIENTRY* fGetVertexAttribfv)(GLuint, GLenum, GLfloat*);
108 void(GLAPIENTRY* fGetVertexAttribiv)(GLuint, GLenum, GLint*);
109 void(GLAPIENTRY* fGetVertexAttribPointerv)(GLuint, GLenum, GLvoid**);
110 void(GLAPIENTRY* fHint)(GLenum, GLenum);
111 realGLboolean(GLAPIENTRY* fIsBuffer)(GLuint);
112 realGLboolean(GLAPIENTRY* fIsEnabled)(GLenum);
113 realGLboolean(GLAPIENTRY* fIsProgram)(GLuint);
114 realGLboolean(GLAPIENTRY* fIsQuery)(GLuint);
115 realGLboolean(GLAPIENTRY* fIsShader)(GLuint);
116 realGLboolean(GLAPIENTRY* fIsTexture)(GLuint);
117 void(GLAPIENTRY* fLineWidth)(GLfloat);
118 void(GLAPIENTRY* fLinkProgram)(GLuint);
119 void(GLAPIENTRY* fPixelStorei)(GLenum, GLint);
120 void(GLAPIENTRY* fPointParameterf)(GLenum, GLfloat);
121 void(GLAPIENTRY* fPolygonMode)(GLenum, GLenum);
122 void(GLAPIENTRY* fPolygonOffset)(GLfloat, GLfloat);
123 void(GLAPIENTRY* fReadBuffer)(GLenum);
124 void(GLAPIENTRY* fReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum,
125 GLvoid*);
126 void(GLAPIENTRY* fSampleCoverage)(GLclampf, realGLboolean);
127 void(GLAPIENTRY* fStencilFunc)(GLenum, GLint, GLuint);
128 void(GLAPIENTRY* fStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint);
129 void(GLAPIENTRY* fStencilMask)(GLuint);
130 void(GLAPIENTRY* fStencilMaskSeparate)(GLenum, GLuint);
131 void(GLAPIENTRY* fStencilOp)(GLenum, GLenum, GLenum);
132 void(GLAPIENTRY* fStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum);
133 void(GLAPIENTRY* fTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint,
134 GLenum, GLenum, const GLvoid*);
135 void(GLAPIENTRY* fTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei,
136 GLsizei, GLenum, GLenum, const void*);
137 void(GLAPIENTRY* fTextureRangeAPPLE)(GLenum, GLsizei, GLvoid*);
138 void(GLAPIENTRY* fFinishObjectAPPLE)(GLenum, GLint);
139 realGLboolean(GLAPIENTRY* fTestObjectAPPLE)(GLenum, GLint);
140 void(GLAPIENTRY* fUniform1f)(GLint, GLfloat);
141 void(GLAPIENTRY* fUniform1fv)(GLint, GLsizei, const GLfloat*);
142 void(GLAPIENTRY* fUniform1i)(GLint, GLint);
143 void(GLAPIENTRY* fUniform1iv)(GLint, GLsizei, const GLint*);
144 void(GLAPIENTRY* fUniform2f)(GLint, GLfloat, GLfloat);
145 void(GLAPIENTRY* fUniform2fv)(GLint, GLsizei, const GLfloat*);
146 void(GLAPIENTRY* fUniform2i)(GLint, GLint, GLint);
147 void(GLAPIENTRY* fUniform2iv)(GLint, GLsizei, const GLint*);
148 void(GLAPIENTRY* fUniform3f)(GLint, GLfloat, GLfloat, GLfloat);
149 void(GLAPIENTRY* fUniform3fv)(GLint, GLsizei, const GLfloat*);
150 void(GLAPIENTRY* fUniform3i)(GLint, GLint, GLint, GLint);
151 void(GLAPIENTRY* fUniform3iv)(GLint, GLsizei, const GLint*);
152 void(GLAPIENTRY* fUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
153 void(GLAPIENTRY* fUniform4fv)(GLint, GLsizei, const GLfloat*);
154 void(GLAPIENTRY* fUniform4i)(GLint, GLint, GLint, GLint, GLint);
155 void(GLAPIENTRY* fUniform4iv)(GLint, GLsizei, const GLint*);
156 void(GLAPIENTRY* fUniformMatrix2fv)(GLint, GLsizei, realGLboolean,
157 const GLfloat*);
158 void(GLAPIENTRY* fUniformMatrix2x3fv)(GLint, GLsizei, realGLboolean,
159 const GLfloat*);
160 void(GLAPIENTRY* fUniformMatrix2x4fv)(GLint, GLsizei, realGLboolean,
161 const GLfloat*);
162 void(GLAPIENTRY* fUniformMatrix3fv)(GLint, GLsizei, realGLboolean,
163 const GLfloat*);
164 void(GLAPIENTRY* fUniformMatrix3x2fv)(GLint, GLsizei, realGLboolean,
165 const GLfloat*);
166 void(GLAPIENTRY* fUniformMatrix3x4fv)(GLint, GLsizei, realGLboolean,
167 const GLfloat*);
168 void(GLAPIENTRY* fUniformMatrix4fv)(GLint, GLsizei, realGLboolean,
169 const GLfloat*);
170 void(GLAPIENTRY* fUniformMatrix4x2fv)(GLint, GLsizei, realGLboolean,
171 const GLfloat*);
172 void(GLAPIENTRY* fUniformMatrix4x3fv)(GLint, GLsizei, realGLboolean,
173 const GLfloat*);
175 void(GLAPIENTRY* fUseProgram)(GLuint);
176 void(GLAPIENTRY* fValidateProgram)(GLuint);
177 void(GLAPIENTRY* fVertexAttribPointer)(GLuint, GLint, GLenum, realGLboolean,
178 GLsizei, const GLvoid*);
179 void(GLAPIENTRY* fVertexAttrib1f)(GLuint, GLfloat);
180 void(GLAPIENTRY* fVertexAttrib2f)(GLuint, GLfloat, GLfloat);
181 void(GLAPIENTRY* fVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat);
182 void(GLAPIENTRY* fVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
183 void(GLAPIENTRY* fVertexAttrib1fv)(GLuint, const GLfloat*);
184 void(GLAPIENTRY* fVertexAttrib2fv)(GLuint, const GLfloat*);
185 void(GLAPIENTRY* fVertexAttrib3fv)(GLuint, const GLfloat*);
186 void(GLAPIENTRY* fVertexAttrib4fv)(GLuint, const GLfloat*);
187 void(GLAPIENTRY* fCompileShader)(GLuint);
188 void(GLAPIENTRY* fCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint,
189 GLsizei, GLsizei, GLint);
190 void(GLAPIENTRY* fCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint,
191 GLint, GLsizei, GLsizei);
192 void(GLAPIENTRY* fGetShaderiv)(GLuint, GLenum, GLint*);
193 void(GLAPIENTRY* fGetShaderInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*);
194 void(GLAPIENTRY* fGetShaderPrecisionFormat)(GLenum, GLenum, GLint*, GLint*);
195 void(GLAPIENTRY* fGetShaderSource)(GLint, GLsizei, GLsizei*, GLchar*);
196 void(GLAPIENTRY* fShaderSource)(GLuint, GLsizei, const GLchar* const*,
197 const GLint*);
199 void(GLAPIENTRY* fBindFramebuffer)(GLenum, GLuint);
200 void(GLAPIENTRY* fBindRenderbuffer)(GLenum, GLuint);
201 GLenum(GLAPIENTRY* fCheckFramebufferStatus)(GLenum);
202 void(GLAPIENTRY* fFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
203 void(GLAPIENTRY* fFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint,
204 GLint);
205 void(GLAPIENTRY* fFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint,
206 GLint);
207 void(GLAPIENTRY* fGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum,
208 GLint*);
209 void(GLAPIENTRY* fGetRenderbufferParameteriv)(GLenum, GLenum, GLint*);
210 realGLboolean(GLAPIENTRY* fIsFramebuffer)(GLuint);
211 realGLboolean(GLAPIENTRY* fIsRenderbuffer)(GLuint);
212 realGLboolean(GLAPIENTRY* fIsVertexArray)(GLuint);
213 void(GLAPIENTRY* fRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
215 void(GLAPIENTRY* fInvalidateFramebuffer)(GLenum, GLsizei, const GLenum*);
216 void(GLAPIENTRY* fInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum*,
217 GLint, GLint, GLsizei, GLsizei);
219 // These functions are only used by Skia/GL in desktop mode.
220 // Other parts of Gecko should avoid using these
221 void(GLAPIENTRY* fClientActiveTexture)(GLenum);
222 void(GLAPIENTRY* fDisableClientState)(GLenum);
223 void(GLAPIENTRY* fEnableClientState)(GLenum);
224 void(GLAPIENTRY* fLoadIdentity)(void);
225 void(GLAPIENTRY* fLoadMatrixd)(const GLdouble*);
226 void(GLAPIENTRY* fLoadMatrixf)(const GLfloat*);
227 void(GLAPIENTRY* fMatrixMode)(GLenum);
228 void(GLAPIENTRY* fTexGeni)(GLenum, GLenum, GLint);
229 void(GLAPIENTRY* fTexGenf)(GLenum, GLenum, GLfloat);
230 void(GLAPIENTRY* fTexGenfv)(GLenum, GLenum, const GLfloat*);
231 void(GLAPIENTRY* fVertexPointer)(GLint, GLenum, GLsizei, const GLvoid*);
233 void(GLAPIENTRY* fBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint,
234 GLint, GLint, GLbitfield, GLenum);
235 void(GLAPIENTRY* fRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum,
236 GLsizei, GLsizei);
238 /* These are different between GLES2 and desktop GL; we hide those
239 * differences, use the GL names, but the most limited data type.
241 void(GLAPIENTRY* fDepthRangef)(GLclampf, GLclampf);
242 void(GLAPIENTRY* fClearDepthf)(GLclampf);
244 void(GLAPIENTRY* fDepthRange)(GLclampd, GLclampd);
245 void(GLAPIENTRY* fClearDepth)(GLclampd);
247 /* These are special because we end up tracking these so that we don't
248 * have to query the values from GL.
251 void(GLAPIENTRY* fViewport)(GLint, GLint, GLsizei, GLsizei);
252 void(GLAPIENTRY* fScissor)(GLint, GLint, GLsizei, GLsizei);
254 /* These are special -- they create or delete GL resources that can live
255 * in a shared namespace. In DEBUG, we wrap these calls so that we can
256 * check when we have something that failed to do cleanup at the time the
257 * final context is destroyed.
260 GLuint(GLAPIENTRY* fCreateProgram)();
261 GLuint(GLAPIENTRY* fCreateShader)(GLenum);
262 void(GLAPIENTRY* fGenBuffers)(GLsizei, GLuint*);
263 void(GLAPIENTRY* fGenQueries)(GLsizei, GLuint*);
264 void(GLAPIENTRY* fGenTextures)(GLsizei, GLuint*);
265 void(GLAPIENTRY* fGenFramebuffers)(GLsizei, GLuint*);
266 void(GLAPIENTRY* fGenRenderbuffers)(GLsizei, GLuint*);
267 void(GLAPIENTRY* fGenVertexArrays)(GLsizei, GLuint*);
269 void(GLAPIENTRY* fDeleteProgram)(GLuint);
270 void(GLAPIENTRY* fDeleteShader)(GLuint);
271 void(GLAPIENTRY* fDeleteBuffers)(GLsizei, const GLuint*);
272 void(GLAPIENTRY* fDeleteQueries)(GLsizei, const GLuint*);
273 void(GLAPIENTRY* fDeleteTextures)(GLsizei, const GLuint*);
274 void(GLAPIENTRY* fDeleteFramebuffers)(GLsizei, const GLuint*);
275 void(GLAPIENTRY* fDeleteRenderbuffers)(GLsizei, const GLuint*);
276 void(GLAPIENTRY* fDeleteVertexArrays)(GLsizei, const GLuint*);
278 void*(GLAPIENTRY* fMapBuffer)(GLenum, GLenum);
279 realGLboolean(GLAPIENTRY* fUnmapBuffer)(GLenum);
281 // ARB_copy_buffer / OpenGL 3.1 / OpenGL ES 3.0
282 void(GLAPIENTRY* fCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr,
283 GLsizeiptr);
285 GLenum(GLAPIENTRY* fGetGraphicsResetStatus)();
287 // ARB_sync
288 GLsync(GLAPIENTRY* fFenceSync)(GLenum, GLbitfield);
289 realGLboolean(GLAPIENTRY* fIsSync)(GLsync);
290 void(GLAPIENTRY* fDeleteSync)(GLsync);
291 GLenum(GLAPIENTRY* fClientWaitSync)(GLsync, GLbitfield, GLuint64);
292 void(GLAPIENTRY* fWaitSync)(GLsync, GLbitfield, GLuint64);
293 void(GLAPIENTRY* fGetInteger64v)(GLenum, GLint64*);
294 void(GLAPIENTRY* fGetSynciv)(GLsync, GLenum, GLsizei, GLsizei*, GLint*);
296 // OES_egl_image
297 void(GLAPIENTRY* fEGLImageTargetTexture2D)(GLenum, GLeglImage);
298 void(GLAPIENTRY* fEGLImageTargetRenderbufferStorage)(GLenum, GLeglImage);
300 // ARB_draw_instanced
301 void(GLAPIENTRY* fDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei);
302 void(GLAPIENTRY* fDrawElementsInstanced)(GLenum, GLsizei, GLenum,
303 const GLvoid*, GLsizei);
305 // ARB_instanced_array
306 void(GLAPIENTRY* fVertexAttribDivisor)(GLuint, GLuint);
308 // ARB_internalformat_query
309 void(GLAPIENTRY* fGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei,
310 GLint*);
312 // ARB_transform_feedback2 / OpenGL 4.0 / OpenGL ES 3.0
313 void(GLAPIENTRY* fBindBufferBase)(GLenum, GLuint, GLuint);
314 void(GLAPIENTRY* fBindBufferRange)(GLenum, GLuint, GLuint, GLintptr,
315 GLsizeiptr);
317 void(GLAPIENTRY* fGenTransformFeedbacks)(GLsizei, GLuint*);
318 void(GLAPIENTRY* fDeleteTransformFeedbacks)(GLsizei, const GLuint*);
319 realGLboolean(GLAPIENTRY* fIsTransformFeedback)(GLuint);
320 void(GLAPIENTRY* fBindTransformFeedback)(GLenum, GLuint);
321 void(GLAPIENTRY* fTransformFeedbackVaryings)(GLuint, GLsizei,
322 const GLchar* const*, GLenum);
323 void(GLAPIENTRY* fGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei,
324 GLsizei*, GLsizei*, GLenum*,
325 GLchar*);
326 void(GLAPIENTRY* fBeginTransformFeedback)(GLenum);
327 void(GLAPIENTRY* fEndTransformFeedback)(void);
328 void(GLAPIENTRY* fPauseTransformFeedback)(void);
329 void(GLAPIENTRY* fResumeTransformFeedback)(void);
331 void(GLAPIENTRY* fGetIntegeri_v)(GLenum, GLuint, GLint*);
332 void(GLAPIENTRY* fGetInteger64i_v)(GLenum, GLuint, GLint64*);
334 // EXT_transform_feedback only
335 void(GLAPIENTRY* fBindBufferOffset)(GLenum, GLuint, GLuint, GLintptr);
337 // KHR_debug
338 void(GLAPIENTRY* fDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei,
339 const GLuint*, realGLboolean);
340 void(GLAPIENTRY* fDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei,
341 const GLchar*);
342 void(GLAPIENTRY* fDebugMessageCallback)(GLDEBUGPROC, const GLvoid*);
343 GLuint(GLAPIENTRY* fGetDebugMessageLog)(GLuint, GLsizei, GLenum*, GLenum*,
344 GLuint*, GLenum*, GLsizei*, GLchar*);
345 void(GLAPIENTRY* fGetPointerv)(GLenum, GLvoid**);
346 void(GLAPIENTRY* fPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar*);
347 void(GLAPIENTRY* fPopDebugGroup)(void);
348 void(GLAPIENTRY* fObjectLabel)(GLenum, GLuint, GLsizei, const GLchar*);
349 void(GLAPIENTRY* fGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
350 void(GLAPIENTRY* fObjectPtrLabel)(const GLvoid*, GLsizei, const GLchar*);
351 void(GLAPIENTRY* fGetObjectPtrLabel)(const GLvoid*, GLsizei, GLsizei*,
352 GLchar*);
354 // NV_fence
355 void(GLAPIENTRY* fGenFences)(GLsizei, GLuint*);
356 void(GLAPIENTRY* fDeleteFences)(GLsizei, const GLuint*);
357 void(GLAPIENTRY* fSetFence)(GLuint, GLenum);
358 realGLboolean(GLAPIENTRY* fTestFence)(GLuint);
359 void(GLAPIENTRY* fFinishFence)(GLuint);
360 realGLboolean(GLAPIENTRY* fIsFence)(GLuint);
361 void(GLAPIENTRY* fGetFenceiv)(GLuint, GLenum, GLint*);
363 // map_buffer_range
364 void*(GLAPIENTRY* fMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
365 void(GLAPIENTRY* fFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
367 // sampler_object
368 void(GLAPIENTRY* fGenSamplers)(GLsizei, GLuint*);
369 void(GLAPIENTRY* fDeleteSamplers)(GLsizei, const GLuint*);
370 realGLboolean(GLAPIENTRY* fIsSampler)(GLuint);
371 void(GLAPIENTRY* fBindSampler)(GLuint, GLuint);
372 void(GLAPIENTRY* fSamplerParameteri)(GLuint, GLenum, GLint);
373 void(GLAPIENTRY* fSamplerParameteriv)(GLuint, GLenum, const GLint*);
374 void(GLAPIENTRY* fSamplerParameterf)(GLuint, GLenum, GLfloat);
375 void(GLAPIENTRY* fSamplerParameterfv)(GLuint, GLenum, const GLfloat*);
376 void(GLAPIENTRY* fGetSamplerParameteriv)(GLuint, GLenum, GLint*);
377 void(GLAPIENTRY* fGetSamplerParameterfv)(GLuint, GLenum, GLfloat*);
379 // texture_storage
380 void(GLAPIENTRY* fTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
381 void(GLAPIENTRY* fTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei,
382 GLsizei);
384 // uniform_buffer_object
385 void(GLAPIENTRY* fGetUniformIndices)(GLuint, GLsizei, const GLchar* const*,
386 GLuint*);
387 void(GLAPIENTRY* fGetActiveUniformsiv)(GLuint, GLsizei, const GLuint*, GLenum,
388 GLint*);
389 GLuint(GLAPIENTRY* fGetUniformBlockIndex)(GLuint, const GLchar*);
390 void(GLAPIENTRY* fGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint*);
391 void(GLAPIENTRY* fGetActiveUniformBlockName)(GLuint, GLuint, GLsizei,
392 GLsizei*, GLchar*);
393 void(GLAPIENTRY* fUniformBlockBinding)(GLuint, GLuint, GLuint);
395 // EXT_gpu_shader4
396 void(GLAPIENTRY* fGetVertexAttribIiv)(GLuint, GLenum, GLint*);
397 void(GLAPIENTRY* fGetVertexAttribIuiv)(GLuint, GLenum, GLuint*);
398 void(GLAPIENTRY* fVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint);
399 void(GLAPIENTRY* fVertexAttribI4iv)(GLuint, const GLint*);
400 void(GLAPIENTRY* fVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint);
401 void(GLAPIENTRY* fVertexAttribI4uiv)(GLuint, const GLuint*);
402 void(GLAPIENTRY* fVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei,
403 const GLvoid*);
404 void(GLAPIENTRY* fUniform1ui)(GLint, GLuint);
405 void(GLAPIENTRY* fUniform2ui)(GLint, GLuint, GLuint);
406 void(GLAPIENTRY* fUniform3ui)(GLint, GLuint, GLuint, GLuint);
407 void(GLAPIENTRY* fUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
408 void(GLAPIENTRY* fUniform1uiv)(GLint, GLsizei, const GLuint*);
409 void(GLAPIENTRY* fUniform2uiv)(GLint, GLsizei, const GLuint*);
410 void(GLAPIENTRY* fUniform3uiv)(GLint, GLsizei, const GLuint*);
411 void(GLAPIENTRY* fUniform4uiv)(GLint, GLsizei, const GLuint*);
412 GLint(GLAPIENTRY* fGetFragDataLocation)(GLuint, const GLchar*);
414 // 3D Textures
415 void(GLAPIENTRY* fTexImage3D)(GLenum, GLint, GLenum, GLenum, GLsizei, GLsizei,
416 GLint, GLenum, GLenum, const GLvoid*);
418 void(GLAPIENTRY* fTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei,
419 GLsizei, GLsizei, GLenum, GLenum,
420 const GLvoid*);
422 void(GLAPIENTRY* fCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint,
423 GLint, GLint, GLsizei, GLsizei);
425 void(GLAPIENTRY* fCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei,
426 GLsizei, GLsizei, GLint, GLsizei,
427 const GLvoid*);
429 void(GLAPIENTRY* fCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint,
430 GLsizei, GLsizei, GLsizei, GLenum,
431 GLsizei, const GLvoid*);
433 // get_string_indexed
434 const GLubyte*(GLAPIENTRY* fGetStringi)(GLenum, GLuint);
436 // APPLE_framebuffer_multisample
437 void(GLAPIENTRY* fResolveMultisampleFramebufferAPPLE)(void);
439 // NV_texture_barrier
440 void(GLAPIENTRY* fTextureBarrier)(void);
442 // NV_primitive_restart
443 void(GLAPIENTRY* fPrimitiveRestartIndex)(GLuint);
445 // OVR_multiview2
446 void(GLAPIENTRY* fFramebufferTextureMultiview)(GLenum target,
447 GLenum attachment,
448 GLuint texture, GLint level,
449 GLint baseViewIndex,
450 GLsizei numViews);
452 // draw_buffers_indexed
453 void(GLAPIENTRY* fBlendEquationSeparatei)(GLuint, GLenum, GLenum);
454 void(GLAPIENTRY* fBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum);
455 void(GLAPIENTRY* fColorMaski)(GLuint, realGLboolean, realGLboolean,
456 realGLboolean, realGLboolean);
457 void(GLAPIENTRY* fDisablei)(GLenum, GLuint);
458 void(GLAPIENTRY* fEnablei)(GLenum, GLuint);
460 // provoking_vertex
461 void(GLAPIENTRY* fProvokingVertex)(GLenum);
464 } // namespace gl
465 } // namespace mozilla
467 #endif /* GLCONTEXTSYMBOLS_H_ */