michael@0: /* -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40; -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef GLCONTEXTSYMBOLS_H_ michael@0: #define GLCONTEXTSYMBOLS_H_ michael@0: michael@0: #include "GLDefs.h" michael@0: michael@0: /* michael@0: * This file should only be included by GLContext.h, and should be michael@0: * autogenerated in the future. michael@0: */ michael@0: michael@0: #ifndef GLAPIENTRY michael@0: #ifdef XP_WIN michael@0: #define GLAPIENTRY __stdcall michael@0: #else michael@0: #define GLAPIENTRY michael@0: #endif michael@0: #define GLAPI michael@0: #endif michael@0: michael@0: namespace mozilla { michael@0: namespace gl { michael@0: michael@0: struct GLContextSymbols michael@0: { michael@0: GLContextSymbols() { michael@0: Zero(); michael@0: } michael@0: michael@0: void Zero() { michael@0: memset(this, 0, sizeof(GLContextSymbols)); michael@0: } michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); michael@0: PFNGLACTIVETEXTUREPROC fActiveTexture; michael@0: typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); michael@0: PFNGLATTACHSHADERPROC fAttachShader; michael@0: typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); michael@0: PFNGLBEGINQUERYPROC fBeginQuery; michael@0: typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); michael@0: PFNGLBINDATTRIBLOCATIONPROC fBindAttribLocation; michael@0: typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); michael@0: PFNGLBINDBUFFERPROC fBindBuffer; michael@0: typedef void (GLAPIENTRY * PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); michael@0: PFNGLBINDTEXTUREPROC fBindTexture; michael@0: typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); michael@0: PFNGLBINDVERTEXARRAYPROC fBindVertexArray; michael@0: typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); michael@0: PFNGLBLENDCOLORPROC fBlendColor; michael@0: typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); michael@0: PFNGLBLENDEQUATIONPROC fBlendEquation; michael@0: typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); michael@0: PFNGLBLENDEQUATIONSEPARATEPROC fBlendEquationSeparate; michael@0: typedef void (GLAPIENTRY * PFNGLBLENDFUNCPROC) (GLenum, GLenum); michael@0: PFNGLBLENDFUNCPROC fBlendFunc; michael@0: typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); michael@0: PFNGLBLENDFUNCSEPARATEPROC fBlendFuncSeparate; michael@0: typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); michael@0: PFNGLBUFFERDATAPROC fBufferData; michael@0: typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); michael@0: PFNGLBUFFERSUBDATAPROC fBufferSubData; michael@0: typedef void (GLAPIENTRY * PFNGLCLEARPROC) (GLbitfield); michael@0: PFNGLCLEARPROC fClear; michael@0: typedef void (GLAPIENTRY * PFNGLCLEARCOLORPROC) (GLclampf, GLclampf, GLclampf, GLclampf); michael@0: PFNGLCLEARCOLORPROC fClearColor; michael@0: typedef void (GLAPIENTRY * PFNGLCLEARSTENCILPROC) (GLint); michael@0: PFNGLCLEARSTENCILPROC fClearStencil; michael@0: typedef void (GLAPIENTRY * PFNGLCOLORMASKPROC) (realGLboolean red, realGLboolean green, realGLboolean blue, realGLboolean alpha); michael@0: PFNGLCOLORMASKPROC fColorMask; michael@0: typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *pixels); michael@0: PFNGLCOMPRESSEDTEXIMAGE2D fCompressedTexImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *pixels); michael@0: PFNGLCOMPRESSEDTEXSUBIMAGE2D fCompressedTexSubImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLCULLFACEPROC) (GLenum mode); michael@0: PFNGLCULLFACEPROC fCullFace; michael@0: typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); michael@0: PFNGLDETACHSHADERPROC fDetachShader; michael@0: typedef void (GLAPIENTRY * PFNGLDEPTHFUNCPROC) (GLenum); michael@0: PFNGLDEPTHFUNCPROC fDepthFunc; michael@0: typedef void (GLAPIENTRY * PFNGLDEPTHMASKPROC) (realGLboolean); michael@0: PFNGLDEPTHMASKPROC fDepthMask; michael@0: typedef void (GLAPIENTRY * PFNGLDISABLEPROC) (GLenum); michael@0: PFNGLDISABLEPROC fDisable; michael@0: typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); michael@0: PFNGLDISABLEVERTEXATTRIBARRAYPROC fDisableVertexAttribArray; michael@0: typedef void (GLAPIENTRY * PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); michael@0: PFNGLDRAWARRAYSPROC fDrawArrays; michael@0: typedef void (GLAPIENTRY * PFNGLDRAWBUFFERPROC) (GLenum mode); michael@0: PFNGLDRAWBUFFERPROC fDrawBuffer; michael@0: typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); michael@0: PFNGLDRAWBUFFERSPROC fDrawBuffers; michael@0: typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); michael@0: PFNGLDRAWELEMENTSPROC fDrawElements; michael@0: typedef void (GLAPIENTRY * PFNGLENABLEPROC) (GLenum); michael@0: PFNGLENABLEPROC fEnable; michael@0: typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); michael@0: PFNGLENABLEVERTEXATTRIBARRAYPROC fEnableVertexAttribArray; michael@0: typedef void (GLAPIENTRY * PFNGLFINISHPROC) (void); michael@0: PFNGLFINISHPROC fFinish; michael@0: typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); michael@0: PFNGLENDQUERYPROC fEndQuery; michael@0: typedef void (GLAPIENTRY * PFNGLFLUSHPROC) (void); michael@0: PFNGLFLUSHPROC fFlush; michael@0: typedef void (GLAPIENTRY * PFNGLFRONTFACEPROC) (GLenum); michael@0: PFNGLFRONTFACEPROC fFrontFace; michael@0: typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); michael@0: PFNGLGETACTIVEATTRIBPROC fGetActiveAttrib; michael@0: typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); michael@0: PFNGLGETACTIVEUNIFORMPROC fGetActiveUniform; michael@0: typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); michael@0: PFNGLGETATTACHEDSHADERSPROC fGetAttachedShaders; michael@0: typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); michael@0: PFNGLGETATTRIBLOCATIONPROC fGetAttribLocation; michael@0: typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params); michael@0: PFNGLGETINTEGERVPROC fGetIntegerv; michael@0: typedef void (GLAPIENTRY * PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params); michael@0: PFNGLGETFLOATVPROC fGetFloatv; michael@0: typedef void (GLAPIENTRY * PFNGLGETBOOLEANBPROC) (GLenum pname, realGLboolean *params); michael@0: PFNGLGETBOOLEANBPROC fGetBooleanv; michael@0: typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); michael@0: PFNGLGETBUFFERPARAMETERIVPROC fGetBufferParameteriv; michael@0: typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); michael@0: PFNGLGENERATEMIPMAPPROC fGenerateMipmap; michael@0: typedef GLenum (GLAPIENTRY * PFNGLGETERRORPROC) (void); michael@0: PFNGLGETERRORPROC fGetError; michael@0: typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); michael@0: PFNGLGETPROGRAMIVPROC fGetProgramiv; michael@0: typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); michael@0: PFNGLGETPROGRAMINFOLOGPROC fGetProgramInfoLog; michael@0: typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); michael@0: PFNGLGETQUERYIVPROC fGetQueryiv; michael@0: typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); michael@0: PFNGLGETQUERYOBJECTIVPROC fGetQueryObjectiv; michael@0: typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); michael@0: PFNGLGETQUERYOBJECTUIVPROC fGetQueryObjectuiv; michael@0: typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); michael@0: PFNGLTEXPARAMETERIPROC fTexParameteri; michael@0: typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint* param); michael@0: PFNGLTEXPARAMETERIVPROC fTexParameteriv; michael@0: typedef void (GLAPIENTRY * PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); michael@0: PFNGLTEXPARAMETERFPROC fTexParameterf; michael@0: typedef GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum); michael@0: PFNGLGETSTRINGPROC fGetString; michael@0: typedef void (GLAPIENTRY * PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* image); michael@0: PFNGLGETTEXIMAGEPROC fGetTexImage; michael@0: typedef void (GLAPIENTRY * PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params); michael@0: PFNGLGETTEXLEVELPARAMETERIVPROC fGetTexLevelParameteriv; michael@0: typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); michael@0: PFNGLGETTEXPARAMETERFVPROC fGetTexParameterfv; michael@0: typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); michael@0: PFNGLGETTEXPARAMETERIVPROC fGetTexParameteriv; michael@0: typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); michael@0: PFNGLGETUNIFORMFVPROC fGetUniformfv; michael@0: typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); michael@0: PFNGLGETUNIFORMIVPROC fGetUniformiv; michael@0: typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name); michael@0: PFNGLGETUNIFORMLOCATIONPROC fGetUniformLocation; michael@0: typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); michael@0: PFNGLGETVERTEXATTRIBFVPROC fGetVertexAttribfv; michael@0: typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); michael@0: PFNGLGETVERTEXATTRIBIVPROC fGetVertexAttribiv; michael@0: typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**); michael@0: PFNGLGETVERTEXATTRIBPOINTERVPROC fGetVertexAttribPointerv; michael@0: typedef void (GLAPIENTRY * PFNGLHINTPROC) (GLenum target, GLenum mode); michael@0: PFNGLHINTPROC fHint; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); michael@0: PFNGLISBUFFERPROC fIsBuffer; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISENABLEDPROC) (GLenum cap); michael@0: PFNGLISENABLEDPROC fIsEnabled; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); michael@0: PFNGLISPROGRAMPROC fIsProgram; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); michael@0: PFNGLISQUERYPROC fIsQuery; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); michael@0: PFNGLISSHADERPROC fIsShader; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISTEXTUREPROC) (GLuint texture); michael@0: PFNGLISTEXTUREPROC fIsTexture; michael@0: typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width); michael@0: PFNGLLINEWIDTHPROC fLineWidth; michael@0: typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); michael@0: PFNGLLINKPROGRAMPROC fLinkProgram; michael@0: typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); michael@0: PFNGLPIXELSTOREIPROC fPixelStorei; michael@0: typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); michael@0: PFNGLPOINTPARAMETERFPROC fPointParameterf; michael@0: typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias); michael@0: PFNGLPOLYGONOFFSETPROC fPolygonOffset; michael@0: typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum); michael@0: PFNGLREADBUFFERPROC fReadBuffer; michael@0: typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); michael@0: PFNGLREADPIXELSPROC fReadPixels; michael@0: typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert); michael@0: PFNGLSAMPLECOVERAGEPROC fSampleCoverage; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); michael@0: PFNGLSTENCILFUNCPROC fStencilFunc; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); michael@0: PFNGLSTENCILFUNCSEPARATEPROC fStencilFuncSeparate; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILMASKPROC) (GLuint mask); michael@0: PFNGLSTENCILMASKPROC fStencilMask; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); michael@0: PFNGLSTENCILMASKSEPARATEPROC fStencilMaskSeparate; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); michael@0: PFNGLSTENCILOPPROC fStencilOp; michael@0: typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); michael@0: PFNGLSTENCILOPSEPARATEPROC fStencilOpSeparate; michael@0: typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); michael@0: PFNGLTEXIMAGE2DPROC fTexImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); michael@0: PFNGLTEXSUBIMAGE2DPROC fTexSubImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer); michael@0: PFNGLTEXTURERANGEAPPLEPROC fTextureRangeAPPLE; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); michael@0: PFNGLUNIFORM1FPROC fUniform1f; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); michael@0: PFNGLUNIFORM1FVPROC fUniform1fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); michael@0: PFNGLUNIFORM1IPROC fUniform1i; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); michael@0: PFNGLUNIFORM1IVPROC fUniform1iv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); michael@0: PFNGLUNIFORM2FPROC fUniform2f; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); michael@0: PFNGLUNIFORM2FVPROC fUniform2fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); michael@0: PFNGLUNIFORM2IPROC fUniform2i; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); michael@0: PFNGLUNIFORM2IVPROC fUniform2iv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); michael@0: PFNGLUNIFORM3FPROC fUniform3f; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); michael@0: PFNGLUNIFORM3FVPROC fUniform3fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); michael@0: PFNGLUNIFORM3IPROC fUniform3i; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); michael@0: PFNGLUNIFORM3IVPROC fUniform3iv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); michael@0: PFNGLUNIFORM4FPROC fUniform4f; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); michael@0: PFNGLUNIFORM4FVPROC fUniform4fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); michael@0: PFNGLUNIFORM4IPROC fUniform4i; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); michael@0: PFNGLUNIFORM4IVPROC fUniform4iv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); michael@0: PFNGLUNIFORMMATRIX2FVPROC fUniformMatrix2fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); michael@0: PFNGLUNIFORMMATRIX3FVPROC fUniformMatrix3fv; michael@0: typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, realGLboolean transpose, const GLfloat* value); michael@0: PFNGLUNIFORMMATRIX4FVPROC fUniformMatrix4fv; michael@0: typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); michael@0: PFNGLUSEPROGRAMPROC fUseProgram; michael@0: typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); michael@0: PFNGLVALIDATEPROGRAMPROC fValidateProgram; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, realGLboolean normalized, GLsizei stride, const GLvoid* pointer); michael@0: PFNGLVERTEXATTRIBPOINTERPROC fVertexAttribPointer; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); michael@0: PFNGLVERTEXATTRIB1FPROC fVertexAttrib1f; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); michael@0: PFNGLVERTEXATTRIB2FPROC fVertexAttrib2f; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); michael@0: PFNGLVERTEXATTRIB3FPROC fVertexAttrib3f; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); michael@0: PFNGLVERTEXATTRIB4FPROC fVertexAttrib4f; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); michael@0: PFNGLVERTEXATTRIB1FVPROC fVertexAttrib1fv; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); michael@0: PFNGLVERTEXATTRIB2FVPROC fVertexAttrib2fv; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); michael@0: PFNGLVERTEXATTRIB3FVPROC fVertexAttrib3fv; michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); michael@0: PFNGLVERTEXATTRIB4FVPROC fVertexAttrib4fv; michael@0: typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); michael@0: PFNGLCOMPILESHADERPROC fCompileShader; michael@0: typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); michael@0: PFNGLCOPYTEXIMAGE2DPROC fCopyTexImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); michael@0: PFNGLCOPYTEXSUBIMAGE2DPROC fCopyTexSubImage2D; michael@0: typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); michael@0: PFNGLGETSHADERIVPROC fGetShaderiv; michael@0: typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); michael@0: PFNGLGETSHADERINFOLOGPROC fGetShaderInfoLog; michael@0: typedef void (GLAPIENTRY * PFNGETSHADERPRECISIONFORMAT) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); michael@0: PFNGETSHADERPRECISIONFORMAT fGetShaderPrecisionFormat; michael@0: typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); michael@0: PFNGLGETSHADERSOURCEPROC fGetShaderSource; michael@0: typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths); michael@0: PFNGLSHADERSOURCEPROC fShaderSource; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFER) (GLenum target, GLuint framebuffer); michael@0: PFNGLBINDFRAMEBUFFER fBindFramebuffer; michael@0: typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFER) (GLenum target, GLuint renderbuffer); michael@0: PFNGLBINDRENDERBUFFER fBindRenderbuffer; michael@0: typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUS) (GLenum target); michael@0: PFNGLCHECKFRAMEBUFFERSTATUS fCheckFramebufferStatus; michael@0: typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFER) (GLenum target, GLenum attachmentPoint, GLenum renderbufferTarget, GLuint renderbuffer); michael@0: PFNGLFRAMEBUFFERRENDERBUFFER fFramebufferRenderbuffer; michael@0: typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2D) (GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint texture, GLint level); michael@0: PFNGLFRAMEBUFFERTEXTURE2D fFramebufferTexture2D; michael@0: typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV) (GLenum target, GLenum attachment, GLenum pname, GLint* value); michael@0: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV fGetFramebufferAttachmentParameteriv; michael@0: typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIV) (GLenum target, GLenum pname, GLint* value); michael@0: PFNGLGETRENDERBUFFERPARAMETERIV fGetRenderbufferParameteriv; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFER) (GLuint framebuffer); michael@0: PFNGLISFRAMEBUFFER fIsFramebuffer; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISRENDERBUFFER) (GLuint renderbuffer); michael@0: PFNGLISRENDERBUFFER fIsRenderbuffer; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISVERTEXARRAY) (GLuint array); michael@0: PFNGLISVERTEXARRAY fIsVertexArray; michael@0: typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGE) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height); michael@0: PFNGLRENDERBUFFERSTORAGE fRenderbufferStorage; michael@0: michael@0: // These functions are only used by Skia/GL in desktop mode. michael@0: // Other parts of Gecko should avoid using these michael@0: typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTURE) (GLenum texture); michael@0: PFNGLCLIENTACTIVETEXTURE fClientActiveTexture; michael@0: typedef void (GLAPIENTRY * PFNDISABLECLIENTSTATE) (GLenum capability); michael@0: PFNDISABLECLIENTSTATE fDisableClientState; michael@0: typedef void (GLAPIENTRY * PFNENABLECLIENTSTATE) (GLenum capability); michael@0: PFNENABLECLIENTSTATE fEnableClientState; michael@0: typedef void (GLAPIENTRY * PFNLOADIDENTITY) (void); michael@0: PFNLOADIDENTITY fLoadIdentity; michael@0: typedef void (GLAPIENTRY * PFNLOADMATRIXD) (const GLdouble* matrix); michael@0: PFNLOADMATRIXD fLoadMatrixd; michael@0: typedef void (GLAPIENTRY * PFNLOADMATRIXF) (const GLfloat* matrix); michael@0: PFNLOADMATRIXF fLoadMatrixf; michael@0: typedef void (GLAPIENTRY * PFNMATRIXMODE) (GLenum mode); michael@0: PFNMATRIXMODE fMatrixMode; michael@0: typedef void (GLAPIENTRY * PFNTEXGENI) (GLenum coord, GLenum pname, GLint param); michael@0: PFNTEXGENI fTexGeni; michael@0: typedef void (GLAPIENTRY * PFNTEXGENF) (GLenum coord, GLenum pname, GLfloat param); michael@0: PFNTEXGENF fTexGenf; michael@0: typedef void (GLAPIENTRY * PFNTEXGENFV) (GLenum coord, GLenum pname, const GLfloat* param); michael@0: PFNTEXGENFV fTexGenfv; michael@0: typedef void (GLAPIENTRY * PFNVERTEXPOINTER) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer); michael@0: PFNVERTEXPOINTER fVertexPointer; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFER) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); michael@0: PFNGLBLITFRAMEBUFFER fBlitFramebuffer; michael@0: typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height); michael@0: PFNGLRENDERBUFFERSTORAGEMULTISAMPLE fRenderbufferStorageMultisample; michael@0: michael@0: michael@0: /* These are different between GLES2 and desktop GL; we hide those differences, use the GL michael@0: * names, but the most limited data type. michael@0: */ michael@0: typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf, GLclampf); michael@0: PFNGLDEPTHRANGEFPROC fDepthRangef; michael@0: typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf); michael@0: PFNGLCLEARDEPTHFPROC fClearDepthf; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLDEPTHRANGEPROC) (GLclampd, GLclampd); michael@0: PFNGLDEPTHRANGEPROC fDepthRange; michael@0: typedef void (GLAPIENTRY * PFNGLCLEARDEPTHPROC) (GLclampd); michael@0: PFNGLCLEARDEPTHPROC fClearDepth; michael@0: michael@0: /* These are special because we end up tracking these so that we don't michael@0: * have to query the values from GL. michael@0: */ michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); michael@0: PFNGLVIEWPORTPROC fViewport; michael@0: typedef void (GLAPIENTRY * PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); michael@0: PFNGLSCISSORPROC fScissor; michael@0: michael@0: michael@0: /* These are special -- they create or delete GL resources that can live michael@0: * in a shared namespace. In DEBUG, we wrap these calls so that we can michael@0: * check when we have something that failed to do cleanup at the time the michael@0: * final context is destroyed. michael@0: */ michael@0: michael@0: typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); michael@0: PFNGLCREATEPROGRAMPROC fCreateProgram; michael@0: typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); michael@0: PFNGLCREATESHADERPROC fCreateShader; michael@0: typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); michael@0: PFNGLGENBUFFERSPROC fGenBuffers; michael@0: typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* queries); michael@0: PFNGLGENQUERIESPROC fGenQueries; michael@0: typedef void (GLAPIENTRY * PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures); michael@0: PFNGLGENTEXTURESPROC fGenTextures; michael@0: typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERS) (GLsizei n, GLuint* ids); michael@0: PFNGLGENFRAMEBUFFERS fGenFramebuffers; michael@0: typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERS) (GLsizei n, GLuint* ids); michael@0: PFNGLGENRENDERBUFFERS fGenRenderbuffers; michael@0: typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYS) (GLsizei n, GLuint* arrays); michael@0: PFNGLGENVERTEXARRAYS fGenVertexArrays; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); michael@0: PFNGLDELETEPROGRAMPROC fDeleteProgram; michael@0: typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); michael@0: PFNGLDELETESHADERPROC fDeleteShader; michael@0: typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); michael@0: PFNGLDELETEBUFFERSPROC fDeleteBuffers; michael@0: typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* queries); michael@0: PFNGLDELETEQUERIESPROC fDeleteQueries; michael@0: typedef void (GLAPIENTRY * PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint* textures); michael@0: PFNGLDELETETEXTURESPROC fDeleteTextures; michael@0: typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERS) (GLsizei n, const GLuint* ids); michael@0: PFNGLDELETEFRAMEBUFFERS fDeleteFramebuffers; michael@0: typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERS) (GLsizei n, const GLuint* ids); michael@0: PFNGLDELETERENDERBUFFERS fDeleteRenderbuffers; michael@0: typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYS) (GLsizei n, const GLuint* arrays); michael@0: PFNGLDELETEVERTEXARRAYS fDeleteVertexArrays; michael@0: michael@0: typedef void* (GLAPIENTRY * PFNGLMAPBUFFER) (GLenum target, GLenum access); michael@0: PFNGLMAPBUFFER fMapBuffer; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLUNMAPBUFFER) (GLenum target); michael@0: PFNGLUNMAPBUFFER fUnmapBuffer; michael@0: michael@0: typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUS) (void); michael@0: PFNGLGETGRAPHICSRESETSTATUS fGetGraphicsResetStatus; michael@0: michael@0: // ARB_sync michael@0: typedef GLsync (GLAPIENTRY * PFNGLFENCESYNC) (GLenum condition, GLbitfield flags); michael@0: PFNGLFENCESYNC fFenceSync; michael@0: typedef realGLboolean (GLAPIENTRY * PFNGLISSYNC) (GLsync sync); michael@0: PFNGLISSYNC fIsSync; michael@0: typedef void (GLAPIENTRY * PFNGLDELETESYNC) (GLsync sync); michael@0: PFNGLDELETESYNC fDeleteSync; michael@0: typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); michael@0: PFNGLCLIENTWAITSYNC fClientWaitSync; michael@0: typedef void (GLAPIENTRY * PFNGLWAITSYNC) (GLsync sync, GLbitfield flags, GLuint64 timeout); michael@0: PFNGLWAITSYNC fWaitSync; michael@0: typedef void (GLAPIENTRY * PFNGLGETINTEGER64V) (GLenum pname, GLint64 *params); michael@0: PFNGLGETINTEGER64V fGetInteger64v; michael@0: typedef void (GLAPIENTRY * PFNGLGETSYNCIV) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); michael@0: PFNGLGETSYNCIV fGetSynciv; michael@0: michael@0: // OES_egl_image michael@0: typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETTEXTURE2D)(GLenum target, GLeglImage image); michael@0: PFNGLEGLIMAGETARGETTEXTURE2D fEGLImageTargetTexture2D; michael@0: typedef void (GLAPIENTRY * PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE)(GLenum target, GLeglImage image); michael@0: PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGE fEGLImageTargetRenderbufferStorage; michael@0: michael@0: // ARB_draw_instanced michael@0: typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCED) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); michael@0: PFNGLDRAWARRAYSINSTANCED fDrawArraysInstanced; michael@0: typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCED) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount); michael@0: PFNGLDRAWELEMENTSINSTANCED fDrawElementsInstanced; michael@0: michael@0: // ARB_instanced_array michael@0: typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISOR) (GLuint index, GLuint divisor); michael@0: PFNGLVERTEXATTRIBDIVISOR fVertexAttribDivisor; michael@0: michael@0: // EXT_transform_feedback / OpenGL (ES) 3.0 michael@0: typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASE) (GLenum target, GLuint index, GLuint buffer); michael@0: PFNGLBINDBUFFERBASE fBindBufferBase; michael@0: typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGE) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); michael@0: PFNGLBINDBUFFERRANGE fBindBufferRange; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACK) (GLenum primitiveMode); michael@0: PFNGLBEGINTRANSFORMFEEDBACK fBeginTransformFeedback; michael@0: typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACK) (void); michael@0: PFNGLENDTRANSFORMFEEDBACK fEndTransformFeedback; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGS) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode); michael@0: PFNGLTRANSFORMFEEDBACKVARYINGS fTransformFeedbackVaryings; michael@0: typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYING) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); michael@0: PFNGLGETTRANSFORMFEEDBACKVARYING fGetTransformFeedbackVarying; michael@0: michael@0: typedef void (GLAPIENTRY * PFNGLGETINTEGERI_V) (GLenum param, GLuint index, GLint* values); michael@0: PFNGLGETINTEGERI_V fGetIntegeri_v; michael@0: michael@0: // EXT_transform_feedback only michael@0: typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSET) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); michael@0: PFNGLBINDBUFFEROFFSET fBindBufferOffset; michael@0: michael@0: // KHR_debug michael@0: typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROL) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, realGLboolean enabled); michael@0: PFNGLDEBUGMESSAGECONTROL fDebugMessageControl; michael@0: typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERT) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); michael@0: PFNGLDEBUGMESSAGEINSERT fDebugMessageInsert; michael@0: typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACK) (GLDEBUGPROC callback, const GLvoid* userParam); michael@0: PFNGLDEBUGMESSAGECALLBACK fDebugMessageCallback; michael@0: typedef GLuint (GLAPIENTRY * PFNGLDEBUGMESSAGELOG) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); michael@0: PFNGLDEBUGMESSAGELOG fGetDebugMessageLog; michael@0: typedef void (GLAPIENTRY * PFNGLGETPOINTERV) (GLenum pname, GLvoid** params); michael@0: PFNGLGETPOINTERV fGetPointerv; michael@0: typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUP) (GLenum source, GLuint id, GLsizei length, const GLchar* message); michael@0: PFNGLPUSHDEBUGGROUP fPushDebugGroup; michael@0: typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUP) (void); michael@0: PFNGLPOPDEBUGGROUP fPopDebugGroup; michael@0: typedef void (GLAPIENTRY * PFNGLOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); michael@0: PFNGLOBJECTLABEL fObjectLabel; michael@0: typedef void (GLAPIENTRY * PFNGLGETOBJECTLABEL) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label); michael@0: PFNGLGETOBJECTLABEL fGetObjectLabel; michael@0: typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei length, const GLchar* label); michael@0: PFNGLOBJECTPTRLABEL fObjectPtrLabel; michael@0: typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABEL) (const GLvoid* ptr, GLsizei bufSize, GLsizei* length, GLchar* label); michael@0: PFNGLGETOBJECTPTRLABEL fGetObjectPtrLabel; michael@0: michael@0: // draw_range_elements michael@0: typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTS) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices); michael@0: PFNGLDRAWRANGEELEMENTS fDrawRangeElements; michael@0: }; michael@0: michael@0: } michael@0: } michael@0: michael@0: #endif /* GLCONTEXTSYMBOLS_H_ */