1
2 //////////////////////////////////////////////////////////////////////////////////////////////////
3 #ifndef _EVASGL_EXT_BEGIN
4
5 #define _EVASGL_EXT_USE_DEFAULT_DEFINE
6
7 #define _EVASGL_EXT_CHECK_SUPPORT(name)
8 #define _EVASGL_EXT_DISCARD_SUPPORT()
9
10 // Begin of the extension block (name : EVAS extension name)
11 #define _EVASGL_EXT_BEGIN(name)
12 // End of the extension block
13 #define _EVASGL_EXT_END()
14
15 // Driver extensions to wrap (name : SPEC extension name)
16 #define _EVASGL_EXT_DRVNAME(name)
17 #define _EVASGL_EXT_DRVNAME_PRIVATE(name)
18 #define _EVASGL_EXT_DRVNAME_DESKTOP(deskname)
19
20 // These functions will be exported to 'EVAS extension function'.
21 // The functions of this block must correspond with the functions list in Evas_GL.h.
22 // Begin of the extension function block (ret : return value, name : function name, param1 : parameters with bracket, param2 : parameters without type)
23 #define _EVASGL_EXT_FUNCTION_BEGIN(ret, name, param1, param2) ret (*name) param1;
24 // End of the extension function block
25 #define _EVASGL_EXT_FUNCTION_END()
26
27 // These functions will not be exported. Only be used in engines privately.
28 // Begin of the extension function block (ret : return value, name : function name, param1 : parameters with bracket, param2 : parameters without type)
29 #define _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(ret, name, param1, param2)
30 // End of the extension function block
31 #define _EVASGL_EXT_FUNCTION_PRIVATE_END()
32
33 // These functions will not be considered for export for GLESv1
34 // Begin of the glesv1 bypass function block
35 #define _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_BEGIN()
36 // End of the glesv1 bypass function block
37 #define _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_END()
38
39 // Driver extension functions to wrap (name : SPEC extension function name)
40 #define _EVASGL_EXT_FUNCTION_DRVFUNC(name)
41
42 // Driver extension functions that need no wrapping
43 #define _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR(name)
44
45 #endif
46 //////////////////////////////////////////////////////////////////////////////////////////////////
47
48 #ifndef _EVASGL_EXT_DRVNAME_PRIVATE
49 #define _EVASGL_EXT_DRVNAME_PRIVATE(name) _EVASGL_EXT_DRVNAME(name)
50 #define _EVASGL_EXT_DRVNAME_PRIVATE_DEFINED
51 #endif
52
53 #ifndef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN
54 #define _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(ret, name, param1, param2) _EVASGL_EXT_FUNCTION_BEGIN(ret, name, param1, param2)
55 #define _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN_DEFINED
56 #endif
57
58 #ifndef _EVASGL_EXT_FUNCTION_PRIVATE_END
59 #define _EVASGL_EXT_FUNCTION_PRIVATE_END() _EVASGL_EXT_FUNCTION_END()
60 #define _EVASGL_EXT_FUNCTION_PRIVATE_END_DEFINED
61 #endif
62
63 #ifndef _EVASGL_EXT_WHITELIST_ONLY
64 # define _EVASGL_EXT_WHITELIST_ONLY 1
65 #endif
66
67 #ifndef _EVASGL_EXT_ENABLE_GL_GLES
68 # define _EVASGL_EXT_ENABLE_GL_GLES 1
69 #endif
70
71 #ifndef _EVASGL_EXT_ENABLE_EGL
72 # define _EVASGL_EXT_ENABLE_EGL 1
73 #endif
74
75 #ifndef _EVASGL_EXT_FUNCTION_WHITELIST
76 # define _EVASGL_EXT_FUNCTION_WHITELIST(name)
77 #endif
78
79 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
80 // GL/GLES EXTENSIONS
81 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
82 #if _EVASGL_EXT_ENABLE_GL_GLES
83 _EVASGL_EXT_BEGIN(get_program_binary)
_EVASGL_EXT_DRVNAME(GL_OES_get_program_binary)84 _EVASGL_EXT_DRVNAME(GL_OES_get_program_binary)
85
86 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetProgramBinaryOES, (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary), (program, bufSize, length, binaryFormat, binary))
87 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetProgramBinary")
88 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetProgramBinaryOES")
89 _EVASGL_EXT_FUNCTION_END()
90 _EVASGL_EXT_FUNCTION_BEGIN(void, glProgramBinaryOES, (GLuint program, GLenum binaryFormat, const void *binary, GLint length), (program, binaryFormat, binary, length))
91 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glProgramBinary")
92 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glProgramBinaryOES")
93 _EVASGL_EXT_FUNCTION_END()
94 _EVASGL_EXT_END()
95
96
97 _EVASGL_EXT_BEGIN(mapbuffer)
98 _EVASGL_EXT_DRVNAME(GL_OES_mapbuffer)
99
100 _EVASGL_EXT_FUNCTION_BEGIN(void *, glMapBufferOES, (GLenum target, GLenum access), (target, access))
101 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMapBuffer")
102 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMapBufferOES")
103 _EVASGL_EXT_FUNCTION_END()
104 _EVASGL_EXT_FUNCTION_BEGIN(GLboolean, glUnmapBufferOES, (GLenum target), (target))
105 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glUnmapBuffer")
106 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glUnmapBufferOES")
107 _EVASGL_EXT_FUNCTION_END()
108 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetBufferPointervOES, (GLenum target, GLenum pname, void** params), (target, pname, params))
109 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetBufferPointerv")
110 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetBufferPointervOES")
111 _EVASGL_EXT_FUNCTION_END()
112 _EVASGL_EXT_END()
113
114 _EVASGL_EXT_BEGIN(texture_3D)
115 _EVASGL_EXT_DRVNAME(GL_OES_texture_3D)
116
117 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexImage3DOES, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels), (target, level, internalformat, width, height, depth, border, format, type, pixels))
118 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexImage3D")
119 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexImage3DOES")
120 _EVASGL_EXT_FUNCTION_END()
121 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels), (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels))
122 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexSubImage3D")
123 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexSubImage3DOES")
124 _EVASGL_EXT_FUNCTION_END()
125 _EVASGL_EXT_FUNCTION_BEGIN(void, glCopyTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target, level, xoffset, yoffset, zoffset, x, y, width, height))
126 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCopyTexSubImage3D")
127 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCopyTexSubImage3DOES")
128 _EVASGL_EXT_FUNCTION_END()
129 _EVASGL_EXT_FUNCTION_BEGIN(void, glCompressedTexImage3DOES, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data), (target, level, internalformat, width, height, depth, border, imageSize, data))
130 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCompressedTexImage3D")
131 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCompressedTexImage3DOES")
132 _EVASGL_EXT_FUNCTION_END()
133 _EVASGL_EXT_FUNCTION_BEGIN(void, glCompressedTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data), (target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data))
134 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCompressedTexSubImage3D")
135 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCompressedTexSubImage3DOES")
136 _EVASGL_EXT_FUNCTION_END()
137 _EVASGL_EXT_FUNCTION_BEGIN(void, glFramebufferTexture3DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset), (target, attachment, textarget, texture, level, zoffset))
138 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture3D")
139 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture3DOES")
140 _EVASGL_EXT_FUNCTION_END()
141 _EVASGL_EXT_END()
142
143
144 _EVASGL_EXT_BEGIN(AMD_performance_monitor)
145 _EVASGL_EXT_DRVNAME(GL_AMD_performance_monitor)
146
147 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorGroupsAMD, (GLint* numGroups, GLsizei groupsSize, GLuint* groups), (numGroups, groupsSize, groups))
148 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorGroupsAMD")
149 _EVASGL_EXT_FUNCTION_END()
150 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorCountersAMD, (GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters), (group, numCounters, maxActiveCounters, counterSize, counters))
151 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorCountersAMD")
152 _EVASGL_EXT_FUNCTION_END()
153 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorGroupStringAMD, (GLuint group, GLsizei bufSize, GLsizei* length, char* groupString), (group, bufSize, length, groupString))
154 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorGroupStringAMD")
155 _EVASGL_EXT_FUNCTION_END()
156 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorCounterStringAMD, (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, char* counterString), (group, counter, bufSize, length, counterString))
157 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorCounterStringAMD")
158 _EVASGL_EXT_FUNCTION_END()
159 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorCounterInfoAMD, (GLuint group, GLuint counter, GLenum pname, void* data), (group, counter, pname, data))
160 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorCounterInfoAMD")
161 _EVASGL_EXT_FUNCTION_END()
162 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenPerfMonitorsAMD, (GLsizei n, GLuint* monitors), (n, monitors))
163 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenPerfMonitorsAMD")
164 _EVASGL_EXT_FUNCTION_END()
165 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeletePerfMonitorsAMD, (GLsizei n, GLuint* monitors), (n, monitors))
166 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeletePerfMonitorsAMD")
167 _EVASGL_EXT_FUNCTION_END()
168 _EVASGL_EXT_FUNCTION_BEGIN(void, glSelectPerfMonitorCountersAMD, (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* countersList), (monitor, enable, group, numCounters, countersList))
169 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glSelectPerfMonitorCountersAMD")
170 _EVASGL_EXT_FUNCTION_END()
171 _EVASGL_EXT_FUNCTION_BEGIN(void, glBeginPerfMonitorAMD, (GLuint monitor), (monitor))
172 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBeginPerfMonitorAMD")
173 _EVASGL_EXT_FUNCTION_END()
174 _EVASGL_EXT_FUNCTION_BEGIN(void, glEndPerfMonitorAMD, (GLuint monitor), (monitor))
175 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glEndPerfMonitorAMD")
176 _EVASGL_EXT_FUNCTION_END()
177 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetPerfMonitorCounterDataAMD, (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten), (monitor, pname, dataSize, data, bytesWritten))
178 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetPerfMonitorCounterDataAMD")
179 _EVASGL_EXT_FUNCTION_END()
180 _EVASGL_EXT_END()
181
182
183 _EVASGL_EXT_BEGIN(discard_framebuffer)
184 _EVASGL_EXT_DRVNAME(GL_EXT_discard_framebuffer)
185
186 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glDiscardFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum* attachments), (target, numAttachments, attachments))
187 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDiscardFramebuffer")
188 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDiscardFramebufferEXT")
189 _EVASGL_EXT_FUNCTION_PRIVATE_END()
190
191 _EVASGL_EXT_FUNCTION_BEGIN(void, glDiscardFramebufferEXT, (GLenum target, GLsizei numAttachments, const GLenum* attachments), (target, numAttachments, attachments))
192 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_glDiscardFramebufferEXT)
193 _EVASGL_EXT_FUNCTION_END()
194 _EVASGL_EXT_END()
195
196
197
198 _EVASGL_EXT_BEGIN(multi_draw_arrays)
199 _EVASGL_EXT_DRVNAME(GL_EXT_multi_draw_arrays)
200
201 _EVASGL_EXT_FUNCTION_BEGIN(void, glMultiDrawArraysEXT, (GLenum mode, GLint* first, GLsizei* count, GLsizei primcount), (mode, first, count, primcount))
202 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiDrawArrays")
203 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiDrawArraysEXT")
204 _EVASGL_EXT_FUNCTION_END()
205 _EVASGL_EXT_FUNCTION_BEGIN(void, glMultiDrawElementsEXT, (GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount), (mode, count, type, indices, primcount))
206 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiDrawElements")
207 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiDrawElementsEXT")
208 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiDrawElementsARB")
209 _EVASGL_EXT_FUNCTION_END()
210 _EVASGL_EXT_END()
211
212
213 _EVASGL_EXT_BEGIN(NV_fence)
214 _EVASGL_EXT_DRVNAME(GL_NV_fence)
215
216 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeleteFencesNV, (GLsizei n, const GLuint* fences), (n, fences))
217 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteFencesNV")
218 _EVASGL_EXT_FUNCTION_END()
219 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenFencesNV, (GLsizei n, GLuint* fences), (n, fences))
220 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenFencesNV")
221 _EVASGL_EXT_FUNCTION_END()
222 _EVASGL_EXT_FUNCTION_BEGIN(unsigned char, glIsFenceNV, (GLuint fence), (fence))
223 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsFenceNV")
224 _EVASGL_EXT_FUNCTION_END()
225 _EVASGL_EXT_FUNCTION_BEGIN(unsigned char, glTestFenceNV, (GLuint fence), (fence))
226 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTestFenceNV")
227 _EVASGL_EXT_FUNCTION_END()
228 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetFenceivNV, (GLuint fence, GLenum pname, GLint* params), (fence, pname, params))
229 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFenceivNV")
230 _EVASGL_EXT_FUNCTION_END()
231 _EVASGL_EXT_FUNCTION_BEGIN(void, glFinishFenceNV, (GLuint fence), (fence))
232 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFinishFenceNV")
233 _EVASGL_EXT_FUNCTION_END()
234 _EVASGL_EXT_FUNCTION_BEGIN(void, glSetFenceNV, (GLuint fence, GLenum condition), (fence, condition))
235 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glSetFenceNV")
236 _EVASGL_EXT_FUNCTION_END()
237 _EVASGL_EXT_END()
238
239
240 _EVASGL_EXT_BEGIN(QCOM_driver_control)
241 _EVASGL_EXT_DRVNAME(GL_QCOM_driver_control)
242
243 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetDriverControlsQCOM, (GLint* num, GLsizei size, GLuint* driverControls), (num, size, driverControls))
244 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetDriverControlsQCOM")
245 _EVASGL_EXT_FUNCTION_END()
246 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetDriverControlStringQCOM, (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString), (driverControl, bufSize, length, driverControlString))
247 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetDriverControlStringQCOM")
248 _EVASGL_EXT_FUNCTION_END()
249 _EVASGL_EXT_FUNCTION_BEGIN(void, glEnableDriverControlQCOM, (GLuint driverControl), (driverControl))
250 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glEnableDriverControlQCOM")
251 _EVASGL_EXT_FUNCTION_END()
252 _EVASGL_EXT_FUNCTION_BEGIN(void, glDisableDriverControlQCOM, (GLuint driverControl), (driverControl))
253 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDisableDriverControlQCOM")
254 _EVASGL_EXT_FUNCTION_END()
255 _EVASGL_EXT_END()
256
257
258 _EVASGL_EXT_BEGIN(QCOM_extended_get)
259 _EVASGL_EXT_DRVNAME(GL_QCOM_extended_get)
260
261 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetTexturesQCOM, (GLuint* textures, GLint maxTextures, GLint* numTextures), (textures, maxTextures, numTextures))
262 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetTexturesQCOM")
263 _EVASGL_EXT_FUNCTION_END()
264 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetBuffersQCOM, (GLuint* buffers, GLint maxBuffers, GLint* numBuffers), (buffers, maxBuffers, numBuffers))
265 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetBuffersQCOM")
266 _EVASGL_EXT_FUNCTION_END()
267 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetRenderbuffersQCOM, (GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers), (renderbuffers, maxRenderbuffers, numRenderbuffers))
268 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetRenderbuffersQCOM")
269 _EVASGL_EXT_FUNCTION_END()
270 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetFramebuffersQCOM, (GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers), (framebuffers, maxFramebuffers, numFramebuffers))
271 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetFramebuffersQCOM")
272 _EVASGL_EXT_FUNCTION_END()
273 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetTexLevelParameterivQCOM, (GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params), (texture, face, level, pname, params))
274 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetTexLevelParameterivQCOM")
275 _EVASGL_EXT_FUNCTION_END()
276 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtTexObjectStateOverrideiQCOM, (GLenum target, GLenum pname, GLint param), (target, pname, param))
277 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtTexObjectStateOverrideiQCOM")
278 _EVASGL_EXT_FUNCTION_END()
279 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetTexSubImageQCOM, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void* texels), (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels))
280 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetTexSubImageQCOM")
281 _EVASGL_EXT_FUNCTION_END()
282 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetBufferPointervQCOM, (GLenum target, void** params), (target, params))
283 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetBufferPointervQCOM")
284 _EVASGL_EXT_FUNCTION_END()
285 _EVASGL_EXT_END()
286
287
288 _EVASGL_EXT_BEGIN(QCOM_extended_get2)
289 _EVASGL_EXT_DRVNAME(GL_QCOM_extended_get2)
290
291 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetShadersQCOM, (GLuint* shaders, GLint maxShaders, GLint* numShaders), (shaders, maxShaders, numShaders))
292 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetShadersQCOM")
293 _EVASGL_EXT_FUNCTION_END()
294 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetProgramsQCOM, (GLuint* programs, GLint maxPrograms, GLint* numPrograms), (programs, maxPrograms, numPrograms))
295 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetProgramsQCOM")
296 _EVASGL_EXT_FUNCTION_END()
297 _EVASGL_EXT_FUNCTION_BEGIN(unsigned char, glExtIsProgramBinaryQCOM, (GLuint program), (program))
298 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtIsProgramBinaryQCOM")
299 _EVASGL_EXT_FUNCTION_END()
300 _EVASGL_EXT_FUNCTION_BEGIN(void, glExtGetProgramBinarySourceQCOM, (GLuint program, GLenum shadertype, char* source, GLint* length), (program, shadertype, source, length))
301 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glExtGetProgramBinarySourceQCOM")
302 _EVASGL_EXT_FUNCTION_END()
303 _EVASGL_EXT_END()
304
305 _EVASGL_EXT_BEGIN(IMG_multisampled_render_to_texture)
306 _EVASGL_EXT_DRVNAME(GL_IMG_multisampled_render_to_texture)
307 _EVASGL_EXT_END()
308
309 _EVASGL_EXT_BEGIN(EXT_multisampled_render_to_texture)
310 _EVASGL_EXT_DRVNAME(GL_EXT_multisampled_render_to_texture)
311
312 /* GLES 1.x extension */
313 _EVASGL_EXT_FUNCTION_BEGIN(void, glRenderbufferStorageMultisampleEXT, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), (target, samples, internalformat, width, height))
314 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisample")
315 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisampleEXT")
316 _EVASGL_EXT_FUNCTION_END()
317 _EVASGL_EXT_FUNCTION_BEGIN(void, glFramebufferTexture2DMultisampleEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples), (target, attachment, textarget, texture, level, samples))
318 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DMultisample")
319 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DMultisampleEXT")
320 _EVASGL_EXT_FUNCTION_END()
321 _EVASGL_EXT_END()
322
323 _EVASGL_EXT_BEGIN(multisampled_render_to_texture)
324 _EVASGL_EXT_DRVNAME_PRIVATE(GL_IMG_multisampled_render_to_texture)
325 _EVASGL_EXT_DRVNAME_PRIVATE(GL_EXT_multisampled_render_to_texture)
326
327 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glRenderbufferStorageMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), (target, samples, internalformat, width, height))
328 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisample")
329 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisampleIMG")
330 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisampleEXT")
331 _EVASGL_EXT_FUNCTION_PRIVATE_END()
332 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glFramebufferTexture2DMultisample, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples), (target, attachment, textarget, texture, level, samples))
333 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DMultisample")
334 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DMultisampleIMG")
335 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DMultisampleEXT")
336 _EVASGL_EXT_FUNCTION_PRIVATE_END()
337 _EVASGL_EXT_END()
338
339 /* ETC1 compressed texture format support */
340 _EVASGL_EXT_BEGIN(compressed_ETC1_RGB8_texture)
341 _EVASGL_EXT_DRVNAME(GL_OES_compressed_ETC1_RGB8_texture)
342 _EVASGL_EXT_END()
343
344 /* SubImage texture upload support for ETC1*/
345 _EVASGL_EXT_BEGIN(compressed_ETC1_RGB8_sub_texture)
346 _EVASGL_EXT_DRVNAME(GL_EXT_compressed_ETC1_RGB8_sub_texture)
347 _EVASGL_EXT_END()
348
349 _EVASGL_EXT_BEGIN(compressed_ETC2_RGB8_texture)
350 _EVASGL_EXT_DRVNAME(GL_OES_compressed_ETC2_RGB8_texture)
351 _EVASGL_EXT_END()
352
353 _EVASGL_EXT_BEGIN(compressed_paletted_texture)
354 _EVASGL_EXT_DRVNAME(GL_OES_compressed_paletted_texture)
355 _EVASGL_EXT_END()
356
357 _EVASGL_EXT_BEGIN(depth24)
358 _EVASGL_EXT_DRVNAME(GL_OES_depth24)
359 _EVASGL_EXT_END()
360
361 _EVASGL_EXT_BEGIN(depth32)
362 _EVASGL_EXT_DRVNAME(GL_OES_depth32)
363 _EVASGL_EXT_END()
364
365 _EVASGL_EXT_BEGIN(EGL_image)
366 _EVASGL_EXT_DRVNAME(GL_OES_EvasGL_image)
367 _EVASGL_EXT_END()
368
369 _EVASGL_EXT_BEGIN(packed_depth_stencil)
370 _EVASGL_EXT_DRVNAME(GL_OES_packed_depth_stencil)
371 _EVASGL_EXT_DRVNAME_DESKTOP("GL_EXT_packed_depth_stencil")
372 _EVASGL_EXT_END()
373
374 _EVASGL_EXT_BEGIN(rgb8_rgba8)
375 _EVASGL_EXT_DRVNAME(GL_OES_rgb8_rgba8)
376 _EVASGL_EXT_END()
377
378 _EVASGL_EXT_BEGIN(standard_derivatives)
379 _EVASGL_EXT_DRVNAME(GL_OES_standard_derivatives)
380 _EVASGL_EXT_END()
381
382 _EVASGL_EXT_BEGIN(stencil1)
383 _EVASGL_EXT_DRVNAME(GL_OES_stencil1)
384 _EVASGL_EXT_END()
385
386 _EVASGL_EXT_BEGIN(stencil4)
387 _EVASGL_EXT_DRVNAME(GL_OES_stencil4)
388 _EVASGL_EXT_END()
389
390 _EVASGL_EXT_BEGIN(texture_float)
391 _EVASGL_EXT_DRVNAME(GL_OES_texture_float)
392 _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_texture_float")
393 _EVASGL_EXT_END()
394
395 _EVASGL_EXT_BEGIN(texture_half_float)
396 _EVASGL_EXT_DRVNAME(GL_OES_texture_half_float)
397 _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_texture_half_float")
398 _EVASGL_EXT_END()
399
400 _EVASGL_EXT_BEGIN(texture_float_linear)
401 _EVASGL_EXT_DRVNAME(GL_OES_texture_float_linear)
402 // _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_texture_float_linear")
403 _EVASGL_EXT_END()
404
405 _EVASGL_EXT_BEGIN(texture_half_float_linear)
406 _EVASGL_EXT_DRVNAME(GL_OES_texture_half_float_linear)
407 // _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_texture_half_float_linear")
408 _EVASGL_EXT_END()
409
410 _EVASGL_EXT_BEGIN(texture_npot)
411 _EVASGL_EXT_DRVNAME(GL_OES_texture_npot)
412 _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_texture_non_power_of_two")
413 _EVASGL_EXT_END()
414
415 _EVASGL_EXT_BEGIN(vertex_half_float)
416 _EVASGL_EXT_DRVNAME(GL_OES_vertex_half_float)
417 _EVASGL_EXT_DRVNAME_DESKTOP("GL_ARB_half_float_vertex")
418 _EVASGL_EXT_END()
419
420 _EVASGL_EXT_BEGIN(vertex_type_10_10_10_2)
421 _EVASGL_EXT_DRVNAME(GL_OES_vertex_type_10_10_10_2)
422 _EVASGL_EXT_END()
423
424 _EVASGL_EXT_BEGIN(compressed_3DC_texture)
425 _EVASGL_EXT_DRVNAME(GL_AMD_compressed_3DC_texture)
426 _EVASGL_EXT_END()
427
428 _EVASGL_EXT_BEGIN(compressed_ATC_texture)
429 _EVASGL_EXT_DRVNAME(GL_AMD_compressed_ATC_texture)
430 _EVASGL_EXT_END()
431
432 _EVASGL_EXT_BEGIN(program_binary_Z400)
433 _EVASGL_EXT_DRVNAME(GL_AMD_program_binary_Z400)
434 _EVASGL_EXT_END()
435
436 _EVASGL_EXT_BEGIN(blend_minmax)
437 _EVASGL_EXT_DRVNAME(GL_EXT_blend_minmax)
438 _EVASGL_EXT_END()
439
440 _EVASGL_EXT_BEGIN(read_format_bgra) // Desktop has it from GL 1.2
441 _EVASGL_EXT_DRVNAME(GL_EXT_read_format_bgra)
442 _EVASGL_EXT_END()
443
444 _EVASGL_EXT_BEGIN(texture_filter_anisotropic)
445 _EVASGL_EXT_DRVNAME(GL_EXT_texture_filter_anisotropic)
446 _EVASGL_EXT_END()
447
448 _EVASGL_EXT_BEGIN(texture_format_BGRA8888) // Desktop has it from GL 1.2
449 _EVASGL_EXT_DRVNAME(GL_EXT_texture_format_BGRA8888)
450 _EVASGL_EXT_END()
451
452 _EVASGL_EXT_BEGIN(texture_type_2_10_10_10_rev) // Desktop has it from GL 1.2
453 _EVASGL_EXT_DRVNAME(GL_EXT_texture_type_2_10_10_10_REV)
454 _EVASGL_EXT_END()
455
456 _EVASGL_EXT_BEGIN(IMG_program_binary)
457 _EVASGL_EXT_DRVNAME(GL_IMG_program_binary)
458 _EVASGL_EXT_END()
459
460 _EVASGL_EXT_BEGIN(IMG_read_format)
461 _EVASGL_EXT_DRVNAME(GL_IMG_read_format)
462 _EVASGL_EXT_END()
463
464 _EVASGL_EXT_BEGIN(IMG_shader_binary)
465 _EVASGL_EXT_DRVNAME(GL_IMG_shader_binary)
466 _EVASGL_EXT_END()
467
468 _EVASGL_EXT_BEGIN(IMG_texture_compression_pvrtc)
469 _EVASGL_EXT_DRVNAME(GL_IMG_texture_compression_pvrtc)
470 _EVASGL_EXT_END()
471
472 _EVASGL_EXT_BEGIN(QCOM_perfmon_global_mode)
473 _EVASGL_EXT_DRVNAME(GL_QCOM_perfmon_global_mode)
474 _EVASGL_EXT_END()
475
476 _EVASGL_EXT_BEGIN(QCOM_writeonly_rendering)
477 _EVASGL_EXT_DRVNAME(GL_QCOM_writeonly_rendering)
478 _EVASGL_EXT_END()
479
480 _EVASGL_EXT_BEGIN(read_format)
481 _EVASGL_EXT_DRVNAME(GL_OES_read_format)
482 _EVASGL_EXT_END()
483
484 /* GL_OES_fragment_precision_high:
485 This extension has been withdrawn. See the specification of
486 GetShaderPrecisionFormat in section 6.1.8 of the OpenGL ES 2.0
487 Specification to determine within the API if high-precision fragment
488 shader varyings are supported by the implementation.
489 */
490
491
492 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
493
494
495 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
496 // GLES 1.1 ONLY EXTENSIONS
497 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
498
499 _EVASGL_EXT_BEGIN(blend_equation_separate)
500 _EVASGL_EXT_DRVNAME(GL_OES_blend_equation_separate)
501
502 _EVASGL_EXT_FUNCTION_BEGIN(void, glBlendEquationSeparateOES, (GLenum modeRGB, GLenum modeAlpha), (modeRGB, modeAlpha))
503 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendEquationSeparate")
504 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendEquationSeparateOES")
505 _EVASGL_EXT_FUNCTION_END()
506 _EVASGL_EXT_END()
507
508
509 _EVASGL_EXT_BEGIN(blend_func_separate)
510 _EVASGL_EXT_DRVNAME(GL_OES_blend_func_separate)
511
512 _EVASGL_EXT_FUNCTION_BEGIN(void, glBlendFuncSeparateOES, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), (srcRGB, dstRGB, srcAlpha, dstAlpha))
513 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendFuncSeparate")
514 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendFuncSeparateOES")
515 _EVASGL_EXT_FUNCTION_END()
516 _EVASGL_EXT_END()
517
518
519 _EVASGL_EXT_BEGIN(blend_subtract)
520 _EVASGL_EXT_DRVNAME(GL_OES_blend_subtract)
521
522 _EVASGL_EXT_FUNCTION_BEGIN(void, glBlendEquationOES, (GLenum mode), (mode))
523 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendEquation")
524 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBlendEquationOES")
525 _EVASGL_EXT_FUNCTION_END()
526 _EVASGL_EXT_END()
527
528
529 _EVASGL_EXT_BEGIN(byte_coordinates)
530 _EVASGL_EXT_DRVNAME(GL_OES_byte_coordinates)
531 _EVASGL_EXT_END()
532
533
534 _EVASGL_EXT_BEGIN(draw_texture)
535 _EVASGL_EXT_DRVNAME(GL_OES_draw_texture)
536
537 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexsOES, (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height), (x, y, z, width, height))
538 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexs")
539 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexsOES")
540 _EVASGL_EXT_FUNCTION_END()
541 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexiOES, (GLint x, GLint y, GLint z, GLint width, GLint height), (x, y, z, width, height))
542 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexi")
543 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexiOES")
544 _EVASGL_EXT_FUNCTION_END()
545 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexxOES, (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height), (x, y, z, width, height))
546 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexx")
547 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexxOES")
548 _EVASGL_EXT_FUNCTION_END()
549 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexsvOES, (const GLshort *coords), (coords))
550 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexsv")
551 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexsvOES")
552 _EVASGL_EXT_FUNCTION_END()
553 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexivOES, (const GLint *coords), (coords))
554 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexiv")
555 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexivOES")
556 _EVASGL_EXT_FUNCTION_END()
557 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexxvOES, (const GLfixed *coords), (coords))
558 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexxv")
559 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexxvOES")
560 _EVASGL_EXT_FUNCTION_END()
561 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexfOES, (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height), (x, y, z, width, height))
562 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexf")
563 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexfOES")
564 _EVASGL_EXT_FUNCTION_END()
565 _EVASGL_EXT_FUNCTION_BEGIN(void, glDrawTexfvOES, (const GLfloat *coords), (coords))
566 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexfv")
567 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDrawTexfvOES")
568 _EVASGL_EXT_FUNCTION_END()
569 _EVASGL_EXT_END()
570
571
572 _EVASGL_EXT_BEGIN(extended_matrix_palette)
573 _EVASGL_EXT_DRVNAME(GL_OES_extended_matrix_palette)
574 _EVASGL_EXT_END()
575
576
577 _EVASGL_EXT_BEGIN(fixed_point)
578 _EVASGL_EXT_DRVNAME(GL_OES_fixed_point)
579
580 _EVASGL_EXT_FUNCTION_BEGIN(void, glAlphaFuncxOES, (GLenum func, GLclampx ref), (func, ref))
581 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glAlphaFuncx")
582 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glAlphaFuncxOES")
583 _EVASGL_EXT_FUNCTION_END()
584 _EVASGL_EXT_FUNCTION_BEGIN(void, glClearColorxOES, (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha), (red, green, blue, alpha))
585 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearColorx")
586 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearColorxOES")
587 _EVASGL_EXT_FUNCTION_END()
588 _EVASGL_EXT_FUNCTION_BEGIN(void, glClearDepthxOES, (GLclampx depth), (depth))
589 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearDepthx")
590 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearDepthxOES")
591 _EVASGL_EXT_FUNCTION_END()
592 _EVASGL_EXT_FUNCTION_BEGIN(void, glClipPlanexOES, (GLenum plane, const GLfixed *equation), (plane, equation))
593 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanex")
594 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanexOES")
595 _EVASGL_EXT_FUNCTION_END()
596 _EVASGL_EXT_FUNCTION_BEGIN(void, glColor4xOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), (red, green, blue, alpha))
597 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glColor4x")
598 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glColor4xOES")
599 _EVASGL_EXT_FUNCTION_END()
600 _EVASGL_EXT_FUNCTION_BEGIN(void, glDepthRangexOES, (GLclampx zNear, GLclampx zFar), (zNear, zFar))
601 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDepthRangex")
602 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDepthRangexOES")
603 _EVASGL_EXT_FUNCTION_END()
604 _EVASGL_EXT_FUNCTION_BEGIN(void, glFogxOES, (GLenum pname, GLfixed param), (pname, param))
605 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFogx")
606 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFogxOES")
607 _EVASGL_EXT_FUNCTION_END()
608 _EVASGL_EXT_FUNCTION_BEGIN(void, glFogxvOES, (GLenum pname, const GLfixed *params), (pname, params))
609 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFogxv")
610 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFogxvOES")
611 _EVASGL_EXT_FUNCTION_END()
612 _EVASGL_EXT_FUNCTION_BEGIN(void, glFrustumxOES, (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar), (left, right, bottom, top, zNear, zFar))
613 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFrustumx")
614 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFrustumxOES")
615 _EVASGL_EXT_FUNCTION_END()
616 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetClipPlanexOES, (GLenum pname, GLfixed eqn[4]), (pname, eqn))
617 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetClipPlanex")
618 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetClipPlanexOES")
619 _EVASGL_EXT_FUNCTION_END()
620 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetFixedvOES, (GLenum pname, GLfixed *params), (pname, params))
621 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFixedv")
622 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFixedvOES")
623 _EVASGL_EXT_FUNCTION_END()
624 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetLightxvOES, (GLenum light, GLenum pname, GLfixed *params), (light, pname, params))
625 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetLightxv")
626 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetLightxvOES")
627 _EVASGL_EXT_FUNCTION_END()
628 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetMaterialxvOES, (GLenum face, GLenum pname, GLfixed *params), (face, pname, params))
629 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetMaterialxv")
630 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetMaterialxvOES")
631 _EVASGL_EXT_FUNCTION_END()
632 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetTexEnvxvOES, (GLenum env, GLenum pname, GLfixed *params), (env, pname, params))
633 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexEnvxv")
634 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexEnvxvOES")
635 _EVASGL_EXT_FUNCTION_END()
636 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetTexParameterxvOES, (GLenum target, GLenum pname, GLfixed *params), (target, pname, params))
637 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexParameterxv")
638 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexParameterxvOES")
639 _EVASGL_EXT_FUNCTION_END()
640 _EVASGL_EXT_FUNCTION_BEGIN(void, glLightModelxOES, (GLenum pname, GLfixed param), (pname, param))
641 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightModelx")
642 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightModelxOES")
643 _EVASGL_EXT_FUNCTION_END()
644 _EVASGL_EXT_FUNCTION_BEGIN(void, glLightModelxvOES, (GLenum pname, const GLfixed *params), (pname, params))
645 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightModelxv")
646 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightModelxvOES")
647 _EVASGL_EXT_FUNCTION_END()
648 _EVASGL_EXT_FUNCTION_BEGIN(void, glLightxOES, (GLenum light, GLenum pname, GLfixed param), (light, pname, param))
649 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightx")
650 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightxOES")
651 _EVASGL_EXT_FUNCTION_END()
652 _EVASGL_EXT_FUNCTION_BEGIN(void, glLightxvOES, (GLenum light, GLenum pname, const GLfixed *params), (light, pname, params))
653 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightxv")
654 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLightxvOES")
655 _EVASGL_EXT_FUNCTION_END()
656 _EVASGL_EXT_FUNCTION_BEGIN(void, glLineWidthxOES, (GLfixed width), (width))
657 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLineWidthx")
658 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLineWidthxOES")
659 _EVASGL_EXT_FUNCTION_END()
660 _EVASGL_EXT_FUNCTION_BEGIN(void, glLoadMatrixxOES, (const GLfixed *m), (m))
661 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLoadMatrixx")
662 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLoadMatrixxOES")
663 _EVASGL_EXT_FUNCTION_END()
664 _EVASGL_EXT_FUNCTION_BEGIN(void, glMaterialxOES, (GLenum face, GLenum pname, GLfixed param), (face, pname, param))
665 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMaterialx")
666 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMaterialxOES")
667 _EVASGL_EXT_FUNCTION_END()
668 _EVASGL_EXT_FUNCTION_BEGIN(void, glMaterialxvOES, (GLenum face, GLenum pname, const GLfixed *params), (face, pname, params))
669 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMaterialxv")
670 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMaterialxvOES")
671 _EVASGL_EXT_FUNCTION_END()
672 _EVASGL_EXT_FUNCTION_BEGIN(void, glMultMatrixxOES, (const GLfixed *m), (m))
673 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultMatrixx")
674 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultMatrixxOES")
675 _EVASGL_EXT_FUNCTION_END()
676 _EVASGL_EXT_FUNCTION_BEGIN(void, glMultiTexCoord4xOES, (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q), (target, s, t, r, q))
677 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiTexCoord4x")
678 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMultiTexCoord4xOES")
679 _EVASGL_EXT_FUNCTION_END()
680 _EVASGL_EXT_FUNCTION_BEGIN(void, glNormal3xOES, (GLfixed nx, GLfixed ny, GLfixed nz), (nx, ny, nz))
681 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glNormal3x")
682 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glNormal3xOES")
683 _EVASGL_EXT_FUNCTION_END()
684 _EVASGL_EXT_FUNCTION_BEGIN(void, glOrthoxOES, (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar), (left, right, bottom, top, zNear, zFar))
685 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glOrthox")
686 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glOrthoxOES")
687 _EVASGL_EXT_FUNCTION_END()
688 _EVASGL_EXT_FUNCTION_BEGIN(void, glPointParameterxOES, (GLenum pname, GLfixed param), (pname, param))
689 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointParameterx")
690 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointParameterxOES")
691 _EVASGL_EXT_FUNCTION_END()
692 _EVASGL_EXT_FUNCTION_BEGIN(void, glPointParameterxvOES, (GLenum pname, const GLfixed *params), (pname, params))
693 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointParameterxv")
694 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointParameterxvOES")
695 _EVASGL_EXT_FUNCTION_END()
696 _EVASGL_EXT_FUNCTION_BEGIN(void, glPointSizexOES, (GLfixed size), (size))
697 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointSizex")
698 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPointSizexOES")
699 _EVASGL_EXT_FUNCTION_END()
700 _EVASGL_EXT_FUNCTION_BEGIN(void, glPolygonOffsetxOES, (GLfixed factor, GLfixed units), (factor, units))
701 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPolygonOffsetx")
702 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glPolygonOffsetxOES")
703 _EVASGL_EXT_FUNCTION_END()
704 _EVASGL_EXT_FUNCTION_BEGIN(void, glRotatexOES, (GLfixed angle, GLfixed x, GLfixed y, GLfixed z), (angle, x, y, z))
705 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRotatex")
706 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRotatexOES")
707 _EVASGL_EXT_FUNCTION_END()
708 _EVASGL_EXT_FUNCTION_BEGIN(void, glSampleCoveragexOES, (GLclampx value, GLboolean invert), (value, invert))
709 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glSampleCoveragex")
710 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glSampleCoveragexOES")
711 _EVASGL_EXT_FUNCTION_END()
712 _EVASGL_EXT_FUNCTION_BEGIN(void, glScalexOES, (GLfixed x, GLfixed y, GLfixed z), (x, y, z))
713 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glScalex")
714 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glScalexOES")
715 _EVASGL_EXT_FUNCTION_END()
716 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexEnvxOES, (GLenum target, GLenum pname, GLfixed param), (target, pname, param))
717 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexEnvx")
718 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexEnvxOES")
719 _EVASGL_EXT_FUNCTION_END()
720 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexEnvxvOES, (GLenum target, GLenum pname, const GLfixed *params), (target, pname, params))
721 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexEnvxv")
722 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexEnvxvOES")
723 _EVASGL_EXT_FUNCTION_END()
724 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexParameterxOES, (GLenum target, GLenum pname, GLfixed param), (target, pname, param))
725 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexParameterx")
726 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexParameterxOES")
727 _EVASGL_EXT_FUNCTION_END()
728 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexParameterxvOES, (GLenum target, GLenum pname, const GLfixed *params), (target, pname, params))
729 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexParameterxv")
730 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexParameterxvOES")
731 _EVASGL_EXT_FUNCTION_END()
732 _EVASGL_EXT_FUNCTION_BEGIN(void, glTranslatexOES, (GLfixed x, GLfixed y, GLfixed z), (x, y, z))
733 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTranslatex")
734 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTranslatexOES")
735 _EVASGL_EXT_FUNCTION_END()
736 _EVASGL_EXT_END()
737
738
739 _EVASGL_EXT_BEGIN(framebuffer_object)
740 _EVASGL_EXT_DRVNAME(GL_OES_framebuffer_object)
741 _EVASGL_EXT_DRVNAME(GL_ARB_framebuffer_object)
742
743 _EVASGL_EXT_FUNCTION_BEGIN(GLboolean, glIsRenderbufferOES, (GLuint renderbuffer), (renderbuffer))
744 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsRenderbuffer")
745 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsRenderbufferOES")
746 _EVASGL_EXT_FUNCTION_END()
747 _EVASGL_EXT_FUNCTION_BEGIN(void, glBindRenderbufferOES, (GLenum target, GLuint renderbuffer), (target, renderbuffer))
748 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindRenderbuffer")
749 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindRenderbufferOES")
750 _EVASGL_EXT_FUNCTION_END()
751 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeleteRenderbuffersOES, (GLsizei n, const GLuint* renderbuffers), (n, renderbuffers))
752 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteRenderbuffers")
753 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteRenderbuffersOES")
754 _EVASGL_EXT_FUNCTION_END()
755 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenRenderbuffersOES, (GLsizei n, GLuint* renderbuffers), (n, renderbuffers))
756 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenRenderbuffers")
757 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenRenderbuffersOES")
758 _EVASGL_EXT_FUNCTION_END()
759 _EVASGL_EXT_FUNCTION_BEGIN(void, glRenderbufferStorageOES, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height), (target, internalformat, width, height))
760 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorage")
761 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageOES")
762 _EVASGL_EXT_FUNCTION_END()
763 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetRenderbufferParameterivOES, (GLenum target, GLenum pname, GLint* params), (target, pname, params))
764 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetRenderbufferParameteriv")
765 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetRenderbufferParameterivOES")
766 _EVASGL_EXT_FUNCTION_END()
767 _EVASGL_EXT_FUNCTION_BEGIN(GLboolean, glIsFramebufferOES, (GLuint framebuffer), (framebuffer))
768 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsFramebuffer")
769 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsFramebufferOES")
770 _EVASGL_EXT_FUNCTION_END()
771 _EVASGL_EXT_FUNCTION_BEGIN(void, glBindFramebufferOES, (GLenum target, GLuint framebuffer), (target, framebuffer))
772 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindFramebuffer")
773 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindFramebufferOES")
774 _EVASGL_EXT_FUNCTION_END()
775 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeleteFramebuffersOES, (GLsizei n, const GLuint* framebuffers), (n, framebuffers))
776 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteFramebuffers")
777 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteFramebuffersOES")
778 _EVASGL_EXT_FUNCTION_END()
779 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenFramebuffersOES, (GLsizei n, GLuint* framebuffers), (n, framebuffers))
780 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenFramebuffers")
781 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenFramebuffersOES")
782 _EVASGL_EXT_FUNCTION_END()
783 _EVASGL_EXT_FUNCTION_BEGIN(GLenum, glCheckFramebufferStatusOES, (GLenum target), (target))
784 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCheckFramebufferStatus")
785 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCheckFramebufferStatusOES")
786 _EVASGL_EXT_FUNCTION_END()
787 _EVASGL_EXT_FUNCTION_BEGIN(void, glFramebufferRenderbufferOES, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), (target, attachment, renderbuffertarget, renderbuffer))
788 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferRenderbuffer")
789 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferRenderbufferOES")
790 _EVASGL_EXT_FUNCTION_END()
791 _EVASGL_EXT_FUNCTION_BEGIN(void, glFramebufferTexture2DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), (target, attachment, textarget, texture, level))
792 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2D")
793 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFramebufferTexture2DOES")
794 _EVASGL_EXT_FUNCTION_END()
795 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetFramebufferAttachmentParameterivOES, (GLenum target, GLenum attachment, GLenum pname, GLint* params), (target, attachment, pname, params))
796 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFramebufferAttachmentParameteriv")
797 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFramebufferAttachmentParameterivOES")
798 _EVASGL_EXT_FUNCTION_END()
799 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenerateMipmapOES, (GLenum target), (target))
800 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenerateMipmap")
801 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenerateMipmapOES")
802 _EVASGL_EXT_FUNCTION_END()
803 _EVASGL_EXT_END()
804
805 _EVASGL_EXT_BEGIN(matrix_get)
806 _EVASGL_EXT_DRVNAME(GL_OES_matrix_get)
807 _EVASGL_EXT_END()
808
809
810 _EVASGL_EXT_BEGIN(matrix_palette)
811 _EVASGL_EXT_DRVNAME(GL_OES_matrix_palette)
812
813 _EVASGL_EXT_FUNCTION_BEGIN(void, glCurrentPaletteMatrixOES, (GLuint matrixpaletteindex), (matrixpaletteindex))
814 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCurrentPaletteMatrix")
815 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCurrentPaletteMatrixOES")
816 _EVASGL_EXT_FUNCTION_END()
817 _EVASGL_EXT_FUNCTION_BEGIN(void, glLoadPaletteFromModelViewMatrixOES, (void), ())
818 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLoadPaletteFromModelViewMatrix")
819 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glLoadPaletteFromModelViewMatrixOES")
820 _EVASGL_EXT_FUNCTION_END()
821 _EVASGL_EXT_FUNCTION_BEGIN(void, glMatrixIndexPointerOES, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size, type, stride, pointer))
822 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMatrixIndexPointer")
823 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMatrixIndexPointerOES")
824 _EVASGL_EXT_FUNCTION_END()
825 _EVASGL_EXT_FUNCTION_BEGIN(void, glWeightPointerOES, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size, type, stride, pointer))
826 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glWeightPointer")
827 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glWeightPointerOES")
828 _EVASGL_EXT_FUNCTION_END()
829 _EVASGL_EXT_END()
830
831
832 _EVASGL_EXT_BEGIN(required_internalformat)
833 _EVASGL_EXT_DRVNAME(GL_OES_required_internalformat)
834 _EVASGL_EXT_END()
835
836 _EVASGL_EXT_BEGIN(query_matrix)
837 _EVASGL_EXT_DRVNAME(GL_OES_query_matrix)
838
839 _EVASGL_EXT_FUNCTION_BEGIN(GLbitfield, glQueryMatrixxOES, (GLfixed mantissa[16], GLint exponent[16]), (mantissa, exponent))
840 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glQueryMatrixx")
841 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glQueryMatrixxOES")
842 _EVASGL_EXT_FUNCTION_END()
843 _EVASGL_EXT_END()
844
845
846 _EVASGL_EXT_BEGIN(single_precision)
847 _EVASGL_EXT_DRVNAME(GL_OES_single_precision)
848
849 _EVASGL_EXT_FUNCTION_BEGIN(void, glDepthRangefOES, (GLclampf zNear, GLclampf zFar), (zNear, zFar))
850 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDepthRangef")
851 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDepthRangefOES")
852 _EVASGL_EXT_FUNCTION_END()
853 _EVASGL_EXT_FUNCTION_BEGIN(void, glFrustumfOES, (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar), (left, right, bottom, top, zNear, zFar))
854 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFrustumf")
855 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFrustumfOES")
856 _EVASGL_EXT_FUNCTION_END()
857 _EVASGL_EXT_FUNCTION_BEGIN(void, glOrthofOES, (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar), (left, right, bottom, top, zNear, zFar))
858 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glOrthof")
859 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glOrthofOES")
860 _EVASGL_EXT_FUNCTION_END()
861 _EVASGL_EXT_FUNCTION_BEGIN(void, glClipPlanefOES, (GLenum plane, const GLfloat *equation), (plane, equation))
862 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanef")
863 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanefOES")
864 _EVASGL_EXT_FUNCTION_END()
865 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetClipPlanefOES, (GLenum pname, GLfloat eqn[4]), (pname, eqn))
866 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetClipPlanef")
867 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetClipPlanefOES")
868 _EVASGL_EXT_FUNCTION_END()
869 _EVASGL_EXT_FUNCTION_BEGIN(void, glClearDepthfOES, (GLclampf depth), (depth))
870 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearDepthf")
871 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClearDepthfOES")
872 _EVASGL_EXT_FUNCTION_END()
873 _EVASGL_EXT_END()
874
875
876 _EVASGL_EXT_BEGIN(stencil8)
877 _EVASGL_EXT_DRVNAME(GL_OES_stencil8)
878 _EVASGL_EXT_END()
879
880
881 _EVASGL_EXT_BEGIN(stencil_wrap)
882 _EVASGL_EXT_DRVNAME(GL_OES_stencil_wrap)
883 _EVASGL_EXT_END()
884
885
886 _EVASGL_EXT_BEGIN(texture_cube_map)
887 _EVASGL_EXT_DRVNAME(GL_OES_texture_cube_map)
888
889 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGenfOES, (GLenum coord, GLenum pname, GLfloat param), (coord, pname, param))
890 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenf")
891 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenfOES")
892 _EVASGL_EXT_FUNCTION_END()
893 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGenfvOES, (GLenum coord, GLenum pname, const GLfloat *params), (coord, pname, params))
894 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenfv")
895 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenfvOES")
896 _EVASGL_EXT_FUNCTION_END()
897 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGeniOES, (GLenum coord, GLenum pname, GLint param), (coord, pname, param))
898 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGeni")
899 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGeniOES")
900 _EVASGL_EXT_FUNCTION_END()
901 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGenivOES, (GLenum coord, GLenum pname, const GLint *params), (coord, pname, params))
902 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGeniv")
903 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenivOES")
904 _EVASGL_EXT_FUNCTION_END()
905 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGenxOES, (GLenum coord, GLenum pname, GLfixed param), (coord, pname, param))
906 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenx")
907 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenxOES")
908 _EVASGL_EXT_FUNCTION_END()
909 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexGenxvOES, (GLenum coord, GLenum pname, const GLfixed *params), (coord, pname, params))
910 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenxv")
911 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexGenxvOES")
912 _EVASGL_EXT_FUNCTION_END()
913 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetTexGenfvOES, (GLenum coord, GLenum pname, GLfloat *params), (coord, pname, params))
914 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGenfv")
915 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGenfvOES")
916 _EVASGL_EXT_FUNCTION_END()
917 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetTexGenivOES, (GLenum coord, GLenum pname, GLint *params), (coord, pname, params))
918 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGeniv")
919 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGenivOES")
920 _EVASGL_EXT_FUNCTION_END()
921 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetTexGenxvOES, (GLenum coord, GLenum pname, GLfixed *params), (coord, pname, params))
922 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGenxv")
923 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetTexGenxvOES")
924 _EVASGL_EXT_FUNCTION_END()
925 _EVASGL_EXT_END()
926
927
928 _EVASGL_EXT_BEGIN(texture_env_crossbar)
929 _EVASGL_EXT_DRVNAME(GL_OES_texture_env_crossbar)
930 _EVASGL_EXT_END()
931
932
933 _EVASGL_EXT_BEGIN(texture_mirrored_repeat)
934 _EVASGL_EXT_DRVNAME(GL_OES_texture_mirrored_repeat)
935 _EVASGL_EXT_END()
936
937 _EVASGL_EXT_BEGIN(vertex_array_object)
938 _EVASGL_EXT_DRVNAME(GL_OES_vertex_array_object)
939
940 _EVASGL_EXT_FUNCTION_BEGIN(void, glBindVertexArrayOES, (GLuint array), (array))
941 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindVertexArray")
942 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glBindVertexArrayOES")
943 _EVASGL_EXT_FUNCTION_END()
944 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeleteVertexArraysOES, (GLsizei n, const GLuint *arrays), (n, arrays))
945 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteVertexArrays")
946 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteVertexArraysOES")
947 _EVASGL_EXT_FUNCTION_END()
948 _EVASGL_EXT_FUNCTION_BEGIN(void, glGenVertexArraysOES, (GLsizei n, GLuint *arrays), (n, arrays))
949 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenVertexArrays")
950 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGenVertexArraysOES")
951 _EVASGL_EXT_FUNCTION_END()
952 _EVASGL_EXT_FUNCTION_BEGIN(GLboolean, glIsVertexArrayOES, (GLuint array), (array))
953 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsVertexArray")
954 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsVertexArrayOES")
955 _EVASGL_EXT_FUNCTION_END()
956 _EVASGL_EXT_END()
957
958 /* APPLE extension functions */
959 _EVASGL_EXT_BEGIN(APPLE_copy_texture_levels)
960 _EVASGL_EXT_DRVNAME(GL_APPLE_copy_texture_levels)
961
962 _EVASGL_EXT_FUNCTION_BEGIN(void, glCopyTextureLevelsAPPLE, (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount), (destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount))
963 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCopyTextureLevels")
964 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glCopyTextureLevelsAPPLE")
965 _EVASGL_EXT_FUNCTION_END()
966 _EVASGL_EXT_END()
967
968 _EVASGL_EXT_BEGIN(APPLE_framebuffer_multisample)
969 _EVASGL_EXT_DRVNAME(GL_APPLE_framebuffer_multisample)
970
971 _EVASGL_EXT_FUNCTION_BEGIN(void, glRenderbufferStorageMultisampleAPPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), (target, samples, internalformat, width, height))
972 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisample")
973 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glRenderbufferStorageMultisampleAPPLE")
974 _EVASGL_EXT_FUNCTION_END()
975 _EVASGL_EXT_FUNCTION_BEGIN(void, glResolveMultisampleFramebufferAPPLE, (void), ())
976 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glResolveMultisampleFramebuffer")
977 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glResolveMultisampleFramebufferAPPLE")
978 _EVASGL_EXT_FUNCTION_END()
979 _EVASGL_EXT_END()
980
981 _EVASGL_EXT_BEGIN(APPLE_sync)
982 _EVASGL_EXT_DRVNAME(GL_APPLE_sync)
983
984 _EVASGL_EXT_FUNCTION_BEGIN(GLsync, glFenceSyncAPPLE, (GLenum condition, GLbitfield flags), (condition, flags))
985 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFenceSyncAPPLE")
986 _EVASGL_EXT_FUNCTION_END()
987 _EVASGL_EXT_FUNCTION_BEGIN(GLboolean, glIsSyncAPPLE, (GLsync sync), (sync))
988 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glIsSyncAPPLE")
989 _EVASGL_EXT_FUNCTION_END()
990 _EVASGL_EXT_FUNCTION_BEGIN(void, glDeleteSyncAPPLE, (GLsync sync), (sync))
991 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glDeleteSyncAPPLE")
992 _EVASGL_EXT_FUNCTION_END()
993 _EVASGL_EXT_FUNCTION_BEGIN(GLenum, glClientWaitSyncAPPLE, (GLsync sync, GLbitfield flags, uint64_t timeout), (sync, flags, timeout))
994 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClientWaitSyncAPPLE")
995 _EVASGL_EXT_FUNCTION_END()
996 _EVASGL_EXT_FUNCTION_BEGIN(void, glWaitSyncAPPLE, (GLsync sync, GLbitfield flags, uint64_t timeout), (sync, flags, timeout))
997 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glWaitSyncAPPLE")
998 _EVASGL_EXT_FUNCTION_END()
999 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetInteger64vAPPLE, (GLenum pname, int64_t *params), (pname, params))
1000 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetInteger64vAPPLE")
1001 _EVASGL_EXT_FUNCTION_END()
1002 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetSyncivAPPLE, (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values), (sync, pname, bufSize, length, values))
1003 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetSyncivAPPLE")
1004 _EVASGL_EXT_FUNCTION_END()
1005 _EVASGL_EXT_END()
1006
1007
1008 _EVASGL_EXT_BEGIN(APPLE_texture_2D_limited_npot)
1009 _EVASGL_EXT_DRVNAME(GL_APPLE_texture_2D_limited_npot)
1010 _EVASGL_EXT_END()
1011
1012 _EVASGL_EXT_BEGIN(APPLE_texture_format_BGRA8888)
1013 _EVASGL_EXT_DRVNAME(GL_APPLE_texture_format_BGRA8888)
1014 _EVASGL_EXT_END()
1015
1016 _EVASGL_EXT_BEGIN(APPLE_texture_max_level)
1017 _EVASGL_EXT_DRVNAME(GL_APPLE_texture_max_level)
1018 _EVASGL_EXT_END()
1019
1020 /* ARM extension */
1021 _EVASGL_EXT_BEGIN(ARM_rgba8)
1022 _EVASGL_EXT_DRVNAME(GL_ARM_rgba8)
1023 _EVASGL_EXT_END()
1024
1025 /* EXT extension functions */
1026 _EVASGL_EXT_BEGIN(map_buffer_range)
1027 _EVASGL_EXT_DRVNAME(GL_EXT_map_buffer_range)
1028
1029 _EVASGL_EXT_FUNCTION_BEGIN(void *, glMapBufferRangeEXT, (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access), (target, offset, length, access))
1030 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMapBufferRange")
1031 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glMapBufferRangeEXT")
1032 _EVASGL_EXT_FUNCTION_END()
1033 _EVASGL_EXT_FUNCTION_BEGIN(void, glFlushMappedBufferRangeEXT, (GLenum target, GLintptr offset, GLsizeiptr length), (target, offset, length))
1034 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFlushMappedBufferRange")
1035 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glFlushMappedBufferRangeEXT")
1036 _EVASGL_EXT_FUNCTION_END()
1037 _EVASGL_EXT_END()
1038
1039 _EVASGL_EXT_BEGIN(robustness)
1040 _EVASGL_EXT_DRVNAME(GL_EXT_robustness)
1041
1042 _EVASGL_EXT_FUNCTION_BEGIN(GLenum, glGetGraphicsResetStatusEXT, (void), ())
1043 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetGraphicsResetStatus")
1044 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetGraphicsResetStatusEXT")
1045 _EVASGL_EXT_FUNCTION_END()
1046 _EVASGL_EXT_FUNCTION_BEGIN(void, glReadnPixelsEXT, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data), (x, y, width, height, format, type, bufSize, data))
1047 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glReadnPixels")
1048 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glReadnPixelsEXT")
1049 _EVASGL_EXT_FUNCTION_END()
1050 _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_BEGIN()
1051 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetnUniformfvEXT, (GLuint program, GLint location, GLsizei bufSize, float *params), (program, location, bufSize, params))
1052 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetnUniformfv")
1053 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetnUniformfvEXT")
1054 _EVASGL_EXT_FUNCTION_END()
1055 _EVASGL_EXT_FUNCTION_BEGIN(void, glGetnUniformivEXT, (GLuint program, GLint location, GLsizei bufSize, GLint *params), (program, location, bufSize, params))
1056 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetnUniformiv")
1057 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetnUniformivEXT")
1058 _EVASGL_EXT_FUNCTION_END()
1059 _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_END()
1060 _EVASGL_EXT_END()
1061
1062 _EVASGL_EXT_BEGIN(sRGB)
1063 _EVASGL_EXT_DRVNAME(GL_EXT_sRGB)
1064 _EVASGL_EXT_END()
1065
1066 _EVASGL_EXT_BEGIN(texture_compression_dxt1)
1067 _EVASGL_EXT_DRVNAME(GL_EXT_texture_compression_dxt1)
1068 _EVASGL_EXT_END()
1069
1070 _EVASGL_EXT_BEGIN(texture_lod_bias)
1071 _EVASGL_EXT_DRVNAME(GL_EXT_texture_lod_bias)
1072 _EVASGL_EXT_END()
1073
1074 _EVASGL_EXT_BEGIN(texture_storage)
1075 _EVASGL_EXT_DRVNAME(GL_EXT_texture_storage)
1076
1077 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexStorage1DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), (target, levels, internalformat, width))
1078 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage1D")
1079 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage1DEXT")
1080 _EVASGL_EXT_FUNCTION_END()
1081 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexStorage2DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), (target, levels, internalformat, width, height))
1082 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage2D")
1083 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage2DEXT")
1084 _EVASGL_EXT_FUNCTION_END()
1085 _EVASGL_EXT_FUNCTION_BEGIN(void, glTexStorage3DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), (target, levels, internalformat, width, height, depth))
1086 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage3D")
1087 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTexStorage3DEXT")
1088 _EVASGL_EXT_FUNCTION_END()
1089 _EVASGL_EXT_FUNCTION_BEGIN(void, glTextureStorage1DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), (texture, target, levels, internalformat, width))
1090 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage1D")
1091 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage1DEXT")
1092 _EVASGL_EXT_FUNCTION_END()
1093 _EVASGL_EXT_FUNCTION_BEGIN(void, glTextureStorage2DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), (texture, target, levels, internalformat, width, height))
1094 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage2D")
1095 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage2DEXT")
1096 _EVASGL_EXT_FUNCTION_END()
1097 _EVASGL_EXT_FUNCTION_BEGIN(void, glTextureStorage3DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), (texture, target, levels, internalformat, width, height, depth))
1098 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage3D")
1099 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glTextureStorage3DEXT")
1100 _EVASGL_EXT_FUNCTION_END()
1101 _EVASGL_EXT_END()
1102
1103 _EVASGL_EXT_BEGIN(IMG_texture_env_enhanced_fixed_function)
1104 _EVASGL_EXT_DRVNAME(GL_IMG_texture_env_enhanced_fixed_function)
1105 _EVASGL_EXT_END()
1106
1107
1108 _EVASGL_EXT_BEGIN(IMG_user_clip_plane)
1109 _EVASGL_EXT_DRVNAME(GL_IMG_user_clip_plane)
1110
1111 _EVASGL_EXT_FUNCTION_BEGIN(void, glClipPlanefIMG, (GLenum p, const GLfloat *eqn), (p, eqn))
1112 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanef")
1113 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanefIMG")
1114 _EVASGL_EXT_FUNCTION_END()
1115 _EVASGL_EXT_FUNCTION_BEGIN(void, glClipPlanexIMG, (GLenum p, const GLfixed *eqn), (p, eqn))
1116 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanex")
1117 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glClipPlanexIMG")
1118 _EVASGL_EXT_FUNCTION_END()
1119 _EVASGL_EXT_END()
1120
1121 _EVASGL_EXT_BEGIN(QCOM_tiled_rendering)
1122 _EVASGL_EXT_DRVNAME(GL_QCOM_tiled_rendering)
1123
1124 _EVASGL_EXT_FUNCTION_BEGIN(void, glStartTilingQCOM, (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask), (x, y, width, height, preserveMask))
1125 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glStartTilingQCOM")
1126 _EVASGL_EXT_FUNCTION_END()
1127 _EVASGL_EXT_FUNCTION_BEGIN(void, glEndTilingQCOM, (GLbitfield preserveMask), (preserveMask))
1128 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glEndTilingQCOM")
1129 _EVASGL_EXT_FUNCTION_END()
1130 _EVASGL_EXT_END()
1131
1132 _EVASGL_EXT_BEGIN(element_index_uint)
1133 _EVASGL_EXT_DRVNAME(GL_OES_element_index_uint)
1134 _EVASGL_EXT_END()
1135
1136 _EVASGL_EXT_BEGIN(fbo_render_mipmap)
1137 _EVASGL_EXT_DRVNAME(GL_OES_fbo_render_mipmap)
1138 _EVASGL_EXT_END()
1139
1140 _EVASGL_EXT_BEGIN(mali_program_binary)
1141 _EVASGL_EXT_DRVNAME(GL_ARM_mali_program_binary)
1142 _EVASGL_EXT_END()
1143
1144 _EVASGL_EXT_BEGIN(mali_shader_binary)
1145 _EVASGL_EXT_DRVNAME(GL_ARM_mali_shader_binary)
1146 _EVASGL_EXT_END()
1147
1148 _EVASGL_EXT_BEGIN(depth_texture)
1149 _EVASGL_EXT_DRVNAME(GL_OES_depth_texture)
1150 _EVASGL_EXT_END()
1151
1152 _EVASGL_EXT_BEGIN(depth_texture_cube_map)
1153 _EVASGL_EXT_DRVNAME(GL_OES_depth_texture_cube_map)
1154 _EVASGL_EXT_END()
1155
1156 _EVASGL_EXT_BEGIN(shader_texture_lod)
1157 _EVASGL_EXT_DRVNAME(GL_EXT_shader_texture_lod)
1158 _EVASGL_EXT_END()
1159
1160 #ifdef GL_GLES
1161 _EVASGL_EXT_BEGIN(GL_OES_EGL_image)
1162
1163 _EVASGL_EXT_DRVNAME(GL_OES_EGL_image)
1164
1165 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glEGLImageTargetTexture2DOES, (GLenum target, GLeglImageOES image), (target, image))
1166 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glEGLImageTargetTexture2DOES")
1167 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1168 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glEGLImageTargetRenderbufferStorageOES, (GLenum target, GLeglImageOES image), (target, image))
1169 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glEGLImageTargetRenderbufferStorageOES")
1170 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1171
1172 _EVASGL_EXT_FUNCTION_BEGIN(void, glEvasGLImageTargetTexture2DOES, (GLenum target, EvasGLImage image), (target, image))
1173 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_glEvasGLImageTargetTexture2D)
1174 _EVASGL_EXT_FUNCTION_END()
1175 _EVASGL_EXT_FUNCTION_BEGIN(void, glEvasGLImageTargetRenderbufferStorageOES, (GLenum target, EvasGLImage image), (target, image))
1176 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_glEvasGLImageTargetRenderbufferStorage)
1177 _EVASGL_EXT_FUNCTION_END()
1178
1179 #ifdef _EVASGL_EXT_VERIFY
1180 {
1181 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1182 }
1183 #endif
1184
1185 _EVASGL_EXT_END()
1186
1187
_EVASGL_EXT_BEGIN(GL_OES_EGL_image_external)1188 _EVASGL_EXT_BEGIN(GL_OES_EGL_image_external)
1189
1190 _EVASGL_EXT_DRVNAME(GL_OES_EGL_image_external)
1191
1192 #ifdef _EVASGL_EXT_VERIFY
1193 {
1194 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1195 }
1196 #endif
1197
1198 _EVASGL_EXT_END()
1199 #endif // GL_GLES
1200
1201 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1202
1203
1204
1205 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1206 // Other "safe" extensions that are not in Evas_GL_API
1207 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1208
1209 /*
1210 * IMPORTANT NOTE:
1211 *
1212 * Before adding any extension & function to the list below, it is very
1213 * important to check that the extension does not modify the state in a way
1214 * that would break direct rendering (eg. Scissors) or indirect rendering
1215 * (eg. changes the target FBO).
1216 *
1217 * If any of the following applies, the extension must be wrapped before
1218 * being exposed to client apps:
1219 * - The target FBO is changed (this could break indirect rendering)
1220 * - The scissors geometry is changed (breaks direct rendering)
1221 * - Shared contexts can also be affected (breaks everything since all contexts
1222 * are shared with the main Evas GL context)
1223 *
1224 * There can be a number of other reasons for functions to need wrapping, so
1225 * please read carefully the specifications of all extensions and check that
1226 * they are safe to use. The goal is to contain as much as possible the effects
1227 * of an API call to the surface & context bound to the Evas_GL.
1228 */
1229
1230 #if _EVASGL_EXT_WHITELIST_ONLY
1231
1232 // ----------------------------------------------------------
_EVASGL_EXT_BEGIN(debug)1233 _EVASGL_EXT_BEGIN(debug)
1234 _EVASGL_EXT_DRVNAME(GL_KHR_debug)
1235
1236 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageControl")
1237 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageControlKHR")
1238
1239 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageInsert")
1240 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageInsertKHR")
1241
1242 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageCallback")
1243 _EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageCallbackKHR")
1244
1245 _EVASGL_EXT_FUNCTION_WHITELIST("glGetDebugMessageLog")
1246 _EVASGL_EXT_FUNCTION_WHITELIST("glGetDebugMessageLogKHR")
1247
1248 _EVASGL_EXT_FUNCTION_WHITELIST("glGetPointerv")
1249 _EVASGL_EXT_FUNCTION_WHITELIST("glGetPointervKHR")
1250
1251 _EVASGL_EXT_FUNCTION_WHITELIST("glPushDebugGroup")
1252 _EVASGL_EXT_FUNCTION_WHITELIST("glPushDebugGroupKHR")
1253
1254 _EVASGL_EXT_FUNCTION_WHITELIST("glPopDebugGroup")
1255 _EVASGL_EXT_FUNCTION_WHITELIST("glPopDebugGroupKHR")
1256
1257 _EVASGL_EXT_FUNCTION_WHITELIST("glObjectLabel")
1258 _EVASGL_EXT_FUNCTION_WHITELIST("glObjectLabelKHR")
1259
1260 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabel")
1261 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabelKHR")
1262
1263 _EVASGL_EXT_FUNCTION_WHITELIST("glObjectPtrLabel")
1264 _EVASGL_EXT_FUNCTION_WHITELIST("glObjectPtrLabelKHR")
1265
1266 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectPtrLabel")
1267 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectPtrLabelKHR")
1268
1269 _EVASGL_EXT_END()
1270
1271
1272 // ----------------------------------------------------------
1273 _EVASGL_EXT_BEGIN(debug_label)
1274 _EVASGL_EXT_DRVNAME(GL_EXT_debug_label)
1275
1276 _EVASGL_EXT_FUNCTION_WHITELIST("glLabelObject")
1277 _EVASGL_EXT_FUNCTION_WHITELIST("glLabelObjectEXT")
1278
1279 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabel")
1280 _EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabelEXT")
1281
1282 _EVASGL_EXT_END()
1283
1284
1285 // ----------------------------------------------------------
1286 _EVASGL_EXT_BEGIN(debug_marker)
1287 _EVASGL_EXT_DRVNAME(GL_EXT_debug_marker)
1288
1289 _EVASGL_EXT_FUNCTION_WHITELIST("glInsertEventMarker")
1290 _EVASGL_EXT_FUNCTION_WHITELIST("glInsertEventMarkerEXT")
1291
1292 _EVASGL_EXT_FUNCTION_WHITELIST("glPushGroupMarker")
1293 _EVASGL_EXT_FUNCTION_WHITELIST("glPushGroupMarkerEXT")
1294
1295 _EVASGL_EXT_FUNCTION_WHITELIST("glPopGroupMarker")
1296 _EVASGL_EXT_FUNCTION_WHITELIST("glPopGroupMarkerEXT")
1297
1298 _EVASGL_EXT_END()
1299
1300
1301 // ----------------------------------------------------------
1302 _EVASGL_EXT_BEGIN(disjoint_timer_query)
1303 _EVASGL_EXT_DRVNAME(GL_EXT_disjoint_timer_query)
1304
1305 _EVASGL_EXT_FUNCTION_WHITELIST("glGenQueries")
1306 _EVASGL_EXT_FUNCTION_WHITELIST("glGenQueriesEXT")
1307
1308 _EVASGL_EXT_FUNCTION_WHITELIST("glDeleteQueries")
1309 _EVASGL_EXT_FUNCTION_WHITELIST("glDeleteQueriesEXT")
1310
1311 _EVASGL_EXT_FUNCTION_WHITELIST("glIsQuery")
1312 _EVASGL_EXT_FUNCTION_WHITELIST("glIsQueryEXT")
1313
1314 _EVASGL_EXT_FUNCTION_WHITELIST("glBeginQuery")
1315 _EVASGL_EXT_FUNCTION_WHITELIST("glBeginQueryEXT")
1316
1317 _EVASGL_EXT_FUNCTION_WHITELIST("glEndQuery")
1318 _EVASGL_EXT_FUNCTION_WHITELIST("glEndQueryEXT")
1319
1320 _EVASGL_EXT_FUNCTION_WHITELIST("glQueryCounter")
1321 _EVASGL_EXT_FUNCTION_WHITELIST("glQueryCounterEXT")
1322
1323 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryiv")
1324 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryivEXT")
1325
1326 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectiv")
1327 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectivEXT")
1328
1329 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectuiv")
1330 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectuivEXT")
1331
1332 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjecti64v")
1333 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjecti64vEXT")
1334
1335 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectui64v")
1336 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectui64vEXT")
1337
1338 _EVASGL_EXT_END()
1339
1340
1341 // ----------------------------------------------------------
1342 _EVASGL_EXT_BEGIN(occlusion_query_boolean)
1343 _EVASGL_EXT_DRVNAME(GL_EXT_occlusion_query_boolean)
1344
1345 _EVASGL_EXT_FUNCTION_WHITELIST("glGenQueries")
1346 _EVASGL_EXT_FUNCTION_WHITELIST("glGenQueriesEXT")
1347
1348 _EVASGL_EXT_FUNCTION_WHITELIST("glDeleteQueries")
1349 _EVASGL_EXT_FUNCTION_WHITELIST("glDeleteQueriesEXT")
1350
1351 _EVASGL_EXT_FUNCTION_WHITELIST("glIsQuery")
1352 _EVASGL_EXT_FUNCTION_WHITELIST("glIsQueryEXT")
1353
1354 _EVASGL_EXT_FUNCTION_WHITELIST("glBeginQuery")
1355 _EVASGL_EXT_FUNCTION_WHITELIST("glBeginQueryEXT")
1356
1357 _EVASGL_EXT_FUNCTION_WHITELIST("glEndQuery")
1358 _EVASGL_EXT_FUNCTION_WHITELIST("glEndQueryEXT")
1359
1360 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryiv")
1361 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryivEXT")
1362
1363 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectuiv")
1364 _EVASGL_EXT_FUNCTION_WHITELIST("glGetQueryObjectuivEXT")
1365
1366 _EVASGL_EXT_END()
1367
1368
1369 // ----------------------------------------------------------
1370 // NOTE: This extension changes state
1371 _EVASGL_EXT_BEGIN(alpha_test)
1372 _EVASGL_EXT_DRVNAME(GL_QCOM_alpha_test)
1373
1374 _EVASGL_EXT_FUNCTION_WHITELIST("glAlphaFunc")
1375 _EVASGL_EXT_FUNCTION_WHITELIST("glAlphaFuncQCOM")
1376
1377 _EVASGL_EXT_END()
1378
1379
1380 // ----------------------------------------------------------
1381 // NOTE: This extension changes state
1382 /* Also, to be perfectly correct, we would need to wrap the extension:
1383 * << DrawBuffersNV may only be called when the GL is bound to a framebuffer
1384 * object. If called when the GL is bound to the default framebuffer, an
1385 * INVALID_OPERATION error is generated. >>
1386 * This means the function should generate INVALID_OPERATION when indirect
1387 * rendering is active and the default FBO is currently bound.
1388 */
1389 _EVASGL_EXT_BEGIN(draw_buffers)
1390 _EVASGL_EXT_DRVNAME(GL_NV_draw_buffers)
1391
1392 _EVASGL_EXT_FUNCTION_WHITELIST("glDrawBuffers")
1393 _EVASGL_EXT_FUNCTION_WHITELIST("glDrawBuffersNV")
1394
1395 _EVASGL_EXT_END()
1396
1397
1398 // ----------------------------------------------------------
1399 // NOTE: This extension changes state
1400 _EVASGL_EXT_BEGIN(read_buffer)
1401 _EVASGL_EXT_DRVNAME(GL_NV_read_buffer)
1402
1403 _EVASGL_EXT_FUNCTION_WHITELIST("glReadBuffer")
1404 _EVASGL_EXT_FUNCTION_WHITELIST("glReadBufferNV")
1405
1406 _EVASGL_EXT_END()
1407
1408
1409 // Another version of the extension (that allows reading from the FRONT color buf)
1410 _EVASGL_EXT_BEGIN(read_buffer_front)
1411 _EVASGL_EXT_DRVNAME(GL_NV_read_buffer_front)
1412 _EVASGL_EXT_END()
1413
1414
1415 // ----------------------------------------------------------
1416 _EVASGL_EXT_BEGIN(framebuffer_blit)
1417 _EVASGL_EXT_DRVNAME_PRIVATE(GL_NV_framebuffer_blit)
1418 _EVASGL_EXT_DRVNAME_PRIVATE(GL_ANGLE_framebuffer_blit)
1419
1420 _EVASGL_EXT_FUNCTION_WHITELIST("glBlitFramebuffer")
1421 _EVASGL_EXT_FUNCTION_WHITELIST("glBlitFramebufferNV")
1422 _EVASGL_EXT_FUNCTION_WHITELIST("glBlitFramebufferANGLE")
1423
1424 _EVASGL_EXT_END()
1425
1426
1427 // ----------------------------------------------------------
1428 _EVASGL_EXT_BEGIN(framebuffer_multisample)
1429 _EVASGL_EXT_DRVNAME(GL_ANGLE_framebuffer_multisample)
1430
1431 _EVASGL_EXT_FUNCTION_WHITELIST("glRenderbufferStorageMultisampleANGLE")
1432
1433 _EVASGL_EXT_END()
1434
1435
1436 // ----------------------------------------------------------
1437 _EVASGL_EXT_BEGIN(point_sprite)
1438 _EVASGL_EXT_DRVNAME(GL_OES_point_sprite)
1439 _EVASGL_EXT_END()
1440
1441
1442 // ----------------------------------------------------------
1443 // This "extension" is already listed in the base GLES1 API
1444 // Provided here as convenience for evas_gl_proc_address_get
1445 _EVASGL_EXT_BEGIN(point_size_array)
1446 _EVASGL_EXT_DRVNAME(GL_OES_point_size_array)
1447
1448 _EVASGL_EXT_FUNCTION_WHITELIST("glPointSizePointer")
1449 _EVASGL_EXT_FUNCTION_WHITELIST("glPointSizePointerOES")
1450 _EVASGL_EXT_END()
1451
1452
1453
1454
1455 #endif // _EVASGL_EXT_WHITELIST_ONLY ("safe" extensions)
1456 #endif // _EVASGL_EXT_ENABLE_GL_GLES
1457
1458 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1459
1460
1461
1462
1463 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1464 // EGL EXTENSIONS
1465 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1466 #ifdef GL_GLES
1467 #if _EVASGL_EXT_ENABLE_EGL
1468
1469 // Disable warnings about deprecated functions here
1470 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
1471 # pragma GCC diagnostic push
1472 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1473 #elif defined(__clang__)
1474 # pragma clang diagnostic push
1475 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
1476 #endif
1477
1478
1479 _EVASGL_EXT_BEGIN(EGL_KHR_image_base)
1480
1481 _EVASGL_EXT_DRVNAME(EGL_KHR_image_base)
1482
1483 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void *, eglCreateImage, (EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const int *e), (a, b, c, d, e))
1484 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglCreateImageKHR")
1485 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1486 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, eglDestroyImage, (EGLDisplay a, void *b), (a, b))
1487 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglDestroyImageKHR")
1488 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1489
1490 _EVASGL_EXT_FUNCTION_BEGIN(EvasGLImage, evasglCreateImage, (int target, void* buffer, const int *attrib_list), (target, buffer, attrib_list))
1491 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglCreateImage)
1492 _EVASGL_EXT_FUNCTION_END()
1493 _EVASGL_EXT_FUNCTION_BEGIN(void, evasglDestroyImage, (EvasGLImage image), (image))
1494 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglDestroyImage)
1495 _EVASGL_EXT_FUNCTION_END()
1496 _EVASGL_EXT_FUNCTION_BEGIN(EvasGLImage, evasglCreateImageForContext, (Evas_GL *evas_gl, Evas_GL_Context *ctx, int target, void* buffer, const int *attrib_list), (evas_gl, ctx, target, buffer, attrib_list))
1497 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglCreateImageForContext)
1498 _EVASGL_EXT_FUNCTION_END()
1499
1500 #ifdef _EVASGL_EXT_VERIFY
1501 {
1502 // Add special function pointers
1503 //evgl_evasglCreateImage_ptr = GETPROCADDR("eglCreateImageKHR");
1504 //evgl_evasglDestroyImage_ptr = GETPROCADDR("eglDestroyImageKHR");
1505 }
1506 #endif
1507
1508 _EVASGL_EXT_END()
1509
1510 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
1511 # pragma GCC diagnostic pop
1512 #elif defined(__clang__)
1513 # pragma clang diagnostic pop
1514 #endif
1515
1516
_EVASGL_EXT_BEGIN(EGL_KHR_image_pixmap)1517 _EVASGL_EXT_BEGIN(EGL_KHR_image_pixmap)
1518 _EVASGL_EXT_DRVNAME(EGL_KHR_image_pixmap)
1519 #ifdef _EVASGL_EXT_VERIFY
1520 {
1521 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1522 }
1523 #endif
1524 _EVASGL_EXT_END()
1525
1526
_EVASGL_EXT_BEGIN(EGL_KHR_image)1527 _EVASGL_EXT_BEGIN(EGL_KHR_image)
1528 _EVASGL_EXT_DRVNAME(EGL_KHR_image)
1529 #ifdef _EVASGL_EXT_VERIFY
1530 {
1531 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1532 }
1533 #endif
1534 _EVASGL_EXT_END()
1535
1536
_EVASGL_EXT_BEGIN(EGL_KHR_vg_parent_image)1537 _EVASGL_EXT_BEGIN(EGL_KHR_vg_parent_image)
1538 _EVASGL_EXT_DRVNAME(EGL_KHR_vg_parent_image)
1539 #ifdef _EVASGL_EXT_VERIFY
1540 {
1541 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1542 }
1543 #endif
1544 _EVASGL_EXT_END()
1545
1546
_EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_2D_image)1547 _EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_2D_image)
1548 _EVASGL_EXT_DRVNAME(EGL_KHR_gl_texture_2D_image)
1549 #ifdef _EVASGL_EXT_VERIFY
1550 {
1551 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1552 }
1553 #endif
1554 _EVASGL_EXT_END()
1555
1556
_EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_cubemap_image)1557 _EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_cubemap_image)
1558 _EVASGL_EXT_DRVNAME(EGL_KHR_gl_texture_cubemap_image)
1559 #ifdef _EVASGL_EXT_VERIFY
1560 {
1561 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1562 }
1563 #endif
1564 _EVASGL_EXT_END()
1565
1566
_EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_3D_image)1567 _EVASGL_EXT_BEGIN(EGL_KHR_gl_texture_3D_image)
1568 _EVASGL_EXT_DRVNAME(EGL_KHR_gl_texture_3D_image)
1569 #ifdef _EVASGL_EXT_VERIFY
1570 {
1571 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1572 }
1573 #endif
1574 _EVASGL_EXT_END()
1575
1576
_EVASGL_EXT_BEGIN(EGL_KHR_gl_renderbuffer_image)1577 _EVASGL_EXT_BEGIN(EGL_KHR_gl_renderbuffer_image)
1578 _EVASGL_EXT_DRVNAME(EGL_KHR_gl_renderbuffer_image)
1579 #ifdef _EVASGL_EXT_VERIFY
1580 {
1581 if (!_EVASGL_EXT_CHECK_SUPPORT("EGL_KHR_image_base")) _EVASGL_EXT_DISCARD_SUPPORT();
1582 }
1583 #endif
1584 _EVASGL_EXT_END()
1585
1586
1587
1588
1589 _EVASGL_EXT_BEGIN(EGL_KHR_fence_sync)
1590
1591 /* 3 aliasses for EGL_KHR_fence_sync */
1592 _EVASGL_EXT_DRVNAME_PRIVATE(EGL_KHR_fence_sync)
1593 _EVASGL_EXT_DRVNAME_PRIVATE(GL_OES_EGL_sync)
1594 _EVASGL_EXT_DRVNAME_PRIVATE(VG_KHR_EGL_sync)
1595
1596 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void *, eglCreateSyncKHR, (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list), (dpy, type, attrib_list))
1597 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglCreateSyncKHR")
1598 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1599 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglDestroySyncKHR, (EGLDisplay dpy, EGLSyncKHR sync), (dpy, sync))
1600 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglDestroySyncKHR")
1601 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1602 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLint, eglClientWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout), (dpy, sync, flags, timeout))
1603 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglClientWaitSyncKHR")
1604 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1605 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglGetSyncAttribKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value), (dpy, sync, attribute, value))
1606 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglGetSyncAttribKHR")
1607 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1608
1609 _EVASGL_EXT_FUNCTION_BEGIN(EvasGLSync, evasglCreateSync, (Evas_GL *evas_gl, unsigned int type, const int *attrib_list), (evas_gl, type, attrib_list))
1610 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglCreateSync)
1611 _EVASGL_EXT_FUNCTION_END()
1612 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglDestroySync, (Evas_GL *evas_gl, EvasGLSync sync), (evas_gl, sync))
1613 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglDestroySync)
1614 _EVASGL_EXT_FUNCTION_END()
1615 _EVASGL_EXT_FUNCTION_BEGIN(int, evasglClientWaitSync, (Evas_GL *evas_gl, EvasGLSync sync, int flags, EvasGLTime timeout), (evas_gl, sync, flags, timeout))
1616 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglClientWaitSync)
1617 _EVASGL_EXT_FUNCTION_END()
1618 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglGetSyncAttrib, (Evas_GL *evas_gl, EvasGLSync sync, int attribute, int *value), (evas_gl, sync, attribute, value))
1619 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglGetSyncAttrib)
1620 _EVASGL_EXT_FUNCTION_END()
1621
1622 _EVASGL_EXT_END()
1623
1624 _EVASGL_EXT_BEGIN(EGL_KHR_reusable_sync)
1625
1626 _EVASGL_EXT_DRVNAME(EGL_KHR_reusable_sync)
1627
1628 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglSignalSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode), (dpy, sync, mode))
1629 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglSignalSyncKHR")
1630 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1631
1632 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglSignalSync, (Evas_GL *evas_gl, EvasGLSync sync, unsigned mode), (evas_gl, sync, mode))
1633 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglSignalSync)
1634 _EVASGL_EXT_FUNCTION_END()
1635
1636 _EVASGL_EXT_END()
1637
1638 _EVASGL_EXT_BEGIN(EGL_KHR_wait_sync)
1639
1640 _EVASGL_EXT_DRVNAME(EGL_KHR_wait_sync)
1641
1642 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLint, eglWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, int flags), (dpy, sync, flags))
1643 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglWaitSyncKHR")
1644 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1645
1646 _EVASGL_EXT_FUNCTION_BEGIN(int, evasglWaitSync, (Evas_GL *evas_gl, EvasGLSync sync, int flags), (evas_gl, sync, flags))
1647 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglWaitSync)
1648 _EVASGL_EXT_FUNCTION_END()
1649
1650 _EVASGL_EXT_END()
1651
1652 _EVASGL_EXT_BEGIN(EGL_WL_bind_wayland_display)
1653
1654 _EVASGL_EXT_DRVNAME(EGL_WL_bind_wayland_display)
1655
1656 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglBindWaylandDisplayWL, (EGLDisplay dpy, void *display), (dpy, display))
1657 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglBindWaylandDisplayWL")
1658 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1659 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglUnbindWaylandDisplayWL, (EGLDisplay dpy, void *display), (dpy, display))
1660 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglUnbindWaylandDisplayWL")
1661 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1662 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(EGLBoolean, eglQueryWaylandBufferWL, (EGLDisplay dpy, void *buffer, EGLint attribute, EGLint *value), (dpy, buffer, attribute, value))
1663 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglQueryWaylandBufferWL")
1664 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1665
1666 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglBindWaylandDisplay, (Evas_GL *evas_gl, void *wl_display), (evas_gl, wl_display))
1667 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglBindWaylandDisplay)
1668 _EVASGL_EXT_FUNCTION_END()
1669 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglUnbindWaylandDisplay, (Evas_GL *evas_gl, void *wl_display), (evas_gl, wl_display))
1670 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglUnbindWaylandDisplay)
1671 _EVASGL_EXT_FUNCTION_END()
1672 _EVASGL_EXT_FUNCTION_BEGIN(Eina_Bool, evasglQueryWaylandBuffer, (Evas_GL *evas_gl, void *buffer, int attribute, int *value), (evas_gl, buffer, attribute, value))
1673 _EVASGL_EXT_FUNCTION_DRVFUNC(_evgl_evasglQueryWaylandBuffer)
1674 _EVASGL_EXT_FUNCTION_END()
1675
1676 _EVASGL_EXT_END()
1677
1678
1679 #if 0
1680 _EVASGL_EXT_BEGIN(EGL_SEC_map_image)
1681 _EVASGL_EXT_DRVNAME(EGL_SEC_map_image)
1682
1683 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void *, eglMapImageSEC, void *a, void *b, int c, int d))
1684 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglMapImageSEC")
1685 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1686 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(unsigned int, eglUnmapImageSEC, void *a, void *b, int c))
1687 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("eglUnmapImageSEC")
1688 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1689 _EVASGL_EXT_END()
1690 #endif
1691
1692 #endif // _EVASGL_EXT_ENABLE_EGL
1693 #endif
1694 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1695
1696
1697 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1698 // GLX EXTENSIONS
1699 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1700 #if 0
1701 #ifdef GL_GLES
1702 #else
1703
1704 _EVASGL_EXT_BEGIN(GLX_EXT_swap_control)
1705 _EVASGL_EXT_DRVNAME(GLX_EXT_swap_control)
1706
1707 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glXSwapIntervalEXT, (Display *dpy, GLXDrawable drawable, int interval))
1708 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXSwapIntervalEXT")
1709 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1710 _EVASGL_EXT_END()
1711
1712 _EVASGL_EXT_BEGIN(GLX_SGI_swap_control)
1713 _EVASGL_EXT_DRVNAME(GLX_SGI_swap_control)
1714
1715 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(int, glXSwapIntervalSGI, (int interval))
1716 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXSwapIntervalSGI")
1717 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1718 _EVASGL_EXT_END()
1719
1720 _EVASGL_EXT_BEGIN(GLX_SGI_video_sync)
1721 _EVASGL_EXT_DRVNAME(GLX_SGI_video_sync)
1722
1723 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(int, glXGetVideoSyncSGI, (uint32_t *count))
1724 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXGetVideoSyncSGI")
1725 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1726 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(int, glXWaitVideoSyncSGI, (int divisor, int remainder, unsigned int *count))
1727 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXWaitVideoSyncSGI")
1728 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1729
1730 _EVASGL_EXT_END()
1731
1732 _EVASGL_EXT_BEGIN(GLX_EXT_texture_from_pixmap)
1733 _EVASGL_EXT_DRVNAME(GLX_EXT_texture_from_pixmap)
1734
1735 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glXBindTexImageEXT, (Display *display, GLXDrawable drawable, int buffer, const int *attrib_list))
1736 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXBindTexImageEXT")
1737 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1738 _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(void, glXReleaseTexImageEXT, (Display *display, GLXDrawable drawable, int buffer))
1739 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glXReleaseTexImageEXT")
1740 _EVASGL_EXT_FUNCTION_PRIVATE_END()
1741
1742 _EVASGL_EXT_END()
1743
1744 #endif
1745 #endif
1746 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1747
1748 #ifdef _EVASGL_EXT_WHITELIST_ONLY
1749 #undef _EVASGL_EXT_WHITELIST_ONLY
1750 #endif
1751
1752 #ifdef _EVASGL_EXT_ENABLE_GL_GLES
1753 #undef _EVASGL_EXT_ENABLE_GL_GLES
1754 #endif
1755
1756 #ifdef _EVASGL_EXT_ENABLE_EGL
1757 #undef _EVASGL_EXT_ENABLE_EGL
1758 #endif
1759
1760 #ifdef _EVASGL_EXT_FUNCTION_WHITELIST
1761 #undef _EVASGL_EXT_FUNCTION_WHITELIST
1762 #endif
1763
1764 #ifdef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN_DEFINED
1765 #undef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN
1766 #undef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN_DEFINED
1767 #endif
1768
1769 #ifdef _EVASGL_EXT_FUNCTION_PRIVATE_END_DEFINED
1770 #undef _EVASGL_EXT_FUNCTION_PRIVATE_END
1771 #undef _EVASGL_EXT_FUNCTION_PRIVATE_END_DEFINED
1772 #endif
1773
1774 #ifdef _EVASGL_EXT_DRVNAME_PRIVATE_DEFINED
1775 #undef _EVASGL_EXT_DRVNAME_PRIVATE
1776 #undef _EVASGL_EXT_DRVNAME_PRIVATE_DEFINED
1777 #endif
1778
1779 #ifdef _EVASGL_EXT_USE_DEFAULT_DEFINE
1780 #undef _EVASGL_EXT_CHECK_SUPPORT
1781 #undef _EVASGL_EXT_DISCARD_SUPPORT
1782 #undef _EVASGL_EXT_BEGIN
1783 #undef _EVASGL_EXT_END
1784 #undef _EVASGL_EXT_DRVNAME
1785 #undef _EVASGL_EXT_DRVNAME_PRIVATE
1786 #undef _EVASGL_EXT_FUNCTION_BEGIN
1787 #undef _EVASGL_EXT_FUNCTION_END
1788 #undef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN
1789 #undef _EVASGL_EXT_FUNCTION_PRIVATE_END
1790 #undef _EVASGL_EXT_FUNCTION_DRVFUNC
1791 #endif
1792
1793
1794