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