| 1 | /* |
| 2 | * GStreamer |
| 3 | * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com> |
| 4 | * |
| 5 | * This library is free software; you can redistribute it and/or |
| 6 | * modify it under the terms of the GNU Library General Public |
| 7 | * License as published by the Free Software Foundation; either |
| 8 | * version 2 of the License, or (at your option) any later version. |
| 9 | * |
| 10 | * This library is distributed in the hope that it will be useful, |
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 13 | * Library General Public License for more details. |
| 14 | * |
| 15 | * You should have received a copy of the GNU Library General Public |
| 16 | * License along with this library; if not, write to the |
| 17 | * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, |
| 18 | * Boston, MA 02110-1301, USA. |
| 19 | */ |
| 20 | /* |
| 21 | * Cogl |
| 22 | * |
| 23 | * An object oriented GL/GLES Abstraction/Utility Layer |
| 24 | * |
| 25 | * Copyright (C) 2009, 2011 Intel Corporation. |
| 26 | * |
| 27 | * This library is free software; you can redistribute it and/or |
| 28 | * modify it under the terms of the GNU Lesser General Public |
| 29 | * License as published by the Free Software Foundation; either |
| 30 | * version 2 of the License, or (at your option) any later version. |
| 31 | * |
| 32 | * This library is distributed in the hope that it will be useful, |
| 33 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 34 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 35 | * Lesser General Public License for more details. |
| 36 | * |
| 37 | * You should have received a copy of the GNU Lesser General Public |
| 38 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
| 39 | */ |
| 40 | |
| 41 | GST_GL_EXT_BEGIN (offscreen, |
| 42 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | |
| 43 | GST_GL_API_GLES2, |
| 44 | 3, 0, |
| 45 | 2, 0, |
| 46 | /* for some reason the ARB version of this |
| 47 | extension doesn't have an ARB suffix for the |
| 48 | functions */ |
| 49 | "ARB:\0EXT\0OES\0" , |
| 50 | "framebuffer_object\0" ) |
| 51 | GST_GL_EXT_FUNCTION (void, GenRenderbuffers, |
| 52 | (GLsizei n, |
| 53 | GLuint *renderbuffers)) |
| 54 | GST_GL_EXT_FUNCTION (void, DeleteRenderbuffers, |
| 55 | (GLsizei n, |
| 56 | const GLuint *renderbuffers)) |
| 57 | GST_GL_EXT_FUNCTION (void, BindRenderbuffer, |
| 58 | (GLenum target, |
| 59 | GLuint renderbuffer)) |
| 60 | GST_GL_EXT_FUNCTION (void, RenderbufferStorage, |
| 61 | (GLenum target, |
| 62 | GLenum internalformat, |
| 63 | GLsizei width, |
| 64 | GLsizei height)) |
| 65 | GST_GL_EXT_FUNCTION (void, GenFramebuffers, |
| 66 | (GLsizei n, |
| 67 | GLuint *framebuffers)) |
| 68 | GST_GL_EXT_FUNCTION (void, BindFramebuffer, |
| 69 | (GLenum target, |
| 70 | GLuint framebuffer)) |
| 71 | GST_GL_EXT_FUNCTION (void, FramebufferTexture2D, |
| 72 | (GLenum target, |
| 73 | GLenum attachment, |
| 74 | GLenum textarget, |
| 75 | GLuint texture, |
| 76 | GLint level)) |
| 77 | GST_GL_EXT_FUNCTION (void, FramebufferRenderbuffer, |
| 78 | (GLenum target, |
| 79 | GLenum attachment, |
| 80 | GLenum renderbuffertarget, |
| 81 | GLuint renderbuffer)) |
| 82 | GST_GL_EXT_FUNCTION (GLboolean, IsRenderbuffer, |
| 83 | (GLuint renderbuffer)) |
| 84 | GST_GL_EXT_FUNCTION (GLenum, CheckFramebufferStatus, |
| 85 | (GLenum target)) |
| 86 | GST_GL_EXT_FUNCTION (void, DeleteFramebuffers, |
| 87 | (GLsizei n, |
| 88 | const GLuint *framebuffers)) |
| 89 | GST_GL_EXT_FUNCTION (void, GenerateMipmap, |
| 90 | (GLenum target)) |
| 91 | GST_GL_EXT_FUNCTION (void, GetFramebufferAttachmentParameteriv, |
| 92 | (GLenum target, |
| 93 | GLenum attachment, |
| 94 | GLenum pname, |
| 95 | GLint *params)) |
| 96 | GST_GL_EXT_FUNCTION (void, GetRenderbufferParameteriv, |
| 97 | (GLenum target, |
| 98 | GLenum pname, |
| 99 | GLint *params)) |
| 100 | GST_GL_EXT_FUNCTION (GLboolean, IsFramebuffer, |
| 101 | (GLuint framebuffer)) |
| 102 | GST_GL_EXT_END () |
| 103 | |
| 104 | GST_GL_EXT_BEGIN (offscreen_blit, |
| 105 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | |
| 106 | GST_GL_API_GLES2, |
| 107 | 3, 0, |
| 108 | 3, 0, |
| 109 | "EXT\0ANGLE\0" , |
| 110 | "framebuffer_blit\0" ) |
| 111 | GST_GL_EXT_FUNCTION (void, BlitFramebuffer, |
| 112 | (GLint srcX0, |
| 113 | GLint srcY0, |
| 114 | GLint srcX1, |
| 115 | GLint srcY1, |
| 116 | GLint dstX0, |
| 117 | GLint dstY0, |
| 118 | GLint dstX1, |
| 119 | GLint dstY1, |
| 120 | GLbitfield mask, |
| 121 | GLenum filter)) |
| 122 | GST_GL_EXT_END () |
| 123 | |
| 124 | GST_GL_EXT_BEGIN (framebuffer_discard, |
| 125 | GST_GL_API_NONE, |
| 126 | 255, 255, |
| 127 | 255, 255, /* not in either GLES */ |
| 128 | "EXT\0" , |
| 129 | "framebuffer_discard\0" ) |
| 130 | GST_GL_EXT_FUNCTION (void, DiscardFramebuffer, |
| 131 | (GLenum target, |
| 132 | GLsizei numAttachments, |
| 133 | const GLenum *attachments)) |
| 134 | GST_GL_EXT_END () |
| 135 | |
| 136 | |
| 137 | GST_GL_EXT_BEGIN (read_buffer, |
| 138 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | |
| 139 | GST_GL_API_GLES2, |
| 140 | 1, 0, |
| 141 | 3, 0, |
| 142 | "NV\0" , |
| 143 | "read_buffer\0" ) |
| 144 | GST_GL_EXT_FUNCTION (void, ReadBuffer, |
| 145 | (GLenum mode)) |
| 146 | GST_GL_EXT_END () |
| 147 | |
| 148 | GST_GL_EXT_BEGIN (draw_buffers, |
| 149 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | |
| 150 | GST_GL_API_GLES2, |
| 151 | 2, 1, |
| 152 | 3, 0, |
| 153 | "ARB\0ATI\0NV\0" , |
| 154 | "draw_buffers\0" ) |
| 155 | GST_GL_EXT_FUNCTION (void, DrawBuffers, |
| 156 | (GLsizei n, const GLenum *bufs)) |
| 157 | GST_GL_EXT_END () |
| 158 | |