Blame gst-libs/gst/gl/glprototypes/base.h

Packit 971217
/*
Packit 971217
 * GStreamer
Packit 971217
 * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
Packit 971217
 *
Packit 971217
 * This library is free software; you can redistribute it and/or
Packit 971217
 * modify it under the terms of the GNU Library General Public
Packit 971217
 * License as published by the Free Software Foundation; either
Packit 971217
 * version 2 of the License, or (at your option) any later version.
Packit 971217
 *
Packit 971217
 * This library is distributed in the hope that it will be useful,
Packit 971217
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 971217
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 971217
 * Library General Public License for more details.
Packit 971217
 *
Packit 971217
 * You should have received a copy of the GNU Library General Public
Packit 971217
 * License along with this library; if not, write to the
Packit 971217
 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
Packit 971217
 * Boston, MA 02110-1301, USA.
Packit 971217
 */
Packit 971217
/*
Packit 971217
 * Cogl
Packit 971217
 *
Packit 971217
 * An object oriented GL/GLES Abstraction/Utility Layer
Packit 971217
 *
Packit 971217
 * Copyright (C) 2009, 2011 Intel Corporation.
Packit 971217
 *
Packit 971217
 * This library is free software; you can redistribute it and/or
Packit 971217
 * modify it under the terms of the GNU Lesser General Public
Packit 971217
 * License as published by the Free Software Foundation; either
Packit 971217
 * version 2 of the License, or (at your option) any later version.
Packit 971217
 *
Packit 971217
 * This library is distributed in the hope that it will be useful,
Packit 971217
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 971217
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 971217
 * Lesser General Public License for more details.
Packit 971217
 *
Packit 971217
 * You should have received a copy of the GNU Lesser General Public
Packit 971217
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
Packit 971217
 */
Packit 971217
Packit 971217
Packit 971217
/* These are the core GL functions which we assume will always be
Packit 971217
   available */
Packit 971217
GST_GL_EXT_BEGIN (core,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES1 | GST_GL_API_GLES2,
Packit 971217
                  1, 0,
Packit 971217
                  1, 0,
Packit 971217
                  "\0",
Packit 971217
                  "\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, BindTexture,
Packit 971217
                     (GLenum target, GLuint texture))
Packit 971217
GST_GL_EXT_FUNCTION (void, BlendFunc,
Packit 971217
                     (GLenum sfactor, GLenum dfactor))
Packit 971217
GST_GL_EXT_FUNCTION (void, Clear,
Packit 971217
                     (GLbitfield mask))
Packit 971217
GST_GL_EXT_FUNCTION (void, ClearColor,
Packit 971217
                     (GLclampf red,
Packit 971217
                      GLclampf green,
Packit 971217
                      GLclampf blue,
Packit 971217
                      GLclampf alpha))
Packit 971217
GST_GL_EXT_FUNCTION (void, ClearStencil,
Packit 971217
                     (GLint s))
Packit 971217
GST_GL_EXT_FUNCTION (void, ColorMask,
Packit 971217
                     (GLboolean red,
Packit 971217
                      GLboolean green,
Packit 971217
                      GLboolean blue,
Packit 971217
                      GLboolean alpha))
Packit 971217
GST_GL_EXT_FUNCTION (void, CopyTexSubImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLint xoffset,
Packit 971217
                      GLint yoffset,
Packit 971217
                      GLint x,
Packit 971217
                      GLint y,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height))
Packit 971217
GST_GL_EXT_FUNCTION (void, DeleteTextures,
Packit 971217
                     (GLsizei n, const GLuint* textures))
Packit 971217
GST_GL_EXT_FUNCTION (void, DepthFunc,
Packit 971217
                     (GLenum func))
Packit 971217
GST_GL_EXT_FUNCTION (void, DepthMask,
Packit 971217
                     (GLboolean flag))
Packit 971217
GST_GL_EXT_FUNCTION (void, Disable,
Packit 971217
                     (GLenum cap))
Packit 971217
GST_GL_EXT_FUNCTION (void, DrawArrays,
Packit 971217
                     (GLenum mode, GLint first, GLsizei count))
Packit 971217
GST_GL_EXT_FUNCTION (void, DrawElements,
Packit 971217
                     (GLenum mode,
Packit 971217
                      GLsizei count,
Packit 971217
                      GLenum type,
Packit 971217
                      const GLvoid* indices))
Packit 971217
GST_GL_EXT_FUNCTION (void, Enable,
Packit 971217
                     (GLenum cap))
Packit 971217
GST_GL_EXT_FUNCTION (void, Finish,
Packit 971217
                     (void))
Packit 971217
GST_GL_EXT_FUNCTION (void, Flush,
Packit 971217
                     (void))
Packit 971217
GST_GL_EXT_FUNCTION (void, FrontFace,
Packit 971217
                     (GLenum mode))
Packit 971217
GST_GL_EXT_FUNCTION (void, CullFace,
Packit 971217
                     (GLenum mode))
Packit 971217
GST_GL_EXT_FUNCTION (void, GenTextures,
Packit 971217
                     (GLsizei n, GLuint* textures))
Packit 971217
GST_GL_EXT_FUNCTION (GLenum, GetError,
Packit 971217
                     (void))
Packit 971217
GST_GL_EXT_FUNCTION (void, GetIntegerv,
Packit 971217
                     (GLenum pname, GLint* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, GetBooleanv,
Packit 971217
                     (GLenum pname, GLboolean* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, GetFloatv,
Packit 971217
                     (GLenum pname, GLfloat* params))
Packit 971217
GST_GL_EXT_FUNCTION (const GLubyte*, GetString,
Packit 971217
                     (GLenum name))
Packit 971217
GST_GL_EXT_FUNCTION (void, Hint,
Packit 971217
                     (GLenum target, GLenum mode))
Packit 971217
GST_GL_EXT_FUNCTION (GLboolean, IsTexture,
Packit 971217
                     (GLuint texture))
Packit 971217
GST_GL_EXT_FUNCTION (void, PixelStorei,
Packit 971217
                     (GLenum pname, GLint param))
Packit 971217
GST_GL_EXT_FUNCTION (void, ReadPixels,
Packit 971217
                     (GLint x,
Packit 971217
                      GLint y,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLenum format,
Packit 971217
                      GLenum type,
Packit 971217
                      GLvoid* pixels))
Packit 971217
GST_GL_EXT_FUNCTION (void, Scissor,
Packit 971217
                     (GLint x, GLint y, GLsizei width, GLsizei height))
Packit 971217
GST_GL_EXT_FUNCTION (void, StencilFunc,
Packit 971217
                     (GLenum func, GLint ref, GLuint mask))
Packit 971217
GST_GL_EXT_FUNCTION (void, StencilMask,
Packit 971217
                     (GLuint mask))
Packit 971217
GST_GL_EXT_FUNCTION (void, StencilOp,
Packit 971217
                     (GLenum fail, GLenum zfail, GLenum zpass))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLint internalformat,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLint border,
Packit 971217
                      GLenum format,
Packit 971217
                      GLenum type,
Packit 971217
                      const GLvoid* pixels))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexParameterfv,
Packit 971217
                     (GLenum target, GLenum pname, const GLfloat* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexParameteri,
Packit 971217
                     (GLenum target, GLenum pname, GLint param))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexParameteriv,
Packit 971217
                     (GLenum target, GLenum pname, const GLint* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, GetTexParameterfv,
Packit 971217
                     (GLenum target, GLenum pname, GLfloat* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, GetTexParameteriv,
Packit 971217
                     (GLenum target, GLenum pname, GLint* params))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexSubImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLint xoffset,
Packit 971217
                      GLint yoffset,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLenum format,
Packit 971217
                      GLenum type,
Packit 971217
                      const GLvoid* pixels))
Packit 971217
GST_GL_EXT_FUNCTION (void, CopyTexImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLenum internalformat,
Packit 971217
                      GLint x,
Packit 971217
                      GLint y,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLint border))
Packit 971217
GST_GL_EXT_FUNCTION (void, Viewport,
Packit 971217
                     (GLint x, GLint y, GLsizei width, GLsizei height))
Packit 971217
GST_GL_EXT_FUNCTION (GLboolean, IsEnabled, (GLenum cap))
Packit 971217
GST_GL_EXT_FUNCTION (void, LineWidth, (GLfloat width))
Packit 971217
GST_GL_EXT_FUNCTION (void, PolygonOffset, (GLfloat factor, GLfloat units))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexParameterf,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLenum pname,
Packit 971217
                      GLfloat param))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (texture_3d,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3,
Packit 971217
                  1, 2,
Packit 971217
                  255, 255, /* not in either GLES */
Packit 971217
                  "OES\0",
Packit 971217
                  "texture_3D\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, TexImage3D,
Packit 971217
                     (GLenum target, GLint level,
Packit 971217
                      GLint internalFormat,
Packit 971217
                      GLsizei width, GLsizei height,
Packit 971217
                      GLsizei depth, GLint border,
Packit 971217
                      GLenum format, GLenum type,
Packit 971217
                      const GLvoid *pixels))
Packit 971217
GST_GL_EXT_FUNCTION (void, TexSubImage3D,
Packit 971217
                     (GLenum target, GLint level,
Packit 971217
                      GLint xoffset, GLint yoffset,
Packit 971217
                      GLint zoffset, GLsizei width,
Packit 971217
                      GLsizei height, GLsizei depth,
Packit 971217
                      GLenum format,
Packit 971217
                      GLenum type, const GLvoid *pixels))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (only_in_both_gles_and_gl_1_3,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES1 | GST_GL_API_GLES2,
Packit 971217
                  1, 3,
Packit 971217
                  1, 0,
Packit 971217
                  "\0",
Packit 971217
                  "\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, CompressedTexImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLenum internalformat,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLint border,
Packit 971217
                      GLsizei imageSize,
Packit 971217
                      const GLvoid* data))
Packit 971217
GST_GL_EXT_FUNCTION (void, CompressedTexSubImage2D,
Packit 971217
                     (GLenum target,
Packit 971217
                      GLint level,
Packit 971217
                      GLint xoffset,
Packit 971217
                      GLint yoffset,
Packit 971217
                      GLsizei width,
Packit 971217
                      GLsizei height,
Packit 971217
                      GLenum format,
Packit 971217
                      GLsizei imageSize,
Packit 971217
                      const GLvoid* data))
Packit 971217
GST_GL_EXT_FUNCTION (void, SampleCoverage,
Packit 971217
                     (GLclampf value, GLboolean invert))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (only_in_both_gles_and_gl_1_5,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES1 | GST_GL_API_GLES2,
Packit 971217
                  1, 5,
Packit 971217
                  1, 0,
Packit 971217
                  "\0",
Packit 971217
                  "\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, GetBufferParameteriv,
Packit 971217
                     (GLenum target, GLenum pname, GLint* params))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (vbos,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES1 | GST_GL_API_GLES2,
Packit 971217
                  1, 5,
Packit 971217
                  1, 0,
Packit 971217
                  "ARB\0",
Packit 971217
                  "vertex_buffer_object\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, GenBuffers,
Packit 971217
                     (GLsizei		 n,
Packit 971217
                      GLuint		*buffers))
Packit 971217
GST_GL_EXT_FUNCTION (void, BindBuffer,
Packit 971217
                     (GLenum		 target,
Packit 971217
                      GLuint		 buffer))
Packit 971217
GST_GL_EXT_FUNCTION (void, BufferData,
Packit 971217
                     (GLenum		 target,
Packit 971217
                      GLsizeiptr		 size,
Packit 971217
                      const GLvoid		*data,
Packit 971217
                      GLenum		 usage))
Packit 971217
GST_GL_EXT_FUNCTION (void, BufferSubData,
Packit 971217
                     (GLenum		 target,
Packit 971217
                      GLintptr		 offset,
Packit 971217
                      GLsizeiptr		 size,
Packit 971217
                      const GLvoid		*data))
Packit 971217
GST_GL_EXT_FUNCTION (void, DeleteBuffers,
Packit 971217
                     (GLsizei		 n,
Packit 971217
                      const GLuint		*buffers))
Packit 971217
GST_GL_EXT_FUNCTION (GLboolean, IsBuffer,
Packit 971217
                     (GLuint               buffer))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
/* Available in GL 1.3, the multitexture extension or GLES. These are
Packit 971217
   required */
Packit 971217
GST_GL_EXT_BEGIN (multitexture_part0,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES1 | GST_GL_API_GLES2,
Packit 971217
                  1, 3,
Packit 971217
                  1, 0,
Packit 971217
                  "ARB\0",
Packit 971217
                  "multitexture\0")
Packit 971217
GST_GL_EXT_FUNCTION (void, ActiveTexture,
Packit 971217
                   (GLenum                texture))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
Packit 971217
 /* GLES doesn't support mapping buffers in core so this has to be a
Packit 971217
   separate check */
Packit 971217
GST_GL_EXT_BEGIN (map_vbos, 
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3,
Packit 971217
                  1, 5,
Packit 971217
                  255, 255, /* not in GLES core */
Packit 971217
                  "ARB\0OES\0",
Packit 971217
                  "vertex_buffer_object\0mapbuffer\0")
Packit 971217
GST_GL_EXT_FUNCTION (void *, MapBuffer,
Packit 971217
                   (GLenum		 target,
Packit 971217
                    GLenum		 access))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (unmap_buffer,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2,
Packit 971217
                  1, 5,
Packit 971217
                  3, 0,
Packit 971217
                  "ARB\0OES\0",
Packit 971217
                  "vertex_buffer_object\0mapbuffer\0")
Packit 971217
GST_GL_EXT_FUNCTION (GLboolean, UnmapBuffer,
Packit 971217
                   (GLenum		 target))
Packit 971217
GST_GL_EXT_END ()
Packit 971217
Packit 971217
GST_GL_EXT_BEGIN (gl3,
Packit 971217
                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3 |
Packit 971217
                  GST_GL_API_GLES2,
Packit 971217
                  3, 0,
Packit 971217
                  3, 0,
Packit 971217
                  "\0",
Packit 971217
                  "\0")
Packit 971217
GST_GL_EXT_FUNCTION (const GLubyte*, GetStringi,
Packit 971217
                     (GLenum name, GLint index))
Packit 971217
GST_GL_EXT_FUNCTION (void *, MapBufferRange,
Packit 971217
                     (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access))
Packit 971217
GST_GL_EXT_END ()