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