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 | |