gstreamer/gst-libs/gst/vaapi/egl_vtable.h
Gwenole Beauchesne 1e7c4db5a7 Add initial support for EGL.
Add initial support for EGL to libgstvaapi core library. The target
display server and the desired OpenGL API can be programmatically
selected at run-time.

A comprehensive set of EGL utilities are provided to support those
dynamic selection needs, but also most importantly to ensure that
the GL command stream is executed from within a single thread.

https://bugzilla.gnome.org/show_bug.cgi?id=743846
2015-02-24 15:20:03 +01:00

785 lines
22 KiB
C

/*
* egl_vtable.h - EGL function definitions
*
* Copyright (C) 2014 Intel Corporation
* Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301
*/
/* ------------------------------------------------------------------------- */
// Generate strings
#define GL_PROTO_GEN_STRING(x) \
GL_PROTO_GEN_STRING_I(x)
#define GL_PROTO_GEN_STRING_I(x) \
#x
/* ------------------------------------------------------------------------- */
// Concatenate arguments
#define GL_PROTO_GEN_CONCAT(a1, a2) \
GL_PROTO_GEN_CONCAT2_I(a1, a2)
#define GL_PROTO_GEN_CONCAT2(a1, a2) \
GL_PROTO_GEN_CONCAT2_I(a1, a2)
#define GL_PROTO_GEN_CONCAT2_I(a1, a2) \
a1 ## a2
#define GL_PROTO_GEN_CONCAT3(a1, a2, a3) \
GL_PROTO_GEN_CONCAT3_I(a1, a2, a3)
#define GL_PROTO_GEN_CONCAT3_I(a1, a2, a3) \
a1 ## a2 ## a3
#define GL_PROTO_GEN_CONCAT4(a1, a2, a3, a4) \
GL_PROTO_GEN_CONCAT4_I(a1, a2, a3, a4)
#define GL_PROTO_GEN_CONCAT4_I(a1, a2, a3, a4) \
a1 ## a2 ## a3 ## a4
#define GL_PROTO_GEN_CONCAT5(a1, a2, a3, a4, a5) \
GL_PROTO_GEN_CONCAT5_I(a1, a2, a3, a4, a5)
#define GL_PROTO_GEN_CONCAT5_I(a1, a2, a3, a4, a5) \
a1 ## a2 ## a3 ## a4 ## a5
/* ------------------------------------------------------------------------- */
// Default macros
#ifndef EGL_PROTO_BEGIN
#define EGL_PROTO_BEGIN(NAME, TYPE, EXTENSION)
#endif
#ifndef EGL_PROTO_ARG_LIST
#define EGL_PROTO_ARG_LIST(...) GL_PROTO_ARG_LIST(__VA_ARGS__)
#endif
#ifndef EGL_PROTO_ARG
#define EGL_PROTO_ARG(NAME, TYPE) GL_PROTO_ARG(NAME, TYPE)
#endif
#ifndef EGL_PROTO_INVOKE
#define EGL_PROTO_INVOKE(NAME, TYPE, ARGS)
#endif
#ifndef EGL_PROTO_END
#define EGL_PROTO_END()
#endif
#ifndef EGL_DEFINE_EXTENSION
#define EGL_DEFINE_EXTENSION(EXTENSION)
#endif
#ifndef GL_PROTO_BEGIN
#define GL_PROTO_BEGIN(NAME, TYPE, EXTENSION)
#endif
#ifndef GL_PROTO_ARG_LIST
#define GL_PROTO_ARG_LIST(...)
#endif
#ifndef GL_PROTO_ARG
#define GL_PROTO_ARG(NAME, TYPE)
#endif
#ifndef GL_PROTO_INVOKE
#define GL_PROTO_INVOKE(NAME, TYPE, ARGS)
#endif
#ifndef GL_PROTO_END
#define GL_PROTO_END()
#endif
#ifndef GL_DEFINE_EXTENSION
#define GL_DEFINE_EXTENSION(EXTENSION)
#endif
/* NOTE: this is auto-generated code -- do not edit! */
EGL_PROTO_BEGIN(CreateImageKHR, EGLImageKHR, KHR_image_base)
EGL_PROTO_ARG_LIST(
EGL_PROTO_ARG(dpy, EGLDisplay),
EGL_PROTO_ARG(ctx, EGLContext),
EGL_PROTO_ARG(target, EGLenum),
EGL_PROTO_ARG(buffer, EGLClientBuffer),
EGL_PROTO_ARG(attrib_list, const EGLint *))
EGL_PROTO_INVOKE(CreateImageKHR, EGLImageKHR, (dpy, ctx, target, buffer, attrib_list))
EGL_PROTO_END()
EGL_PROTO_BEGIN(DestroyImageKHR, EGLImageKHR, KHR_image_base)
EGL_PROTO_ARG_LIST(
EGL_PROTO_ARG(dpy, EGLDisplay),
EGL_PROTO_ARG(image, EGLImageKHR))
EGL_PROTO_INVOKE(DestroyImageKHR, EGLImageKHR, (dpy, image))
EGL_PROTO_END()
EGL_PROTO_BEGIN(CreateDRMImageMESA, EGLImageKHR, MESA_drm_image)
EGL_PROTO_ARG_LIST(
EGL_PROTO_ARG(dpy, EGLDisplay),
EGL_PROTO_ARG(attrib_list, const EGLint *))
EGL_PROTO_INVOKE(CreateDRMImageMESA, EGLImageKHR, (dpy, attrib_list))
EGL_PROTO_END()
EGL_PROTO_BEGIN(ExportDRMImageMESA, EGLImageKHR, MESA_drm_image)
EGL_PROTO_ARG_LIST(
EGL_PROTO_ARG(dpy, EGLDisplay),
EGL_PROTO_ARG(image, EGLImageKHR),
EGL_PROTO_ARG(name, EGLint *),
EGL_PROTO_ARG(handle, EGLint *),
EGL_PROTO_ARG(stride, EGLint *))
EGL_PROTO_INVOKE(ExportDRMImageMESA, EGLImageKHR, (dpy, image, name, handle, stride))
EGL_PROTO_END()
EGL_DEFINE_EXTENSION(EXT_image_dma_buf_import)
EGL_DEFINE_EXTENSION(KHR_create_context)
EGL_DEFINE_EXTENSION(KHR_gl_texture_2D_image)
EGL_DEFINE_EXTENSION(KHR_image_base)
EGL_DEFINE_EXTENSION(KHR_surfaceless_context)
EGL_DEFINE_EXTENSION(MESA_configless_context)
EGL_DEFINE_EXTENSION(MESA_drm_image)
GL_PROTO_BEGIN(GetError, GLenum, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(GetError, GLenum, ())
GL_PROTO_END()
GL_PROTO_BEGIN(GetString, const GLubyte *, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(name, GLenum))
GL_PROTO_INVOKE(GetString, const GLubyte *, (name))
GL_PROTO_END()
GL_PROTO_BEGIN(GetIntegerv, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, GLint *))
GL_PROTO_INVOKE(GetIntegerv, void, (pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(Enable, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(cap, GLenum))
GL_PROTO_INVOKE(Enable, void, (cap))
GL_PROTO_END()
GL_PROTO_BEGIN(Disable, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(cap, GLenum))
GL_PROTO_INVOKE(Disable, void, (cap))
GL_PROTO_END()
GL_PROTO_BEGIN(IsEnabled, GLboolean, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(cap, GLenum))
GL_PROTO_INVOKE(IsEnabled, GLboolean, (cap))
GL_PROTO_END()
GL_PROTO_BEGIN(Finish, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(Finish, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(Flush, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(Flush, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(Begin, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(mode, GLenum))
GL_PROTO_INVOKE(Begin, void, (mode))
GL_PROTO_END()
GL_PROTO_BEGIN(End, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(End, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(Color4f, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(red, GLfloat),
GL_PROTO_ARG(green, GLfloat),
GL_PROTO_ARG(blue, GLfloat),
GL_PROTO_ARG(alpha, GLfloat))
GL_PROTO_INVOKE(Color4f, void, (red, green, blue, alpha))
GL_PROTO_END()
GL_PROTO_BEGIN(Clear, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(mask, GLbitfield))
GL_PROTO_INVOKE(Clear, void, (mask))
GL_PROTO_END()
GL_PROTO_BEGIN(ClearColor, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(red, GLclampf),
GL_PROTO_ARG(green, GLclampf),
GL_PROTO_ARG(blue, GLclampf),
GL_PROTO_ARG(alpha, GLclampf))
GL_PROTO_INVOKE(ClearColor, void, (red, green, blue, alpha))
GL_PROTO_END()
GL_PROTO_BEGIN(PushMatrix, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(PushMatrix, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(PopMatrix, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(PopMatrix, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(LoadIdentity, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(LoadIdentity, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(MatrixMode, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(mode, GLenum))
GL_PROTO_INVOKE(MatrixMode, void, (mode))
GL_PROTO_END()
GL_PROTO_BEGIN(PushAttrib, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(mask, GLbitfield))
GL_PROTO_INVOKE(PushAttrib, void, (mask))
GL_PROTO_END()
GL_PROTO_BEGIN(PopAttrib, void, CORE_1_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(PopAttrib, void, ())
GL_PROTO_END()
GL_PROTO_BEGIN(Viewport, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(x, GLint),
GL_PROTO_ARG(y, GLint),
GL_PROTO_ARG(width, GLsizei),
GL_PROTO_ARG(height, GLsizei))
GL_PROTO_INVOKE(Viewport, void, (x, y, width, height))
GL_PROTO_END()
GL_PROTO_BEGIN(Frustum, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(left, GLdouble),
GL_PROTO_ARG(right, GLdouble),
GL_PROTO_ARG(bottom, GLdouble),
GL_PROTO_ARG(top, GLdouble),
GL_PROTO_ARG(zNear, GLdouble),
GL_PROTO_ARG(zFar, GLdouble))
GL_PROTO_INVOKE(Frustum, void, (left, right, bottom, top, zNear, zFar))
GL_PROTO_END()
GL_PROTO_BEGIN(Scalef, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(x, GLfloat),
GL_PROTO_ARG(y, GLfloat),
GL_PROTO_ARG(z, GLfloat))
GL_PROTO_INVOKE(Scalef, void, (x, y, z))
GL_PROTO_END()
GL_PROTO_BEGIN(Translatef, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(x, GLfloat),
GL_PROTO_ARG(y, GLfloat),
GL_PROTO_ARG(z, GLfloat))
GL_PROTO_INVOKE(Translatef, void, (x, y, z))
GL_PROTO_END()
GL_PROTO_BEGIN(EnableClientState, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(array, GLenum))
GL_PROTO_INVOKE(EnableClientState, void, (array))
GL_PROTO_END()
GL_PROTO_BEGIN(DisableClientState, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(array, GLenum))
GL_PROTO_INVOKE(DisableClientState, void, (array))
GL_PROTO_END()
GL_PROTO_BEGIN(TexCoordPointer, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(size, GLint),
GL_PROTO_ARG(type, GLenum),
GL_PROTO_ARG(stride, GLsizei),
GL_PROTO_ARG(pointer, const GLvoid *))
GL_PROTO_INVOKE(TexCoordPointer, void, (size, type, stride, pointer))
GL_PROTO_END()
GL_PROTO_BEGIN(VertexPointer, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(size, GLint),
GL_PROTO_ARG(type, GLenum),
GL_PROTO_ARG(stride, GLsizei),
GL_PROTO_ARG(pointer, const GLvoid *))
GL_PROTO_INVOKE(VertexPointer, void, (size, type, stride, pointer))
GL_PROTO_END()
GL_PROTO_BEGIN(EnableVertexAttribArray, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(index, GLuint))
GL_PROTO_INVOKE(EnableVertexAttribArray, void, (index))
GL_PROTO_END()
GL_PROTO_BEGIN(DisableVertexAttribArray, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(index, GLuint))
GL_PROTO_INVOKE(DisableVertexAttribArray, void, (index))
GL_PROTO_END()
GL_PROTO_BEGIN(GetVertexAttribPointerv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(index, GLuint),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(pointer, GLvoid **))
GL_PROTO_INVOKE(GetVertexAttribPointerv, void, (index, pname, pointer))
GL_PROTO_END()
GL_PROTO_BEGIN(VertexAttribPointer, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(index, GLuint),
GL_PROTO_ARG(size, GLint),
GL_PROTO_ARG(type, GLenum),
GL_PROTO_ARG(normalized, GLboolean),
GL_PROTO_ARG(stride, GLsizei),
GL_PROTO_ARG(pointer, const GLvoid *))
GL_PROTO_INVOKE(VertexAttribPointer, void, (index, size, type, normalized, stride, pointer))
GL_PROTO_END()
GL_PROTO_BEGIN(DrawArrays, void, CORE_1_1)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(mode, GLenum),
GL_PROTO_ARG(first, GLint),
GL_PROTO_ARG(count, GLsizei))
GL_PROTO_INVOKE(DrawArrays, void, (mode, first, count))
GL_PROTO_END()
GL_PROTO_BEGIN(GenTextures, void, CORE_1_1)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(n, GLsizei),
GL_PROTO_ARG(textures, GLuint *))
GL_PROTO_INVOKE(GenTextures, void, (n, textures))
GL_PROTO_END()
GL_PROTO_BEGIN(DeleteTextures, void, CORE_1_1)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(n, GLsizei),
GL_PROTO_ARG(textures, const GLuint *))
GL_PROTO_INVOKE(DeleteTextures, void, (n, textures))
GL_PROTO_END()
GL_PROTO_BEGIN(BindTexture, void, CORE_1_1)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(texture, GLuint))
GL_PROTO_INVOKE(BindTexture, void, (target, texture))
GL_PROTO_END()
GL_PROTO_BEGIN(ActiveTexture, void, CORE_1_3)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(texture, GLenum))
GL_PROTO_INVOKE(ActiveTexture, void, (texture))
GL_PROTO_END()
GL_PROTO_BEGIN(GetTexLevelParameteriv, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(level, GLint),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, GLint *))
GL_PROTO_INVOKE(GetTexLevelParameteriv, void, (target, level, pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(TexParameterf, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(param, GLfloat))
GL_PROTO_INVOKE(TexParameterf, void, (target, pname, param))
GL_PROTO_END()
GL_PROTO_BEGIN(TexParameterfv, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, const GLfloat *))
GL_PROTO_INVOKE(TexParameterfv, void, (target, pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(TexParameteri, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(param, GLint))
GL_PROTO_INVOKE(TexParameteri, void, (target, pname, param))
GL_PROTO_END()
GL_PROTO_BEGIN(TexParameteriv, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, const GLint *))
GL_PROTO_INVOKE(TexParameteriv, void, (target, pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(TexImage2D, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(level, GLint),
GL_PROTO_ARG(internalformat, GLint),
GL_PROTO_ARG(width, GLsizei),
GL_PROTO_ARG(height, GLsizei),
GL_PROTO_ARG(border, GLint),
GL_PROTO_ARG(format, GLenum),
GL_PROTO_ARG(type, GLenum),
GL_PROTO_ARG(pixels, const GLvoid *))
GL_PROTO_INVOKE(TexImage2D, void, (target, level, internalformat, width, height, border, format, type, pixels))
GL_PROTO_END()
GL_PROTO_BEGIN(TexSubImage2D, void, CORE_1_1)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(level, GLint),
GL_PROTO_ARG(xoffset, GLint),
GL_PROTO_ARG(yoffset, GLint),
GL_PROTO_ARG(width, GLsizei),
GL_PROTO_ARG(height, GLsizei),
GL_PROTO_ARG(format, GLenum),
GL_PROTO_ARG(type, GLenum),
GL_PROTO_ARG(UNUSED, GLuint),
GL_PROTO_ARG(pixels, const GLvoid *))
GL_PROTO_INVOKE(TexSubImage2D, void, (target, level, xoffset, yoffset, width, height, format, type, UNUSED, pixels))
GL_PROTO_END()
GL_PROTO_BEGIN(PixelStoref, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(param, GLfloat))
GL_PROTO_INVOKE(PixelStoref, void, (pname, param))
GL_PROTO_END()
GL_PROTO_BEGIN(PixelStorei, void, CORE_1_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(param, GLint))
GL_PROTO_INVOKE(PixelStorei, void, (pname, param))
GL_PROTO_END()
GL_PROTO_BEGIN(CreateShader, GLuint, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(type, GLenum))
GL_PROTO_INVOKE(CreateShader, GLuint, (type))
GL_PROTO_END()
GL_PROTO_BEGIN(DeleteShader, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint))
GL_PROTO_INVOKE(DeleteShader, void, (program))
GL_PROTO_END()
GL_PROTO_BEGIN(ShaderSource, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(shader, GLuint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(string, const GLchar * const *),
GL_PROTO_ARG(length, const GLint *))
GL_PROTO_INVOKE(ShaderSource, void, (shader, count, string, length))
GL_PROTO_END()
GL_PROTO_BEGIN(CompileShader, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(shader, GLuint))
GL_PROTO_INVOKE(CompileShader, void, (shader))
GL_PROTO_END()
GL_PROTO_BEGIN(GetShaderiv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(shader, GLuint),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, GLint *))
GL_PROTO_INVOKE(GetShaderiv, void, (shader, pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(GetShaderInfoLog, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(shader, GLuint),
GL_PROTO_ARG(bufSize, GLsizei),
GL_PROTO_ARG(length, GLsizei *),
GL_PROTO_ARG(infoLog, GLchar *))
GL_PROTO_INVOKE(GetShaderInfoLog, void, (shader, bufSize, length, infoLog))
GL_PROTO_END()
GL_PROTO_BEGIN(CreateProgram, GLuint, CORE_2_0)
GL_PROTO_ARG_LIST()
GL_PROTO_INVOKE(CreateProgram, GLuint, ())
GL_PROTO_END()
GL_PROTO_BEGIN(DeleteProgram, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint))
GL_PROTO_INVOKE(DeleteProgram, void, (program))
GL_PROTO_END()
GL_PROTO_BEGIN(AttachShader, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint),
GL_PROTO_ARG(shader, GLuint))
GL_PROTO_INVOKE(AttachShader, void, (program, shader))
GL_PROTO_END()
GL_PROTO_BEGIN(LinkProgram, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint))
GL_PROTO_INVOKE(LinkProgram, void, (program))
GL_PROTO_END()
GL_PROTO_BEGIN(UseProgram, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint))
GL_PROTO_INVOKE(UseProgram, void, (program))
GL_PROTO_END()
GL_PROTO_BEGIN(GetProgramiv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint),
GL_PROTO_ARG(pname, GLenum),
GL_PROTO_ARG(params, GLint *))
GL_PROTO_INVOKE(GetProgramiv, void, (program, pname, params))
GL_PROTO_END()
GL_PROTO_BEGIN(GetProgramInfoLog, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint),
GL_PROTO_ARG(bufSize, GLsizei),
GL_PROTO_ARG(length, GLsizei *),
GL_PROTO_ARG(infoLog, GLchar *))
GL_PROTO_INVOKE(GetProgramInfoLog, void, (program, bufSize, length, infoLog))
GL_PROTO_END()
GL_PROTO_BEGIN(BindAttribLocation, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint),
GL_PROTO_ARG(index, GLuint),
GL_PROTO_ARG(name, const GLchar *))
GL_PROTO_INVOKE(BindAttribLocation, void, (program, index, name))
GL_PROTO_END()
GL_PROTO_BEGIN(GetUniformLocation, GLint, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(program, GLuint),
GL_PROTO_ARG(name, const GLchar *))
GL_PROTO_INVOKE(GetUniformLocation, GLint, (program, name))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform1f, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLfloat))
GL_PROTO_INVOKE(Uniform1f, void, (location, v0))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform1fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(Uniform1fv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform1i, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLint))
GL_PROTO_INVOKE(Uniform1i, void, (location, v0))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform1iv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLint *))
GL_PROTO_INVOKE(Uniform1iv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform2f, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLfloat),
GL_PROTO_ARG(v1, GLfloat))
GL_PROTO_INVOKE(Uniform2f, void, (location, v0, v1))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform2fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(Uniform2fv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform2i, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLint),
GL_PROTO_ARG(v1, GLint))
GL_PROTO_INVOKE(Uniform2i, void, (location, v0, v1))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform2iv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLint *))
GL_PROTO_INVOKE(Uniform2iv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform3f, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLfloat),
GL_PROTO_ARG(v1, GLfloat),
GL_PROTO_ARG(v2, GLfloat))
GL_PROTO_INVOKE(Uniform3f, void, (location, v0, v1, v2))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform3fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(Uniform3fv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform3i, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLint),
GL_PROTO_ARG(v1, GLint),
GL_PROTO_ARG(v2, GLint))
GL_PROTO_INVOKE(Uniform3i, void, (location, v0, v1, v2))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform3iv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLint *))
GL_PROTO_INVOKE(Uniform3iv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform4f, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLfloat),
GL_PROTO_ARG(v1, GLfloat),
GL_PROTO_ARG(v2, GLfloat),
GL_PROTO_ARG(v3, GLfloat))
GL_PROTO_INVOKE(Uniform4f, void, (location, v0, v1, v2, v3))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform4fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(Uniform4fv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform4i, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(v0, GLint),
GL_PROTO_ARG(v1, GLint),
GL_PROTO_ARG(v2, GLint),
GL_PROTO_ARG(v3, GLint))
GL_PROTO_INVOKE(Uniform4i, void, (location, v0, v1, v2, v3))
GL_PROTO_END()
GL_PROTO_BEGIN(Uniform4iv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(value, const GLint *))
GL_PROTO_INVOKE(Uniform4iv, void, (location, count, value))
GL_PROTO_END()
GL_PROTO_BEGIN(UniformMatrix2fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(transpose, GLboolean),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(UniformMatrix2fv, void, (location, count, transpose, value))
GL_PROTO_END()
GL_PROTO_BEGIN(UniformMatrix3fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(transpose, GLboolean),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(UniformMatrix3fv, void, (location, count, transpose, value))
GL_PROTO_END()
GL_PROTO_BEGIN(UniformMatrix4fv, void, CORE_2_0)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(location, GLint),
GL_PROTO_ARG(count, GLsizei),
GL_PROTO_ARG(transpose, GLboolean),
GL_PROTO_ARG(value, const GLfloat *))
GL_PROTO_INVOKE(UniformMatrix4fv, void, (location, count, transpose, value))
GL_PROTO_END()
GL_PROTO_BEGIN(EGLImageTargetTexture2DOES, void, OES_EGL_image)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(image, void *))
GL_PROTO_INVOKE(EGLImageTargetTexture2DOES, void, (target, image))
GL_PROTO_END()
GL_PROTO_BEGIN(EGLImageTargetRenderbufferStorageOES, void, OES_EGL_image)
GL_PROTO_ARG_LIST(
GL_PROTO_ARG(target, GLenum),
GL_PROTO_ARG(image, void *))
GL_PROTO_INVOKE(EGLImageTargetRenderbufferStorageOES, void, (target, image))
GL_PROTO_END()
GL_DEFINE_EXTENSION(CORE_1_0)
GL_DEFINE_EXTENSION(CORE_1_1)
GL_DEFINE_EXTENSION(CORE_1_3)
GL_DEFINE_EXTENSION(CORE_2_0)
GL_DEFINE_EXTENSION(OES_EGL_image)
#undef EGL_PROTO_BEGIN
#undef EGL_PROTO_BEGIN_I
#undef EGL_PROTO_ARG_LIST
#undef EGL_PROTO_ARG
#undef EGL_PROTO_INVOKE
#undef EGL_PROTO_INVOKE_I
#undef EGL_PROTO_END
#undef EGL_DEFINE_EXTENSION
#undef EGL_DEFINE_EXTENSION_I
#undef GL_PROTO_BEGIN
#undef GL_PROTO_BEGIN_I
#undef GL_PROTO_ARG_LIST
#undef GL_PROTO_ARG
#undef GL_PROTO_INVOKE
#undef GL_PROTO_INVOKE_I
#undef GL_PROTO_END
#undef GL_DEFINE_EXTENSION
#undef GL_DEFINE_EXTENSION_I
#undef GL_PROTO_GEN_CONCAT5
#undef GL_PROTO_GEN_CONCAT5_I
#undef GL_PROTO_GEN_CONCAT4
#undef GL_PROTO_GEN_CONCAT4_I
#undef GL_PROTO_GEN_CONCAT3
#undef GL_PROTO_GEN_CONCAT3_I
#undef GL_PROTO_GEN_CONCAT2
#undef GL_PROTO_GEN_CONCAT2_I
#undef GL_PROTO_GEN_CONCAT
#undef GL_PROTO_GEN_STRING
#undef GL_PROTO_GEN_STRING_I