1 : /* -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40; -*- */
2 : /* ***** BEGIN LICENSE BLOCK *****
3 : * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 : *
5 : * The contents of this file are subject to the Mozilla Public License Version
6 : * 1.1 (the "License"); you may not use this file except in compliance with
7 : * the License. You may obtain a copy of the License at
8 : * http://www.mozilla.org/MPL/
9 : *
10 : * Software distributed under the License is distributed on an "AS IS" basis,
11 : * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 : * for the specific language governing rights and limitations under the
13 : * License.
14 : *
15 : * The Original Code is mozilla.org code.
16 : *
17 : * The Initial Developer of the Original Code is
18 : * Mozilla Corporation.
19 : * Portions created by the Initial Developer are Copyright (C) 2010
20 : * the Initial Developer. All Rights Reserved.
21 : *
22 : * Contributor(s):
23 : * Vladimir Vukicevic <vladimir@pobox.com>
24 : * Benoit Jacob <bjacob@mozilla.com>
25 : *
26 : * Alternatively, the contents of this file may be used under the terms of
27 : * either the GNU General Public License Version 2 or later (the "GPL"), or
28 : * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 : * in which case the provisions of the GPL or the LGPL are applicable instead
30 : * of those above. If you wish to allow use of your version of this file only
31 : * under the terms of either the GPL or the LGPL, and not to allow others to
32 : * use your version of this file under the terms of the MPL, indicate your
33 : * decision by deleting the provisions above and replace them with the notice
34 : * and other provisions required by the GPL or the LGPL. If you do not delete
35 : * the provisions above, a recipient may use your version of this file under
36 : * the terms of any one of the MPL, the GPL or the LGPL.
37 : *
38 : * ***** END LICENSE BLOCK ***** */
39 :
40 : #ifndef GLCONTEXTSYMBOLS_H_
41 : #define GLCONTEXTSYMBOLS_H_
42 :
43 : /*
44 : * This file should only be included by GLContext.h, and should be
45 : * autogenerated in the future.
46 : */
47 :
48 : #ifndef GLAPIENTRY
49 : #ifdef XP_WIN
50 : #define GLAPIENTRY __stdcall
51 : #else
52 : #define GLAPIENTRY
53 : #endif
54 : #define GLAPI
55 : #endif
56 :
57 : namespace mozilla {
58 : namespace gl {
59 :
60 : struct GLContextSymbols
61 : {
62 0 : GLContextSymbols() {
63 0 : Zero();
64 0 : }
65 :
66 0 : void Zero() {
67 0 : memset(this, 0, sizeof(GLContextSymbols));
68 0 : }
69 :
70 : typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
71 : PFNGLACTIVETEXTUREPROC fActiveTexture;
72 : typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
73 : PFNGLATTACHSHADERPROC fAttachShader;
74 : typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name);
75 : PFNGLBINDATTRIBLOCATIONPROC fBindAttribLocation;
76 : typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
77 : PFNGLBINDBUFFERPROC fBindBuffer;
78 : typedef void (GLAPIENTRY * PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
79 : PFNGLBINDTEXTUREPROC fBindTexture;
80 : typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
81 : PFNGLBLENDCOLORPROC fBlendColor;
82 : typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
83 : PFNGLBLENDEQUATIONPROC fBlendEquation;
84 : typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum);
85 : PFNGLBLENDEQUATIONSEPARATEPROC fBlendEquationSeparate;
86 : typedef void (GLAPIENTRY * PFNGLBLENDFUNCPROC) (GLenum, GLenum);
87 : PFNGLBLENDFUNCPROC fBlendFunc;
88 : typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
89 : PFNGLBLENDFUNCSEPARATEPROC fBlendFuncSeparate;
90 : typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
91 : PFNGLBUFFERDATAPROC fBufferData;
92 : typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
93 : PFNGLBUFFERSUBDATAPROC fBufferSubData;
94 : typedef void (GLAPIENTRY * PFNGLCLEARPROC) (GLbitfield);
95 : PFNGLCLEARPROC fClear;
96 : typedef void (GLAPIENTRY * PFNGLCLEARCOLORPROC) (GLclampf, GLclampf, GLclampf, GLclampf);
97 : PFNGLCLEARCOLORPROC fClearColor;
98 : typedef void (GLAPIENTRY * PFNGLCLEARSTENCILPROC) (GLint);
99 : PFNGLCLEARSTENCILPROC fClearStencil;
100 : typedef void (GLAPIENTRY * PFNGLCOLORMASKPROC) (realGLboolean red, realGLboolean green, realGLboolean blue, realGLboolean alpha);
101 : PFNGLCOLORMASKPROC fColorMask;
102 : typedef void (GLAPIENTRY * PFNGLCULLFACEPROC) (GLenum mode);
103 : PFNGLCULLFACEPROC fCullFace;
104 : typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
105 : PFNGLDETACHSHADERPROC fDetachShader;
106 : typedef void (GLAPIENTRY * PFNGLDEPTHFUNCPROC) (GLenum);
107 : PFNGLDEPTHFUNCPROC fDepthFunc;
108 : typedef void (GLAPIENTRY * PFNGLDEPTHMASKPROC) (realGLboolean);
109 : PFNGLDEPTHMASKPROC fDepthMask;
110 : typedef void (GLAPIENTRY * PFNGLDISABLEPROC) (GLenum);
111 : PFNGLDISABLEPROC fDisable;
112 : typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
113 : PFNGLDISABLEVERTEXATTRIBARRAYPROC fDisableVertexAttribArray;
114 : typedef void (GLAPIENTRY * PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
115 : PFNGLDRAWARRAYSPROC fDrawArrays;
116 : typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
117 : PFNGLDRAWELEMENTSPROC fDrawElements;
118 : typedef void (GLAPIENTRY * PFNGLENABLEPROC) (GLenum);
119 : PFNGLENABLEPROC fEnable;
120 : typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint);
121 : PFNGLENABLEVERTEXATTRIBARRAYPROC fEnableVertexAttribArray;
122 : typedef void (GLAPIENTRY * PFNGLFINISHPROC) (void);
123 : PFNGLFINISHPROC fFinish;
124 : typedef void (GLAPIENTRY * PFNGLFLUSHPROC) (void);
125 : PFNGLFLUSHPROC fFlush;
126 : typedef void (GLAPIENTRY * PFNGLFRONTFACEPROC) (GLenum);
127 : PFNGLFRONTFACEPROC fFrontFace;
128 : typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
129 : PFNGLGETACTIVEATTRIBPROC fGetActiveAttrib;
130 : typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
131 : PFNGLGETACTIVEUNIFORMPROC fGetActiveUniform;
132 : typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
133 : PFNGLGETATTACHEDSHADERSPROC fGetAttachedShaders;
134 : typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name);
135 : PFNGLGETATTRIBLOCATIONPROC fGetAttribLocation;
136 : typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
137 : PFNGLGETINTEGERVPROC fGetIntegerv;
138 : typedef void (GLAPIENTRY * PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params);
139 : PFNGLGETFLOATVPROC fGetFloatv;
140 : typedef void (GLAPIENTRY * PFNGLGETBOOLEANBPROC) (GLenum pname, realGLboolean *params);
141 : PFNGLGETBOOLEANBPROC fGetBooleanv;
142 : typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
143 : PFNGLGETBUFFERPARAMETERIVPROC fGetBufferParameteriv;
144 : typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target);
145 : PFNGLGENERATEMIPMAPPROC fGenerateMipmap;
146 : typedef GLenum (GLAPIENTRY * PFNGLGETERRORPROC) (void);
147 : PFNGLGETERRORPROC fGetError;
148 : typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param);
149 : PFNGLGETPROGRAMIVPROC fGetProgramiv;
150 : typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
151 : PFNGLGETPROGRAMINFOLOGPROC fGetProgramInfoLog;
152 : typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
153 : PFNGLTEXPARAMETERIPROC fTexParameteri;
154 : typedef void (GLAPIENTRY * PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
155 : PFNGLTEXPARAMETERFPROC fTexParameterf;
156 : typedef GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum);
157 : PFNGLGETSTRINGPROC fGetString;
158 : typedef void (GLAPIENTRY * PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* image);
159 : PFNGLGETTEXIMAGEPROC fGetTexImage;
160 : typedef void (GLAPIENTRY * PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
161 : PFNGLGETTEXLEVELPARAMETERIVPROC fGetTexLevelParameteriv;
162 : typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
163 : PFNGLGETTEXPARAMETERFVPROC fGetTexParameterfv;
164 : typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
165 : PFNGLGETTEXPARAMETERIVPROC fGetTexParameteriv;
166 : typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params);
167 : PFNGLGETUNIFORMFVPROC fGetUniformfv;
168 : typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params);
169 : PFNGLGETUNIFORMIVPROC fGetUniformiv;
170 : typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name);
171 : PFNGLGETUNIFORMLOCATIONPROC fGetUniformLocation;
172 : typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*);
173 : PFNGLGETVERTEXATTRIBFVPROC fGetVertexAttribfv;
174 : typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*);
175 : PFNGLGETVERTEXATTRIBIVPROC fGetVertexAttribiv;
176 : typedef void (GLAPIENTRY * PFNGLHINTPROC) (GLenum target, GLenum mode);
177 : PFNGLHINTPROC fHint;
178 : typedef realGLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer);
179 : PFNGLISBUFFERPROC fIsBuffer;
180 : typedef realGLboolean (GLAPIENTRY * PFNGLISENABLEDPROC) (GLenum cap);
181 : PFNGLISENABLEDPROC fIsEnabled;
182 : typedef realGLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program);
183 : PFNGLISPROGRAMPROC fIsProgram;
184 : typedef realGLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader);
185 : PFNGLISSHADERPROC fIsShader;
186 : typedef realGLboolean (GLAPIENTRY * PFNGLISTEXTUREPROC) (GLuint texture);
187 : PFNGLISTEXTUREPROC fIsTexture;
188 : typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width);
189 : PFNGLLINEWIDTHPROC fLineWidth;
190 : typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
191 : PFNGLLINKPROGRAMPROC fLinkProgram;
192 : typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
193 : PFNGLPIXELSTOREIPROC fPixelStorei;
194 : typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias);
195 : PFNGLPOLYGONOFFSETPROC fPolygonOffset;
196 : typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum);
197 : PFNGLREADBUFFERPROC fReadBuffer;
198 : typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
199 : PFNGLREADPIXELSPROC fReadPixels;
200 : typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert);
201 : PFNGLSAMPLECOVERAGEPROC fSampleCoverage;
202 : typedef void (GLAPIENTRY * PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
203 : PFNGLSTENCILFUNCPROC fStencilFunc;
204 : typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
205 : PFNGLSTENCILFUNCSEPARATEPROC fStencilFuncSeparate;
206 : typedef void (GLAPIENTRY * PFNGLSTENCILMASKPROC) (GLuint mask);
207 : PFNGLSTENCILMASKPROC fStencilMask;
208 : typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint);
209 : PFNGLSTENCILMASKSEPARATEPROC fStencilMaskSeparate;
210 : typedef void (GLAPIENTRY * PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
211 : PFNGLSTENCILOPPROC fStencilOp;
212 : typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
213 : PFNGLSTENCILOPSEPARATEPROC fStencilOpSeparate;
214 : typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
215 : PFNGLTEXIMAGE2DPROC fTexImage2D;
216 : typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
217 : PFNGLTEXSUBIMAGE2DPROC fTexSubImage2D;
218 : typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
219 : PFNGLUNIFORM1FPROC fUniform1f;
220 : typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value);
221 : PFNGLUNIFORM1FVPROC fUniform1fv;
222 : typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
223 : PFNGLUNIFORM1IPROC fUniform1i;
224 : typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value);
225 : PFNGLUNIFORM1IVPROC fUniform1iv;
226 : typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
227 : PFNGLUNIFORM2FPROC fUniform2f;
228 : typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value);
229 : PFNGLUNIFORM2FVPROC fUniform2fv;
230 : typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
231 : PFNGLUNIFORM2IPROC fUniform2i;
232 : typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value);
233 : PFNGLUNIFORM2IVPROC fUniform2iv;
234 : typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
235 : PFNGLUNIFORM3FPROC fUniform3f;
236 : typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value);
237 : PFNGLUNIFORM3FVPROC fUniform3fv;
238 : typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
239 : PFNGLUNIFORM3IPROC fUniform3i;
240 : typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value);
241 : PFNGLUNIFORM3IVPROC fUniform3iv;
242 : typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
243 : PFNGLUNIFORM4FPROC fUniform4f;
244 : typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value);
245 : PFNGLUNIFORM4FVPROC fUniform4fv;
246 : typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
247 : PFNGLUNIFORM4IPROC fUniform4i;
248 : typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value);
249 : PFNGLUNIFORM4IVPROC fUniform4iv;
250 : typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
251 : PFNGLUNIFORMMATRIX2FVPROC fUniformMatrix2fv;
252 : typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
253 : PFNGLUNIFORMMATRIX3FVPROC fUniformMatrix3fv;
254 : typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
255 : PFNGLUNIFORMMATRIX4FVPROC fUniformMatrix4fv;
256 : typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program);
257 : PFNGLUSEPROGRAMPROC fUseProgram;
258 : typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
259 : PFNGLVALIDATEPROGRAMPROC fValidateProgram;
260 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, realGLboolean normalized, GLsizei stride, const GLvoid* pointer);
261 : PFNGLVERTEXATTRIBPOINTERPROC fVertexAttribPointer;
262 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
263 : PFNGLVERTEXATTRIB1FPROC fVertexAttrib1f;
264 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
265 : PFNGLVERTEXATTRIB2FPROC fVertexAttrib2f;
266 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
267 : PFNGLVERTEXATTRIB3FPROC fVertexAttrib3f;
268 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
269 : PFNGLVERTEXATTRIB4FPROC fVertexAttrib4f;
270 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v);
271 : PFNGLVERTEXATTRIB1FVPROC fVertexAttrib1fv;
272 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v);
273 : PFNGLVERTEXATTRIB2FVPROC fVertexAttrib2fv;
274 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v);
275 : PFNGLVERTEXATTRIB3FVPROC fVertexAttrib3fv;
276 : typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v);
277 : PFNGLVERTEXATTRIB4FVPROC fVertexAttrib4fv;
278 : typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader);
279 : PFNGLCOMPILESHADERPROC fCompileShader;
280 : typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
281 : PFNGLCOPYTEXIMAGE2DPROC fCopyTexImage2D;
282 : typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
283 : PFNGLCOPYTEXSUBIMAGE2DPROC fCopyTexSubImage2D;
284 : typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param);
285 : PFNGLGETSHADERIVPROC fGetShaderiv;
286 : typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
287 : PFNGLGETSHADERINFOLOGPROC fGetShaderInfoLog;
288 : typedef void (GLAPIENTRY * PFNGETSHADERPRECISIONFORMAT) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
289 : PFNGETSHADERPRECISIONFORMAT fGetShaderPrecisionFormat;
290 : typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source);
291 : PFNGLGETSHADERSOURCEPROC fGetShaderSource;
292 : typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths);
293 : PFNGLSHADERSOURCEPROC fShaderSource;
294 :
295 : typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFER) (GLenum target, GLuint framebuffer);
296 : PFNGLBINDFRAMEBUFFER fBindFramebuffer;
297 : typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFER) (GLenum target, GLuint renderbuffer);
298 : PFNGLBINDRENDERBUFFER fBindRenderbuffer;
299 : typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUS) (GLenum target);
300 : PFNGLCHECKFRAMEBUFFERSTATUS fCheckFramebufferStatus;
301 : typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFER) (GLenum target, GLenum attachmentPoint, GLenum renderbufferTarget, GLuint renderbuffer);
302 : PFNGLFRAMEBUFFERRENDERBUFFER fFramebufferRenderbuffer;
303 : typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2D) (GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint texture, GLint level);
304 : PFNGLFRAMEBUFFERTEXTURE2D fFramebufferTexture2D;
305 : typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV) (GLenum target, GLenum attachment, GLenum pname, GLint* value);
306 : PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV fGetFramebufferAttachmentParameteriv;
307 : typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIV) (GLenum target, GLenum pname, GLint* value);
308 : PFNGLGETRENDERBUFFERPARAMETERIV fGetRenderbufferParameteriv;
309 : typedef realGLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFER) (GLuint framebuffer);
310 : PFNGLISFRAMEBUFFER fIsFramebuffer;
311 : typedef realGLboolean (GLAPIENTRY * PFNGLISRENDERBUFFER) (GLuint renderbuffer);
312 : PFNGLISRENDERBUFFER fIsRenderbuffer;
313 : typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGE) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
314 : PFNGLRENDERBUFFERSTORAGE fRenderbufferStorage;
315 :
316 : typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFER) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
317 : PFNGLBLITFRAMEBUFFER fBlitFramebuffer;
318 : typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height);
319 : PFNGLRENDERBUFFERSTORAGEMULTISAMPLE fRenderbufferStorageMultisample;
320 :
321 :
322 : /* These are different between GLES2 and desktop GL; we hide those differences, use the GL
323 : * names, but the most limited data type.
324 : */
325 : typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf, GLclampf);
326 : PFNGLDEPTHRANGEFPROC fDepthRangef;
327 : typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf);
328 : PFNGLCLEARDEPTHFPROC fClearDepthf;
329 :
330 : typedef void (GLAPIENTRY * PFNGLDEPTHRANGEPROC) (GLclampd, GLclampd);
331 : PFNGLDEPTHRANGEPROC fDepthRange;
332 : typedef void (GLAPIENTRY * PFNGLCLEARDEPTHPROC) (GLclampd);
333 : PFNGLCLEARDEPTHPROC fClearDepth;
334 :
335 : /* These are special because we end up tracking these so that we don't
336 : * have to query the values from GL.
337 : */
338 :
339 : typedef void (GLAPIENTRY * PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
340 : PFNGLVIEWPORTPROC fViewport;
341 : typedef void (GLAPIENTRY * PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
342 : PFNGLSCISSORPROC fScissor;
343 :
344 :
345 : /* These are special -- they create or delete GL resources that can live
346 : * in a shared namespace. In DEBUG, we wrap these calls so that we can
347 : * check when we have something that failed to do cleanup at the time the
348 : * final context is destroyed.
349 : */
350 :
351 : typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void);
352 : PFNGLCREATEPROGRAMPROC fCreateProgram;
353 : typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type);
354 : PFNGLCREATESHADERPROC fCreateShader;
355 : typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers);
356 : PFNGLGENBUFFERSPROC fGenBuffers;
357 : typedef void (GLAPIENTRY * PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
358 : PFNGLGENTEXTURESPROC fGenTextures;
359 : typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERS) (GLsizei n, GLuint* ids);
360 : PFNGLGENFRAMEBUFFERS fGenFramebuffers;
361 : typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERS) (GLsizei n, GLuint* ids);
362 : PFNGLGENRENDERBUFFERS fGenRenderbuffers;
363 :
364 : typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program);
365 : PFNGLDELETEPROGRAMPROC fDeleteProgram;
366 : typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader);
367 : PFNGLDELETESHADERPROC fDeleteShader;
368 : typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers);
369 : PFNGLDELETEBUFFERSPROC fDeleteBuffers;
370 : typedef void (GLAPIENTRY * PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint* textures);
371 : PFNGLDELETETEXTURESPROC fDeleteTextures;
372 : typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERS) (GLsizei n, const GLuint* ids);
373 : PFNGLDELETEFRAMEBUFFERS fDeleteFramebuffers;
374 : typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERS) (GLsizei n, const GLuint* ids);
375 : PFNGLDELETERENDERBUFFERS fDeleteRenderbuffers;
376 :
377 : typedef void* (GLAPIENTRY * PFNGLMAPBUFFER) (GLenum target, GLenum access);
378 : PFNGLMAPBUFFER fMapBuffer;
379 : typedef realGLboolean (GLAPIENTRY * PFNGLUNMAPBUFFER) (GLenum target);
380 : PFNGLUNMAPBUFFER fUnmapBuffer;
381 :
382 : typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUS) (void);
383 : PFNGLGETGRAPHICSRESETSTATUS fGetGraphicsResetStatus;
384 : };
385 :
386 : }
387 : }
388 :
389 : #endif /* GLCONTEXTSYMBOLS_H_ */
|