Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
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/. */
6 #ifndef GLCONTEXTSYMBOLS_H_
7 #define GLCONTEXTSYMBOLS_H_
9 #include "GLDefs.h"
11 /*
12 * This file should only be included by GLContext.h, and should be
13 * autogenerated in the future.
14 */
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
29 {
30 GLContextSymbols() {
31 Zero();
32 }
34 void Zero() {
35 memset(this, 0, sizeof(GLContextSymbols));
36 }
38 typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
39 PFNGLACTIVETEXTUREPROC fActiveTexture;
40 typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
41 PFNGLATTACHSHADERPROC fAttachShader;
42 typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
43 PFNGLBEGINQUERYPROC fBeginQuery;
44 typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name);
45 PFNGLBINDATTRIBLOCATIONPROC fBindAttribLocation;
46 typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
47 PFNGLBINDBUFFERPROC fBindBuffer;
48 typedef void (GLAPIENTRY * PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
49 PFNGLBINDTEXTUREPROC fBindTexture;
50 typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array);
51 PFNGLBINDVERTEXARRAYPROC fBindVertexArray;
52 typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
53 PFNGLBLENDCOLORPROC fBlendColor;
54 typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
55 PFNGLBLENDEQUATIONPROC fBlendEquation;
56 typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum);
57 PFNGLBLENDEQUATIONSEPARATEPROC fBlendEquationSeparate;
58 typedef void (GLAPIENTRY * PFNGLBLENDFUNCPROC) (GLenum, GLenum);
59 PFNGLBLENDFUNCPROC fBlendFunc;
60 typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
61 PFNGLBLENDFUNCSEPARATEPROC fBlendFuncSeparate;
62 typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
63 PFNGLBUFFERDATAPROC fBufferData;
64 typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
65 PFNGLBUFFERSUBDATAPROC fBufferSubData;
66 typedef void (GLAPIENTRY * PFNGLCLEARPROC) (GLbitfield);
67 PFNGLCLEARPROC fClear;
68 typedef void (GLAPIENTRY * PFNGLCLEARCOLORPROC) (GLclampf, GLclampf, GLclampf, GLclampf);
69 PFNGLCLEARCOLORPROC fClearColor;
70 typedef void (GLAPIENTRY * PFNGLCLEARSTENCILPROC) (GLint);
71 PFNGLCLEARSTENCILPROC fClearStencil;
72 typedef void (GLAPIENTRY * PFNGLCOLORMASKPROC) (realGLboolean red, realGLboolean green, realGLboolean blue, realGLboolean alpha);
73 PFNGLCOLORMASKPROC fColorMask;
74 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *pixels);
75 PFNGLCOMPRESSEDTEXIMAGE2D fCompressedTexImage2D;
76 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *pixels);
77 PFNGLCOMPRESSEDTEXSUBIMAGE2D fCompressedTexSubImage2D;
78 typedef void (GLAPIENTRY * PFNGLCULLFACEPROC) (GLenum mode);
79 PFNGLCULLFACEPROC fCullFace;
80 typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
81 PFNGLDETACHSHADERPROC fDetachShader;
82 typedef void (GLAPIENTRY * PFNGLDEPTHFUNCPROC) (GLenum);
83 PFNGLDEPTHFUNCPROC fDepthFunc;
84 typedef void (GLAPIENTRY * PFNGLDEPTHMASKPROC) (realGLboolean);
85 PFNGLDEPTHMASKPROC fDepthMask;
86 typedef void (GLAPIENTRY * PFNGLDISABLEPROC) (GLenum);
87 PFNGLDISABLEPROC fDisable;
88 typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
89 PFNGLDISABLEVERTEXATTRIBARRAYPROC fDisableVertexAttribArray;
90 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
91 PFNGLDRAWARRAYSPROC fDrawArrays;
92 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERPROC) (GLenum mode);
93 PFNGLDRAWBUFFERPROC fDrawBuffer;
94 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs);
95 PFNGLDRAWBUFFERSPROC fDrawBuffers;
96 typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
97 PFNGLDRAWELEMENTSPROC fDrawElements;
98 typedef void (GLAPIENTRY * PFNGLENABLEPROC) (GLenum);
99 PFNGLENABLEPROC fEnable;
100 typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint);
101 PFNGLENABLEVERTEXATTRIBARRAYPROC fEnableVertexAttribArray;
102 typedef void (GLAPIENTRY * PFNGLFINISHPROC) (void);
103 PFNGLFINISHPROC fFinish;
104 typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target);
105 PFNGLENDQUERYPROC fEndQuery;
106 typedef void (GLAPIENTRY * PFNGLFLUSHPROC) (void);
107 PFNGLFLUSHPROC fFlush;
108 typedef void (GLAPIENTRY * PFNGLFRONTFACEPROC) (GLenum);
109 PFNGLFRONTFACEPROC fFrontFace;
110 typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
111 PFNGLGETACTIVEATTRIBPROC fGetActiveAttrib;
112 typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
113 PFNGLGETACTIVEUNIFORMPROC fGetActiveUniform;
114 typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
115 PFNGLGETATTACHEDSHADERSPROC fGetAttachedShaders;
116 typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name);
117 PFNGLGETATTRIBLOCATIONPROC fGetAttribLocation;
118 typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
119 PFNGLGETINTEGERVPROC fGetIntegerv;
120 typedef void (GLAPIENTRY * PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params);
121 PFNGLGETFLOATVPROC fGetFloatv;
122 typedef void (GLAPIENTRY * PFNGLGETBOOLEANBPROC) (GLenum pname, realGLboolean *params);
123 PFNGLGETBOOLEANBPROC fGetBooleanv;
124 typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
125 PFNGLGETBUFFERPARAMETERIVPROC fGetBufferParameteriv;
126 typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target);
127 PFNGLGENERATEMIPMAPPROC fGenerateMipmap;
128 typedef GLenum (GLAPIENTRY * PFNGLGETERRORPROC) (void);
129 PFNGLGETERRORPROC fGetError;
130 typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param);
131 PFNGLGETPROGRAMIVPROC fGetProgramiv;
132 typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
133 PFNGLGETPROGRAMINFOLOGPROC fGetProgramInfoLog;
134 typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params);
135 PFNGLGETQUERYIVPROC fGetQueryiv;
136 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params);
137 PFNGLGETQUERYOBJECTIVPROC fGetQueryObjectiv;
138 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
139 PFNGLGETQUERYOBJECTUIVPROC fGetQueryObjectuiv;
140 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
141 PFNGLTEXPARAMETERIPROC fTexParameteri;
142 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint* param);
143 PFNGLTEXPARAMETERIVPROC fTexParameteriv;
144 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
145 PFNGLTEXPARAMETERFPROC fTexParameterf;
146 typedef GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum);
147 PFNGLGETSTRINGPROC fGetString;
148 typedef void (GLAPIENTRY * PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* image);
149 PFNGLGETTEXIMAGEPROC fGetTexImage;
150 typedef void (GLAPIENTRY * PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
151 PFNGLGETTEXLEVELPARAMETERIVPROC fGetTexLevelParameteriv;
152 typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
153 PFNGLGETTEXPARAMETERFVPROC fGetTexParameterfv;
154 typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
155 PFNGLGETTEXPARAMETERIVPROC fGetTexParameteriv;
156 typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params);
157 PFNGLGETUNIFORMFVPROC fGetUniformfv;
158 typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params);
159 PFNGLGETUNIFORMIVPROC fGetUniformiv;
160 typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name);
161 PFNGLGETUNIFORMLOCATIONPROC fGetUniformLocation;
162 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*);
163 PFNGLGETVERTEXATTRIBFVPROC fGetVertexAttribfv;
164 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*);
165 PFNGLGETVERTEXATTRIBIVPROC fGetVertexAttribiv;
166 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**);
167 PFNGLGETVERTEXATTRIBPOINTERVPROC fGetVertexAttribPointerv;
168 typedef void (GLAPIENTRY * PFNGLHINTPROC) (GLenum target, GLenum mode);
169 PFNGLHINTPROC fHint;
170 typedef realGLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer);
171 PFNGLISBUFFERPROC fIsBuffer;
172 typedef realGLboolean (GLAPIENTRY * PFNGLISENABLEDPROC) (GLenum cap);
173 PFNGLISENABLEDPROC fIsEnabled;
174 typedef realGLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program);
175 PFNGLISPROGRAMPROC fIsProgram;
176 typedef realGLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id);
177 PFNGLISQUERYPROC fIsQuery;
178 typedef realGLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader);
179 PFNGLISSHADERPROC fIsShader;
180 typedef realGLboolean (GLAPIENTRY * PFNGLISTEXTUREPROC) (GLuint texture);
181 PFNGLISTEXTUREPROC fIsTexture;
182 typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width);
183 PFNGLLINEWIDTHPROC fLineWidth;
184 typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
185 PFNGLLINKPROGRAMPROC fLinkProgram;
186 typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
187 PFNGLPIXELSTOREIPROC fPixelStorei;
188 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
189 PFNGLPOINTPARAMETERFPROC fPointParameterf;
190 typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias);
191 PFNGLPOLYGONOFFSETPROC fPolygonOffset;
192 typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum);
193 PFNGLREADBUFFERPROC fReadBuffer;
194 typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
195 PFNGLREADPIXELSPROC fReadPixels;
196 typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert);
197 PFNGLSAMPLECOVERAGEPROC fSampleCoverage;
198 typedef void (GLAPIENTRY * PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
199 PFNGLSTENCILFUNCPROC fStencilFunc;
200 typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
201 PFNGLSTENCILFUNCSEPARATEPROC fStencilFuncSeparate;
202 typedef void (GLAPIENTRY * PFNGLSTENCILMASKPROC) (GLuint mask);
203 PFNGLSTENCILMASKPROC fStencilMask;
204 typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint);
205 PFNGLSTENCILMASKSEPARATEPROC fStencilMaskSeparate;
206 typedef void (GLAPIENTRY * PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
207 PFNGLSTENCILOPPROC fStencilOp;
208 typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
209 PFNGLSTENCILOPSEPARATEPROC fStencilOpSeparate;
210 typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
211 PFNGLTEXIMAGE2DPROC fTexImage2D;
212 typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
213 PFNGLTEXSUBIMAGE2DPROC fTexSubImage2D;
214 typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer);
215 PFNGLTEXTURERANGEAPPLEPROC fTextureRangeAPPLE;
216 typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
217 PFNGLUNIFORM1FPROC fUniform1f;
218 typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value);
219 PFNGLUNIFORM1FVPROC fUniform1fv;
220 typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
221 PFNGLUNIFORM1IPROC fUniform1i;
222 typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value);
223 PFNGLUNIFORM1IVPROC fUniform1iv;
224 typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
225 PFNGLUNIFORM2FPROC fUniform2f;
226 typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value);
227 PFNGLUNIFORM2FVPROC fUniform2fv;
228 typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
229 PFNGLUNIFORM2IPROC fUniform2i;
230 typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value);
231 PFNGLUNIFORM2IVPROC fUniform2iv;
232 typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
233 PFNGLUNIFORM3FPROC fUniform3f;
234 typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value);
235 PFNGLUNIFORM3FVPROC fUniform3fv;
236 typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
237 PFNGLUNIFORM3IPROC fUniform3i;
238 typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value);
239 PFNGLUNIFORM3IVPROC fUniform3iv;
240 typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
241 PFNGLUNIFORM4FPROC fUniform4f;
242 typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value);
243 PFNGLUNIFORM4FVPROC fUniform4fv;
244 typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
245 PFNGLUNIFORM4IPROC fUniform4i;
246 typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value);
247 PFNGLUNIFORM4IVPROC fUniform4iv;
248 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
249 PFNGLUNIFORMMATRIX2FVPROC fUniformMatrix2fv;
250 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
251 PFNGLUNIFORMMATRIX3FVPROC fUniformMatrix3fv;
252 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value);
253 PFNGLUNIFORMMATRIX4FVPROC fUniformMatrix4fv;
254 typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program);
255 PFNGLUSEPROGRAMPROC fUseProgram;
256 typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
257 PFNGLVALIDATEPROGRAMPROC fValidateProgram;
258 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, realGLboolean normalized, GLsizei stride, const GLvoid* pointer);
259 PFNGLVERTEXATTRIBPOINTERPROC fVertexAttribPointer;
260 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
261 PFNGLVERTEXATTRIB1FPROC fVertexAttrib1f;
262 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
263 PFNGLVERTEXATTRIB2FPROC fVertexAttrib2f;
264 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
265 PFNGLVERTEXATTRIB3FPROC fVertexAttrib3f;
266 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
267 PFNGLVERTEXATTRIB4FPROC fVertexAttrib4f;
268 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v);
269 PFNGLVERTEXATTRIB1FVPROC fVertexAttrib1fv;
270 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v);
271 PFNGLVERTEXATTRIB2FVPROC fVertexAttrib2fv;
272 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v);
273 PFNGLVERTEXATTRIB3FVPROC fVertexAttrib3fv;
274 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v);
275 PFNGLVERTEXATTRIB4FVPROC fVertexAttrib4fv;
276 typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader);
277 PFNGLCOMPILESHADERPROC fCompileShader;
278 typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
279 PFNGLCOPYTEXIMAGE2DPROC fCopyTexImage2D;
280 typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
281 PFNGLCOPYTEXSUBIMAGE2DPROC fCopyTexSubImage2D;
282 typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param);
283 PFNGLGETSHADERIVPROC fGetShaderiv;
284 typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
285 PFNGLGETSHADERINFOLOGPROC fGetShaderInfoLog;
286 typedef void (GLAPIENTRY * PFNGETSHADERPRECISIONFORMAT) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
287 PFNGETSHADERPRECISIONFORMAT fGetShaderPrecisionFormat;
288 typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source);
289 PFNGLGETSHADERSOURCEPROC fGetShaderSource;
290 typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths);
291 PFNGLSHADERSOURCEPROC fShaderSource;
293 typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFER) (GLenum target, GLuint framebuffer);
294 PFNGLBINDFRAMEBUFFER fBindFramebuffer;
295 typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFER) (GLenum target, GLuint renderbuffer);
296 PFNGLBINDRENDERBUFFER fBindRenderbuffer;
297 typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUS) (GLenum target);
298 PFNGLCHECKFRAMEBUFFERSTATUS fCheckFramebufferStatus;
299 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFER) (GLenum target, GLenum attachmentPoint, GLenum renderbufferTarget, GLuint renderbuffer);
300 PFNGLFRAMEBUFFERRENDERBUFFER fFramebufferRenderbuffer;
301 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2D) (GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint texture, GLint level);
302 PFNGLFRAMEBUFFERTEXTURE2D fFramebufferTexture2D;
303 typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV) (GLenum target, GLenum attachment, GLenum pname, GLint* value);
304 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV fGetFramebufferAttachmentParameteriv;
305 typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIV) (GLenum target, GLenum pname, GLint* value);
306 PFNGLGETRENDERBUFFERPARAMETERIV fGetRenderbufferParameteriv;
307 typedef realGLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFER) (GLuint framebuffer);
308 PFNGLISFRAMEBUFFER fIsFramebuffer;
309 typedef realGLboolean (GLAPIENTRY * PFNGLISRENDERBUFFER) (GLuint renderbuffer);
310 PFNGLISRENDERBUFFER fIsRenderbuffer;
311 typedef realGLboolean (GLAPIENTRY * PFNGLISVERTEXARRAY) (GLuint array);
312 PFNGLISVERTEXARRAY fIsVertexArray;
313 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGE) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
314 PFNGLRENDERBUFFERSTORAGE fRenderbufferStorage;
316 // These functions are only used by Skia/GL in desktop mode.
317 // Other parts of Gecko should avoid using these
318 typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTURE) (GLenum texture);
319 PFNGLCLIENTACTIVETEXTURE fClientActiveTexture;
320 typedef void (GLAPIENTRY * PFNDISABLECLIENTSTATE) (GLenum capability);
321 PFNDISABLECLIENTSTATE fDisableClientState;
322 typedef void (GLAPIENTRY * PFNENABLECLIENTSTATE) (GLenum capability);
323 PFNENABLECLIENTSTATE fEnableClientState;
324 typedef void (GLAPIENTRY * PFNLOADIDENTITY) (void);
325 PFNLOADIDENTITY fLoadIdentity;
326 typedef void (GLAPIENTRY * PFNLOADMATRIXD) (const GLdouble* matrix);
327 PFNLOADMATRIXD fLoadMatrixd;
328 typedef void (GLAPIENTRY * PFNLOADMATRIXF) (const GLfloat* matrix);
329 PFNLOADMATRIXF fLoadMatrixf;
330 typedef void (GLAPIENTRY * PFNMATRIXMODE) (GLenum mode);
331 PFNMATRIXMODE fMatrixMode;
332 typedef void (GLAPIENTRY * PFNTEXGENI) (GLenum coord, GLenum pname, GLint param);
333 PFNTEXGENI fTexGeni;
334 typedef void (GLAPIENTRY * PFNTEXGENF) (GLenum coord, GLenum pname, GLfloat param);
335 PFNTEXGENF fTexGenf;
336 typedef void (GLAPIENTRY * PFNTEXGENFV) (GLenum coord, GLenum pname, const GLfloat* param);
337 PFNTEXGENFV fTexGenfv;
338 typedef void (GLAPIENTRY * PFNVERTEXPOINTER) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
339 PFNVERTEXPOINTER fVertexPointer;
341 typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFER) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
342 PFNGLBLITFRAMEBUFFER fBlitFramebuffer;
343 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height);
344 PFNGLRENDERBUFFERSTORAGEMULTISAMPLE fRenderbufferStorageMultisample;
347 /* These are different between GLES2 and desktop GL; we hide those differences, use the GL
348 * names, but the most limited data type.
349 */
350 typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf, GLclampf);
351 PFNGLDEPTHRANGEFPROC fDepthRangef;
352 typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf);
353 PFNGLCLEARDEPTHFPROC fClearDepthf;
355 typedef void (GLAPIENTRY * PFNGLDEPTHRANGEPROC) (GLclampd, GLclampd);
356 PFNGLDEPTHRANGEPROC fDepthRange;
357 typedef void (GLAPIENTRY * PFNGLCLEARDEPTHPROC) (GLclampd);
358 PFNGLCLEARDEPTHPROC fClearDepth;
360 /* These are special because we end up tracking these so that we don't
361 * have to query the values from GL.
362 */
364 typedef void (GLAPIENTRY * PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
365 PFNGLVIEWPORTPROC fViewport;
366 typedef void (GLAPIENTRY * PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
367 PFNGLSCISSORPROC fScissor;
370 /* These are special -- they create or delete GL resources that can live
371 * in a shared namespace. In DEBUG, we wrap these calls so that we can
372 * check when we have something that failed to do cleanup at the time the
373 * final context is destroyed.
374 */
376 typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void);
377 PFNGLCREATEPROGRAMPROC fCreateProgram;
378 typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type);
379 PFNGLCREATESHADERPROC fCreateShader;
380 typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers);
381 PFNGLGENBUFFERSPROC fGenBuffers;
382 typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* queries);
383 PFNGLGENQUERIESPROC fGenQueries;
384 typedef void (GLAPIENTRY * PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
385 PFNGLGENTEXTURESPROC fGenTextures;
386 typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERS) (GLsizei n, GLuint* ids);
387 PFNGLGENFRAMEBUFFERS fGenFramebuffers;
388 typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERS) (GLsizei n, GLuint* ids);
389 PFNGLGENRENDERBUFFERS fGenRenderbuffers;
390 typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYS) (GLsizei n, GLuint* arrays);
391 PFNGLGENVERTEXARRAYS fGenVertexArrays;
393 typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program);
394 PFNGLDELETEPROGRAMPROC fDeleteProgram;
395 typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader);
396 PFNGLDELETESHADERPROC fDeleteShader;
397 typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers);
398 PFNGLDELETEBUFFERSPROC fDeleteBuffers;
399 typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* queries);
400 PFNGLDELETEQUERIESPROC fDeleteQueries;
401 typedef void (GLAPIENTRY * PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint* textures);
402 PFNGLDELETETEXTURESPROC fDeleteTextures;
403 typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERS) (GLsizei n, const GLuint* ids);
404 PFNGLDELETEFRAMEBUFFERS fDeleteFramebuffers;
405 typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERS) (GLsizei n, const GLuint* ids);
406 PFNGLDELETERENDERBUFFERS fDeleteRenderbuffers;
407 typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYS) (GLsizei n, const GLuint* arrays);
408 PFNGLDELETEVERTEXARRAYS fDeleteVertexArrays;
410 typedef void* (GLAPIENTRY * PFNGLMAPBUFFER) (GLenum target, GLenum access);
411 PFNGLMAPBUFFER fMapBuffer;
412 typedef realGLboolean (GLAPIENTRY * PFNGLUNMAPBUFFER) (GLenum target);
413 PFNGLUNMAPBUFFER fUnmapBuffer;
415 typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUS) (void);
416 PFNGLGETGRAPHICSRESETSTATUS fGetGraphicsResetStatus;
418 // ARB_sync
419 typedef GLsync (GLAPIENTRY * PFNGLFENCESYNC) (GLenum condition, GLbitfield flags);
420 PFNGLFENCESYNC fFenceSync;
421 typedef realGLboolean (GLAPIENTRY * PFNGLISSYNC) (GLsync sync);
422 PFNGLISSYNC fIsSync;
423 typedef void (GLAPIENTRY * PFNGLDELETESYNC) (GLsync sync);
424 PFNGLDELETESYNC fDeleteSync;
425 typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
426 PFNGLCLIENTWAITSYNC fClientWaitSync;
427 typedef void (GLAPIENTRY * PFNGLWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
428 PFNGLWAITSYNC fWaitSync;
429 typedef void (GLAPIENTRY * PFNGLGETINTEGER64V) (GLenum pname, GLint64 *params);
430 PFNGLGETINTEGER64V fGetInteger64v;
431 typedef void (GLAPIENTRY * PFNGLGETSYNCIV) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
432 PFNGLGETSYNCIV fGetSynciv;
434 // OES_egl_image
435 typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETTEXTURE2D)(GLenum target, GLeglImage image);
436 PFNGLEGLIMAGETARGETTEXTURE2D fEGLImageTargetTexture2D;
437 typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE)(GLenum target, GLeglImage image);
438 PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE fEGLImageTargetRenderbufferStorage;
440 // ARB_draw_instanced
441 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCED) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
442 PFNGLDRAWARRAYSINSTANCED fDrawArraysInstanced;
443 typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCED) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount);
444 PFNGLDRAWELEMENTSINSTANCED fDrawElementsInstanced;
446 // ARB_instanced_array
447 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISOR) (GLuint index, GLuint divisor);
448 PFNGLVERTEXATTRIBDIVISOR fVertexAttribDivisor;
450 // EXT_transform_feedback / OpenGL (ES) 3.0
451 typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASE) (GLenum target, GLuint index, GLuint buffer);
452 PFNGLBINDBUFFERBASE fBindBufferBase;
453 typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGE) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
454 PFNGLBINDBUFFERRANGE fBindBufferRange;
456 typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACK) (GLenum primitiveMode);
457 PFNGLBEGINTRANSFORMFEEDBACK fBeginTransformFeedback;
458 typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACK) (void);
459 PFNGLENDTRANSFORMFEEDBACK fEndTransformFeedback;
461 typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGS) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode);
462 PFNGLTRANSFORMFEEDBACKVARYINGS fTransformFeedbackVaryings;
463 typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYING) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
464 PFNGLGETTRANSFORMFEEDBACKVARYING fGetTransformFeedbackVarying;
466 typedef void (GLAPIENTRY * PFNGLGETINTEGERI_V) (GLenum param, GLuint index, GLint* values);
467 PFNGLGETINTEGERI_V fGetIntegeri_v;
469 // EXT_transform_feedback only
470 typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSET) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
471 PFNGLBINDBUFFEROFFSET fBindBufferOffset;
473 // KHR_debug
474 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROL) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, realGLboolean enabled);
475 PFNGLDEBUGMESSAGECONTROL fDebugMessageControl;
476 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERT) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf);
477 PFNGLDEBUGMESSAGEINSERT fDebugMessageInsert;
478 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACK) (GLDEBUGPROC callback, const GLvoid* userParam);
479 PFNGLDEBUGMESSAGECALLBACK fDebugMessageCallback;
480 typedef GLuint (GLAPIENTRY * PFNGLDEBUGMESSAGELOG) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog);
481 PFNGLDEBUGMESSAGELOG fGetDebugMessageLog;
482 typedef void (GLAPIENTRY * PFNGLGETPOINTERV) (GLenum pname, GLvoid** params);
483 PFNGLGETPOINTERV fGetPointerv;
484 typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUP) (GLenum source, GLuint id, GLsizei length, const GLchar* message);
485 PFNGLPUSHDEBUGGROUP fPushDebugGroup;
486 typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUP) (void);
487 PFNGLPOPDEBUGGROUP fPopDebugGroup;
488 typedef void (GLAPIENTRY * PFNGLOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label);
489 PFNGLOBJECTLABEL fObjectLabel;
490 typedef void (GLAPIENTRY * PFNGLGETOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label);
491 PFNGLGETOBJECTLABEL fGetObjectLabel;
492 typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei length, const GLchar* label);
493 PFNGLOBJECTPTRLABEL fObjectPtrLabel;
494 typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei bufSize, GLsizei* length, GLchar* label);
495 PFNGLGETOBJECTPTRLABEL fGetObjectPtrLabel;
497 // draw_range_elements
498 typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTS) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
499 PFNGLDRAWRANGEELEMENTS fDrawRangeElements;
500 };
502 }
503 }
505 #endif /* GLCONTEXTSYMBOLS_H_ */