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 { GLContextSymbolsGLContextSymbols30 GLContextSymbols() { 31 Zero(); 32 } 33 ZeroGLContextSymbols34 void Zero() { 35 memset(this, 0, sizeof(GLContextSymbols)); 36 } 37 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) (GLfloat red, GLfloat green, GLfloat blue, GLfloat 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 * PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); 69 PFNGLCLEARBUFFERFIPROC fClearBufferfi; 70 typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat* value); 71 PFNGLCLEARBUFFERFVPROC fClearBufferfv; 72 typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint* value); 73 PFNGLCLEARBUFFERIVPROC fClearBufferiv; 74 typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint* value); 75 PFNGLCLEARBUFFERUIVPROC fClearBufferuiv; 76 typedef void (GLAPIENTRY * PFNGLCLEARCOLORPROC) (GLfloat, GLfloat, GLfloat, GLfloat); 77 PFNGLCLEARCOLORPROC fClearColor; 78 typedef void (GLAPIENTRY * PFNGLCLEARSTENCILPROC) (GLint); 79 PFNGLCLEARSTENCILPROC fClearStencil; 80 typedef void (GLAPIENTRY * PFNGLCOLORMASKPROC) (realGLboolean red, realGLboolean green, realGLboolean blue, realGLboolean alpha); 81 PFNGLCOLORMASKPROC fColorMask; 82 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* pixels); 83 PFNGLCOMPRESSEDTEXIMAGE2D fCompressedTexImage2D; 84 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* pixels); 85 PFNGLCOMPRESSEDTEXSUBIMAGE2D fCompressedTexSubImage2D; 86 typedef void (GLAPIENTRY * PFNGLCULLFACEPROC) (GLenum mode); 87 PFNGLCULLFACEPROC fCullFace; 88 typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); 89 PFNGLDETACHSHADERPROC fDetachShader; 90 typedef void (GLAPIENTRY * PFNGLDEPTHFUNCPROC) (GLenum); 91 PFNGLDEPTHFUNCPROC fDepthFunc; 92 typedef void (GLAPIENTRY * PFNGLDEPTHMASKPROC) (realGLboolean); 93 PFNGLDEPTHMASKPROC fDepthMask; 94 typedef void (GLAPIENTRY * PFNGLDISABLEPROC) (GLenum); 95 PFNGLDISABLEPROC fDisable; 96 typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); 97 PFNGLDISABLEVERTEXATTRIBARRAYPROC fDisableVertexAttribArray; 98 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); 99 PFNGLDRAWARRAYSPROC fDrawArrays; 100 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERPROC) (GLenum mode); 101 PFNGLDRAWBUFFERPROC fDrawBuffer; 102 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); 103 PFNGLDRAWBUFFERSPROC fDrawBuffers; 104 typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); 105 PFNGLDRAWELEMENTSPROC fDrawElements; 106 typedef void (GLAPIENTRY * PFNGLENABLEPROC) (GLenum); 107 PFNGLENABLEPROC fEnable; 108 typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); 109 PFNGLENABLEVERTEXATTRIBARRAYPROC fEnableVertexAttribArray; 110 typedef void (GLAPIENTRY * PFNGLFINISHPROC) (void); 111 PFNGLFINISHPROC fFinish; 112 typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); 113 PFNGLENDQUERYPROC fEndQuery; 114 typedef void (GLAPIENTRY * PFNGLFLUSHPROC) (void); 115 PFNGLFLUSHPROC fFlush; 116 typedef void (GLAPIENTRY * PFNGLFRONTFACEPROC) (GLenum); 117 PFNGLFRONTFACEPROC fFrontFace; 118 typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 119 PFNGLGETACTIVEATTRIBPROC fGetActiveAttrib; 120 typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 121 PFNGLGETACTIVEUNIFORMPROC fGetActiveUniform; 122 typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); 123 PFNGLGETATTACHEDSHADERSPROC fGetAttachedShaders; 124 typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); 125 PFNGLGETATTRIBLOCATIONPROC fGetAttribLocation; 126 typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint* params); 127 PFNGLGETINTEGERVPROC fGetIntegerv; 128 typedef void (GLAPIENTRY * PFNGLGETFLOATVPROC) (GLenum pname, GLfloat* params); 129 PFNGLGETFLOATVPROC fGetFloatv; 130 typedef void (GLAPIENTRY * PFNGLGETBOOLEANBPROC) (GLenum pname, realGLboolean* params); 131 PFNGLGETBOOLEANBPROC fGetBooleanv; 132 typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); 133 PFNGLGETBUFFERPARAMETERIVPROC fGetBufferParameteriv; 134 typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); 135 PFNGLGENERATEMIPMAPPROC fGenerateMipmap; 136 typedef GLenum (GLAPIENTRY * PFNGLGETERRORPROC) (void); 137 PFNGLGETERRORPROC fGetError; 138 typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); 139 PFNGLGETPROGRAMIVPROC fGetProgramiv; 140 typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 141 PFNGLGETPROGRAMINFOLOGPROC fGetProgramInfoLog; 142 typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); 143 PFNGLGETQUERYIVPROC fGetQueryiv; 144 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); 145 PFNGLGETQUERYOBJECTIVPROC fGetQueryObjectiv; 146 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); 147 PFNGLGETQUERYOBJECTUIVPROC fGetQueryObjectuiv; 148 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); 149 PFNGLGETQUERYOBJECTI64VPROC fGetQueryObjecti64v; 150 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); 151 PFNGLGETQUERYOBJECTUI64VPROC fGetQueryObjectui64v; 152 typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); 153 PFNGLQUERYCOUNTERPROC fQueryCounter; 154 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); 155 PFNGLTEXPARAMETERIPROC fTexParameteri; 156 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint* param); 157 PFNGLTEXPARAMETERIVPROC fTexParameteriv; 158 typedef void (GLAPIENTRY * PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); 159 PFNGLTEXPARAMETERFPROC fTexParameterf; 160 typedef GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum); 161 PFNGLGETSTRINGPROC fGetString; 162 typedef void (GLAPIENTRY * PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* image); 163 PFNGLGETTEXIMAGEPROC fGetTexImage; 164 typedef void (GLAPIENTRY * PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint* params); 165 PFNGLGETTEXLEVELPARAMETERIVPROC fGetTexLevelParameteriv; 166 typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat* params); 167 PFNGLGETTEXPARAMETERFVPROC fGetTexParameterfv; 168 typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); 169 PFNGLGETTEXPARAMETERIVPROC fGetTexParameteriv; 170 typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); 171 PFNGLGETUNIFORMFVPROC fGetUniformfv; 172 typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); 173 PFNGLGETUNIFORMIVPROC fGetUniformiv; 174 typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint* params); 175 PFNGLGETUNIFORMUIVPROC fGetUniformuiv; 176 typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name); 177 PFNGLGETUNIFORMLOCATIONPROC fGetUniformLocation; 178 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); 179 PFNGLGETVERTEXATTRIBFVPROC fGetVertexAttribfv; 180 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); 181 PFNGLGETVERTEXATTRIBIVPROC fGetVertexAttribiv; 182 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**); 183 PFNGLGETVERTEXATTRIBPOINTERVPROC fGetVertexAttribPointerv; 184 typedef void (GLAPIENTRY * PFNGLHINTPROC) (GLenum target, GLenum mode); 185 PFNGLHINTPROC fHint; 186 typedef realGLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); 187 PFNGLISBUFFERPROC fIsBuffer; 188 typedef realGLboolean (GLAPIENTRY * PFNGLISENABLEDPROC) (GLenum cap); 189 PFNGLISENABLEDPROC fIsEnabled; 190 typedef realGLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); 191 PFNGLISPROGRAMPROC fIsProgram; 192 typedef realGLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); 193 PFNGLISQUERYPROC fIsQuery; 194 typedef realGLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); 195 PFNGLISSHADERPROC fIsShader; 196 typedef realGLboolean (GLAPIENTRY * PFNGLISTEXTUREPROC) (GLuint texture); 197 PFNGLISTEXTUREPROC fIsTexture; 198 typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width); 199 PFNGLLINEWIDTHPROC fLineWidth; 200 typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); 201 PFNGLLINKPROGRAMPROC fLinkProgram; 202 typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); 203 PFNGLPIXELSTOREIPROC fPixelStorei; 204 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); 205 PFNGLPOINTPARAMETERFPROC fPointParameterf; 206 typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias); 207 PFNGLPOLYGONOFFSETPROC fPolygonOffset; 208 typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum); 209 PFNGLREADBUFFERPROC fReadBuffer; 210 typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 211 PFNGLREADPIXELSPROC fReadPixels; 212 typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert); 213 PFNGLSAMPLECOVERAGEPROC fSampleCoverage; 214 typedef void (GLAPIENTRY * PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); 215 PFNGLSTENCILFUNCPROC fStencilFunc; 216 typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); 217 PFNGLSTENCILFUNCSEPARATEPROC fStencilFuncSeparate; 218 typedef void (GLAPIENTRY * PFNGLSTENCILMASKPROC) (GLuint mask); 219 PFNGLSTENCILMASKPROC fStencilMask; 220 typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); 221 PFNGLSTENCILMASKSEPARATEPROC fStencilMaskSeparate; 222 typedef void (GLAPIENTRY * PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); 223 PFNGLSTENCILOPPROC fStencilOp; 224 typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); 225 PFNGLSTENCILOPSEPARATEPROC fStencilOpSeparate; 226 typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); 227 PFNGLTEXIMAGE2DPROC fTexImage2D; 228 typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); 229 PFNGLTEXSUBIMAGE2DPROC fTexSubImage2D; 230 typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid* pointer); 231 PFNGLTEXTURERANGEAPPLEPROC fTextureRangeAPPLE; 232 typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); 233 PFNGLUNIFORM1FPROC fUniform1f; 234 typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); 235 PFNGLUNIFORM1FVPROC fUniform1fv; 236 typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); 237 PFNGLUNIFORM1IPROC fUniform1i; 238 typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); 239 PFNGLUNIFORM1IVPROC fUniform1iv; 240 typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); 241 PFNGLUNIFORM2FPROC fUniform2f; 242 typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); 243 PFNGLUNIFORM2FVPROC fUniform2fv; 244 typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); 245 PFNGLUNIFORM2IPROC fUniform2i; 246 typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); 247 PFNGLUNIFORM2IVPROC fUniform2iv; 248 typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); 249 PFNGLUNIFORM3FPROC fUniform3f; 250 typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); 251 PFNGLUNIFORM3FVPROC fUniform3fv; 252 typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); 253 PFNGLUNIFORM3IPROC fUniform3i; 254 typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); 255 PFNGLUNIFORM3IVPROC fUniform3iv; 256 typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); 257 PFNGLUNIFORM4FPROC fUniform4f; 258 typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); 259 PFNGLUNIFORM4FVPROC fUniform4fv; 260 typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); 261 PFNGLUNIFORM4IPROC fUniform4i; 262 typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); 263 PFNGLUNIFORM4IVPROC fUniform4iv; 264 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 265 PFNGLUNIFORMMATRIX2FVPROC fUniformMatrix2fv; 266 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 267 PFNGLUNIFORMMATRIX2X3FVPROC fUniformMatrix2x3fv; 268 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 269 PFNGLUNIFORMMATRIX2X4FVPROC fUniformMatrix2x4fv; 270 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 271 PFNGLUNIFORMMATRIX3FVPROC fUniformMatrix3fv; 272 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 273 PFNGLUNIFORMMATRIX3X2FVPROC fUniformMatrix3x2fv; 274 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 275 PFNGLUNIFORMMATRIX3X4FVPROC fUniformMatrix3x4fv; 276 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 277 PFNGLUNIFORMMATRIX4FVPROC fUniformMatrix4fv; 278 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 279 PFNGLUNIFORMMATRIX4X2FVPROC fUniformMatrix4x2fv; 280 typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); 281 PFNGLUNIFORMMATRIX4X3FVPROC fUniformMatrix4x3fv; 282 283 typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); 284 PFNGLUSEPROGRAMPROC fUseProgram; 285 typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); 286 PFNGLVALIDATEPROGRAMPROC fValidateProgram; 287 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, realGLboolean normalized, GLsizei stride, const GLvoid* pointer); 288 PFNGLVERTEXATTRIBPOINTERPROC fVertexAttribPointer; 289 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); 290 PFNGLVERTEXATTRIB1FPROC fVertexAttrib1f; 291 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); 292 PFNGLVERTEXATTRIB2FPROC fVertexAttrib2f; 293 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); 294 PFNGLVERTEXATTRIB3FPROC fVertexAttrib3f; 295 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 296 PFNGLVERTEXATTRIB4FPROC fVertexAttrib4f; 297 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); 298 PFNGLVERTEXATTRIB1FVPROC fVertexAttrib1fv; 299 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); 300 PFNGLVERTEXATTRIB2FVPROC fVertexAttrib2fv; 301 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); 302 PFNGLVERTEXATTRIB3FVPROC fVertexAttrib3fv; 303 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); 304 PFNGLVERTEXATTRIB4FVPROC fVertexAttrib4fv; 305 typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); 306 PFNGLCOMPILESHADERPROC fCompileShader; 307 typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 308 PFNGLCOPYTEXIMAGE2DPROC fCopyTexImage2D; 309 typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 310 PFNGLCOPYTEXSUBIMAGE2DPROC fCopyTexSubImage2D; 311 typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); 312 PFNGLGETSHADERIVPROC fGetShaderiv; 313 typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 314 PFNGLGETSHADERINFOLOGPROC fGetShaderInfoLog; 315 typedef void (GLAPIENTRY * PFNGETSHADERPRECISIONFORMAT) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); 316 PFNGETSHADERPRECISIONFORMAT fGetShaderPrecisionFormat; 317 typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); 318 PFNGLGETSHADERSOURCEPROC fGetShaderSource; 319 typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* const* strings, const GLint* lengths); 320 PFNGLSHADERSOURCEPROC fShaderSource; 321 322 typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFER) (GLenum target, GLuint framebuffer); 323 PFNGLBINDFRAMEBUFFER fBindFramebuffer; 324 typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFER) (GLenum target, GLuint renderbuffer); 325 PFNGLBINDRENDERBUFFER fBindRenderbuffer; 326 typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUS) (GLenum target); 327 PFNGLCHECKFRAMEBUFFERSTATUS fCheckFramebufferStatus; 328 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFER) (GLenum target, GLenum attachmentPoint, GLenum renderbufferTarget, GLuint renderbuffer); 329 PFNGLFRAMEBUFFERRENDERBUFFER fFramebufferRenderbuffer; 330 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2D) (GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint texture, GLint level); 331 PFNGLFRAMEBUFFERTEXTURE2D fFramebufferTexture2D; 332 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); 333 PFNGLFRAMEBUFFERTEXTURELAYERPROC fFramebufferTextureLayer; 334 typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV) (GLenum target, GLenum attachment, GLenum pname, GLint* value); 335 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV fGetFramebufferAttachmentParameteriv; 336 typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIV) (GLenum target, GLenum pname, GLint* value); 337 PFNGLGETRENDERBUFFERPARAMETERIV fGetRenderbufferParameteriv; 338 typedef realGLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFER) (GLuint framebuffer); 339 PFNGLISFRAMEBUFFER fIsFramebuffer; 340 typedef realGLboolean (GLAPIENTRY * PFNGLISRENDERBUFFER) (GLuint renderbuffer); 341 PFNGLISRENDERBUFFER fIsRenderbuffer; 342 typedef realGLboolean (GLAPIENTRY * PFNGLISVERTEXARRAY) (GLuint array); 343 PFNGLISVERTEXARRAY fIsVertexArray; 344 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGE) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height); 345 PFNGLRENDERBUFFERSTORAGE fRenderbufferStorage; 346 347 typedef void (GLAPIENTRY * PFNINVALIDATEFRAMEBUFFER) (GLenum target, GLsizei numAttachments, const GLenum* attachments); 348 PFNINVALIDATEFRAMEBUFFER fInvalidateFramebuffer; 349 typedef void (GLAPIENTRY * PFNINVALIDATESUBFRAMEBUFFER) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); 350 PFNINVALIDATESUBFRAMEBUFFER fInvalidateSubFramebuffer; 351 352 // These functions are only used by Skia/GL in desktop mode. 353 // Other parts of Gecko should avoid using these 354 typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTURE) (GLenum texture); 355 PFNGLCLIENTACTIVETEXTURE fClientActiveTexture; 356 typedef void (GLAPIENTRY * PFNDISABLECLIENTSTATE) (GLenum capability); 357 PFNDISABLECLIENTSTATE fDisableClientState; 358 typedef void (GLAPIENTRY * PFNENABLECLIENTSTATE) (GLenum capability); 359 PFNENABLECLIENTSTATE fEnableClientState; 360 typedef void (GLAPIENTRY * PFNLOADIDENTITY) (void); 361 PFNLOADIDENTITY fLoadIdentity; 362 typedef void (GLAPIENTRY * PFNLOADMATRIXD) (const GLdouble* matrix); 363 PFNLOADMATRIXD fLoadMatrixd; 364 typedef void (GLAPIENTRY * PFNLOADMATRIXF) (const GLfloat* matrix); 365 PFNLOADMATRIXF fLoadMatrixf; 366 typedef void (GLAPIENTRY * PFNMATRIXMODE) (GLenum mode); 367 PFNMATRIXMODE fMatrixMode; 368 typedef void (GLAPIENTRY * PFNTEXGENI) (GLenum coord, GLenum pname, GLint param); 369 PFNTEXGENI fTexGeni; 370 typedef void (GLAPIENTRY * PFNTEXGENF) (GLenum coord, GLenum pname, GLfloat param); 371 PFNTEXGENF fTexGenf; 372 typedef void (GLAPIENTRY * PFNTEXGENFV) (GLenum coord, GLenum pname, const GLfloat* param); 373 PFNTEXGENFV fTexGenfv; 374 typedef void (GLAPIENTRY * PFNVERTEXPOINTER) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer); 375 PFNVERTEXPOINTER fVertexPointer; 376 377 typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFER) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 378 PFNGLBLITFRAMEBUFFER fBlitFramebuffer; 379 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height); 380 PFNGLRENDERBUFFERSTORAGEMULTISAMPLE fRenderbufferStorageMultisample; 381 382 383 /* These are different between GLES2 and desktop GL; we hide those differences, use the GL 384 * names, but the most limited data type. 385 */ 386 typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf, GLclampf); 387 PFNGLDEPTHRANGEFPROC fDepthRangef; 388 typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf); 389 PFNGLCLEARDEPTHFPROC fClearDepthf; 390 391 typedef void (GLAPIENTRY * PFNGLDEPTHRANGEPROC) (GLclampd, GLclampd); 392 PFNGLDEPTHRANGEPROC fDepthRange; 393 typedef void (GLAPIENTRY * PFNGLCLEARDEPTHPROC) (GLclampd); 394 PFNGLCLEARDEPTHPROC fClearDepth; 395 396 /* These are special because we end up tracking these so that we don't 397 * have to query the values from GL. 398 */ 399 400 typedef void (GLAPIENTRY * PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); 401 PFNGLVIEWPORTPROC fViewport; 402 typedef void (GLAPIENTRY * PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); 403 PFNGLSCISSORPROC fScissor; 404 405 406 /* These are special -- they create or delete GL resources that can live 407 * in a shared namespace. In DEBUG, we wrap these calls so that we can 408 * check when we have something that failed to do cleanup at the time the 409 * final context is destroyed. 410 */ 411 412 typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); 413 PFNGLCREATEPROGRAMPROC fCreateProgram; 414 typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); 415 PFNGLCREATESHADERPROC fCreateShader; 416 typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); 417 PFNGLGENBUFFERSPROC fGenBuffers; 418 typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* queries); 419 PFNGLGENQUERIESPROC fGenQueries; 420 typedef void (GLAPIENTRY * PFNGLGENTEXTURESPROC) (GLsizei n, GLuint* textures); 421 PFNGLGENTEXTURESPROC fGenTextures; 422 typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERS) (GLsizei n, GLuint* ids); 423 PFNGLGENFRAMEBUFFERS fGenFramebuffers; 424 typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERS) (GLsizei n, GLuint* ids); 425 PFNGLGENRENDERBUFFERS fGenRenderbuffers; 426 typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYS) (GLsizei n, GLuint* arrays); 427 PFNGLGENVERTEXARRAYS fGenVertexArrays; 428 429 typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); 430 PFNGLDELETEPROGRAMPROC fDeleteProgram; 431 typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); 432 PFNGLDELETESHADERPROC fDeleteShader; 433 typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); 434 PFNGLDELETEBUFFERSPROC fDeleteBuffers; 435 typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* queries); 436 PFNGLDELETEQUERIESPROC fDeleteQueries; 437 typedef void (GLAPIENTRY * PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint* textures); 438 PFNGLDELETETEXTURESPROC fDeleteTextures; 439 typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERS) (GLsizei n, const GLuint* ids); 440 PFNGLDELETEFRAMEBUFFERS fDeleteFramebuffers; 441 typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERS) (GLsizei n, const GLuint* ids); 442 PFNGLDELETERENDERBUFFERS fDeleteRenderbuffers; 443 typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYS) (GLsizei n, const GLuint* arrays); 444 PFNGLDELETEVERTEXARRAYS fDeleteVertexArrays; 445 446 typedef void* (GLAPIENTRY * PFNGLMAPBUFFER) (GLenum target, GLenum access); 447 PFNGLMAPBUFFER fMapBuffer; 448 typedef realGLboolean (GLAPIENTRY * PFNGLUNMAPBUFFER) (GLenum target); 449 PFNGLUNMAPBUFFER fUnmapBuffer; 450 451 // ARB_copy_buffer / OpenGL 3.1 / OpenGL ES 3.0 452 typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, 453 GLintptr readOffset, GLintptr writeOffset, 454 GLsizeiptr size); 455 PFNGLCOPYBUFFERSUBDATAPROC fCopyBufferSubData; 456 457 typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUS) (void); 458 PFNGLGETGRAPHICSRESETSTATUS fGetGraphicsResetStatus; 459 460 // ARB_sync 461 typedef GLsync (GLAPIENTRY * PFNGLFENCESYNC) (GLenum condition, GLbitfield flags); 462 PFNGLFENCESYNC fFenceSync; 463 typedef realGLboolean (GLAPIENTRY * PFNGLISSYNC) (GLsync sync); 464 PFNGLISSYNC fIsSync; 465 typedef void (GLAPIENTRY * PFNGLDELETESYNC) (GLsync sync); 466 PFNGLDELETESYNC fDeleteSync; 467 typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 468 PFNGLCLIENTWAITSYNC fClientWaitSync; 469 typedef void (GLAPIENTRY * PFNGLWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 470 PFNGLWAITSYNC fWaitSync; 471 typedef void (GLAPIENTRY * PFNGLGETINTEGER64V) (GLenum pname, GLint64* params); 472 PFNGLGETINTEGER64V fGetInteger64v; 473 typedef void (GLAPIENTRY * PFNGLGETSYNCIV) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values); 474 PFNGLGETSYNCIV fGetSynciv; 475 476 // OES_egl_image 477 typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETTEXTURE2D)(GLenum target, GLeglImage image); 478 PFNGLEGLIMAGETARGETTEXTURE2D fEGLImageTargetTexture2D; 479 typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE)(GLenum target, GLeglImage image); 480 PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE fEGLImageTargetRenderbufferStorage; 481 482 // ARB_draw_instanced 483 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCED) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 484 PFNGLDRAWARRAYSINSTANCED fDrawArraysInstanced; 485 typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCED) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount); 486 PFNGLDRAWELEMENTSINSTANCED fDrawElementsInstanced; 487 488 // ARB_instanced_array 489 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISOR) (GLuint index, GLuint divisor); 490 PFNGLVERTEXATTRIBDIVISOR fVertexAttribDivisor; 491 492 // ARB_internalformat_query 493 typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); 494 PFNGLGETINTERNALFORMATIVPROC fGetInternalformativ; 495 496 // ARB_transform_feedback2 / OpenGL 4.0 / OpenGL ES 3.0 497 typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASE) (GLenum target, GLuint index, GLuint buffer); 498 PFNGLBINDBUFFERBASE fBindBufferBase; 499 typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGE) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); 500 PFNGLBINDBUFFERRANGE fBindBufferRange; 501 502 typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); 503 PFNGLGENTRANSFORMFEEDBACKSPROC fGenTransformFeedbacks; 504 typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); 505 PFNGLDELETETRANSFORMFEEDBACKSPROC fDeleteTransformFeedbacks; 506 typedef realGLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); 507 PFNGLISTRANSFORMFEEDBACKPROC fIsTransformFeedback; 508 typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); 509 PFNGLBINDTRANSFORMFEEDBACKPROC fBindTransformFeedback; 510 typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGS) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode); 511 PFNGLTRANSFORMFEEDBACKVARYINGS fTransformFeedbackVaryings; 512 typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYING) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); 513 PFNGLGETTRANSFORMFEEDBACKVARYING fGetTransformFeedbackVarying; 514 typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACK) (GLenum primitiveMode); 515 PFNGLBEGINTRANSFORMFEEDBACK fBeginTransformFeedback; 516 typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACK) (void); 517 PFNGLENDTRANSFORMFEEDBACK fEndTransformFeedback; 518 typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (); 519 PFNGLPAUSETRANSFORMFEEDBACKPROC fPauseTransformFeedback; 520 typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (); 521 PFNGLRESUMETRANSFORMFEEDBACKPROC fResumeTransformFeedback; 522 523 typedef void (GLAPIENTRY * PFNGLGETINTEGERI_V) (GLenum param, GLuint index, GLint* values); 524 PFNGLGETINTEGERI_V fGetIntegeri_v; 525 typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64* data); 526 PFNGLGETINTEGER64I_VPROC fGetInteger64i_v; 527 528 // EXT_transform_feedback only 529 typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSET) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); 530 PFNGLBINDBUFFEROFFSET fBindBufferOffset; 531 532 // KHR_debug 533 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROL) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, realGLboolean enabled); 534 PFNGLDEBUGMESSAGECONTROL fDebugMessageControl; 535 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERT) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); 536 PFNGLDEBUGMESSAGEINSERT fDebugMessageInsert; 537 typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACK) (GLDEBUGPROC callback, const GLvoid* userParam); 538 PFNGLDEBUGMESSAGECALLBACK fDebugMessageCallback; 539 typedef GLuint (GLAPIENTRY * PFNGLDEBUGMESSAGELOG) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); 540 PFNGLDEBUGMESSAGELOG fGetDebugMessageLog; 541 typedef void (GLAPIENTRY * PFNGLGETPOINTERV) (GLenum pname, GLvoid** params); 542 PFNGLGETPOINTERV fGetPointerv; 543 typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUP) (GLenum source, GLuint id, GLsizei length, const GLchar* message); 544 PFNGLPUSHDEBUGGROUP fPushDebugGroup; 545 typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUP) (void); 546 PFNGLPOPDEBUGGROUP fPopDebugGroup; 547 typedef void (GLAPIENTRY * PFNGLOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); 548 PFNGLOBJECTLABEL fObjectLabel; 549 typedef void (GLAPIENTRY * PFNGLGETOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label); 550 PFNGLGETOBJECTLABEL fGetObjectLabel; 551 typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei length, const GLchar* label); 552 PFNGLOBJECTPTRLABEL fObjectPtrLabel; 553 typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei bufSize, GLsizei* length, GLchar* label); 554 PFNGLGETOBJECTPTRLABEL fGetObjectPtrLabel; 555 556 // draw_range_elements 557 typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTS) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices); 558 PFNGLDRAWRANGEELEMENTS fDrawRangeElements; 559 560 // NV_fence 561 typedef void (GLAPIENTRY * pfnGenFencesT) (GLsizei n, GLuint* fences); 562 pfnGenFencesT fGenFences; 563 typedef void (GLAPIENTRY * pfnDeleteFencesT) (GLsizei n, const GLuint* fences); 564 pfnDeleteFencesT fDeleteFences; 565 typedef void (GLAPIENTRY * pfnSetFenceT) (GLuint fence, GLenum condition); 566 pfnSetFenceT fSetFence; 567 typedef realGLboolean (GLAPIENTRY * pfnTestFenceT) (GLuint fence); 568 pfnTestFenceT fTestFence; 569 typedef void (GLAPIENTRY * pfnFinishFenceT) (GLuint fence); 570 pfnFinishFenceT fFinishFence; 571 typedef realGLboolean (GLAPIENTRY * pfnIsFenceT) (GLuint fence); 572 pfnIsFenceT fIsFence; 573 typedef void (GLAPIENTRY * pfnGetFenceivT) (GLuint fence, GLenum pname, GLint* params); 574 pfnGetFenceivT fGetFenceiv; 575 576 // map_buffer_range 577 typedef void* (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 578 PFNGLMAPBUFFERRANGEPROC fMapBufferRange; 579 typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 580 PFNGLFLUSHMAPPEDBUFFERRANGEPROC fFlushMappedBufferRange; 581 582 // sampler_object 583 typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); 584 PFNGLGENSAMPLERSPROC fGenSamplers; 585 typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint* samplers); 586 PFNGLDELETESAMPLERSPROC fDeleteSamplers; 587 typedef realGLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); 588 PFNGLISSAMPLERPROC fIsSampler; 589 typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); 590 PFNGLBINDSAMPLERPROC fBindSampler; 591 typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); 592 PFNGLSAMPLERPARAMETERIPROC fSamplerParameteri; 593 typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* param); 594 PFNGLSAMPLERPARAMETERIVPROC fSamplerParameteriv; 595 typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); 596 PFNGLSAMPLERPARAMETERFPROC fSamplerParameterf; 597 typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* param); 598 PFNGLSAMPLERPARAMETERFVPROC fSamplerParameterfv; 599 typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); 600 PFNGLGETSAMPLERPARAMETERIVPROC fGetSamplerParameteriv; 601 typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); 602 PFNGLGETSAMPLERPARAMETERFVPROC fGetSamplerParameterfv; 603 604 // texture_storage 605 typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 606 PFNGLTEXSTORAGE2DPROC fTexStorage2D; 607 typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 608 PFNGLTEXSTORAGE3DPROC fTexStorage3D; 609 610 // uniform_buffer_object 611 typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, 612 const GLchar* const* uniformNames, GLuint* uniformIndices); 613 PFNGLGETUNIFORMINDICESPROC fGetUniformIndices; 614 typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, 615 GLenum pname, GLint* params); 616 PFNGLGETACTIVEUNIFORMSIVPROC fGetActiveUniformsiv; 617 typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName); 618 PFNGLGETUNIFORMBLOCKINDEXPROC fGetUniformBlockIndex; 619 typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); 620 PFNGLGETACTIVEUNIFORMBLOCKIVPROC fGetActiveUniformBlockiv; 621 typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); 622 PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC fGetActiveUniformBlockName; 623 typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); 624 PFNGLUNIFORMBLOCKBINDINGPROC fUniformBlockBinding; 625 626 // EXT_gpu_shader4 627 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint* params); 628 PFNGLGETVERTEXATTRIBIIVPROC fGetVertexAttribIiv; 629 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint* params); 630 PFNGLGETVERTEXATTRIBIUIVPROC fGetVertexAttribIuiv; 631 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); 632 PFNGLVERTEXATTRIBI4IPROC fVertexAttribI4i; 633 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint* v); 634 PFNGLVERTEXATTRIBI4IVPROC fVertexAttribI4iv; 635 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 636 PFNGLVERTEXATTRIBI4UIPROC fVertexAttribI4ui; 637 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint* v); 638 PFNGLVERTEXATTRIBI4UIVPROC fVertexAttribI4uiv; 639 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* ptr); 640 PFNGLVERTEXATTRIBIPOINTERPROC fVertexAttribIPointer; 641 typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); 642 PFNGLUNIFORM1UIPROC fUniform1ui; 643 typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); 644 PFNGLUNIFORM2UIPROC fUniform2ui; 645 typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); 646 PFNGLUNIFORM3UIPROC fUniform3ui; 647 typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); 648 PFNGLUNIFORM4UIPROC fUniform4ui; 649 typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint* value); 650 PFNGLUNIFORM1UIVPROC fUniform1uiv; 651 typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint* value); 652 PFNGLUNIFORM2UIVPROC fUniform2uiv; 653 typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint* value); 654 PFNGLUNIFORM3UIVPROC fUniform3uiv; 655 typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint* value); 656 PFNGLUNIFORM4UIVPROC fUniform4uiv; 657 typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar* name); 658 PFNGLGETFRAGDATALOCATIONPROC fGetFragDataLocation; 659 660 // 3D Textures 661 typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, 662 GLenum internalFormat, 663 GLenum width, GLsizei height, GLsizei depth, 664 GLint border, GLenum format, GLenum type, 665 const GLvoid* pixels); 666 PFNGLTEXIMAGE3DPROC fTexImage3D; 667 typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, 668 GLint yoffset, GLint zoffset, GLsizei width, 669 GLsizei height, GLsizei depth, GLenum format, 670 GLenum type, const GLvoid* pixels); 671 PFNGLTEXSUBIMAGE3DPROC fTexSubImage3D; 672 typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, 673 GLint yoffset, GLint zoffset, GLint x, 674 GLint y, GLsizei width, GLsizei height); 675 PFNGLCOPYTEXSUBIMAGE3DPROC fCopyTexSubImage3D; 676 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, 677 GLsizei width, GLsizei height, GLsizei depth, 678 GLint border, GLsizei imageSize, const GLvoid* data); 679 PFNGLCOMPRESSEDTEXIMAGE3DPROC fCompressedTexImage3D; 680 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, 681 GLint xoffset, GLint yoffset, GLint zoffset, 682 GLsizei width, GLsizei height, GLsizei depth, 683 GLenum format, GLsizei imageSize, const GLvoid* data); 684 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC fCompressedTexSubImage3D; 685 686 // get_string_indexed 687 typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); 688 PFNGLGETSTRINGIPROC fGetStringi; 689 690 // APPLE_framebuffer_multisample 691 typedef void (GLAPIENTRY * PFNRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE) (void); 692 PFNRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE fResolveMultisampleFramebufferAPPLE; 693 694 // NV_texture_barrier 695 typedef void (GLAPIENTRY * PFNTEXTUREBARRIERPROC) (void); 696 PFNTEXTUREBARRIERPROC fTextureBarrier; 697 698 // NV_primitive_restart 699 void (GLAPIENTRY * fPrimitiveRestartIndex) (GLuint index); 700 }; 701 702 } // namespace gl 703 } // namespace mozilla 704 705 #endif /* GLCONTEXTSYMBOLS_H_ */ 706