Add a stub __cxa_demangle to disable LLVM's demangler.
[chromium-blink-merge.git] / ui / gl / gl_bindings_autogen_egl.h
blobf99856bbf5bca546f4f9074639549ab819b8908a
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 //
5 // This file is auto-generated from
6 // ui/gl/generate_bindings.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
9 // DO NOT EDIT!
11 #ifndef UI_GFX_GL_GL_BINDINGS_AUTOGEN_EGL_H_
12 #define UI_GFX_GL_GL_BINDINGS_AUTOGEN_EGL_H_
14 namespace gfx {
16 class GLContext;
18 typedef EGLBoolean(GL_BINDING_CALL* eglBindAPIProc)(EGLenum api);
19 typedef EGLBoolean(GL_BINDING_CALL* eglBindTexImageProc)(EGLDisplay dpy,
20 EGLSurface surface,
21 EGLint buffer);
22 typedef EGLBoolean(GL_BINDING_CALL* eglChooseConfigProc)(
23 EGLDisplay dpy,
24 const EGLint* attrib_list,
25 EGLConfig* configs,
26 EGLint config_size,
27 EGLint* num_config);
28 typedef EGLint(GL_BINDING_CALL* eglClientWaitSyncKHRProc)(EGLDisplay dpy,
29 EGLSyncKHR sync,
30 EGLint flags,
31 EGLTimeKHR timeout);
32 typedef EGLBoolean(GL_BINDING_CALL* eglCopyBuffersProc)(
33 EGLDisplay dpy,
34 EGLSurface surface,
35 EGLNativePixmapType target);
36 typedef EGLContext(GL_BINDING_CALL* eglCreateContextProc)(
37 EGLDisplay dpy,
38 EGLConfig config,
39 EGLContext share_context,
40 const EGLint* attrib_list);
41 typedef EGLImageKHR(GL_BINDING_CALL* eglCreateImageKHRProc)(
42 EGLDisplay dpy,
43 EGLContext ctx,
44 EGLenum target,
45 EGLClientBuffer buffer,
46 const EGLint* attrib_list);
47 typedef EGLSurface(GL_BINDING_CALL* eglCreatePbufferFromClientBufferProc)(
48 EGLDisplay dpy,
49 EGLenum buftype,
50 void* buffer,
51 EGLConfig config,
52 const EGLint* attrib_list);
53 typedef EGLSurface(GL_BINDING_CALL* eglCreatePbufferSurfaceProc)(
54 EGLDisplay dpy,
55 EGLConfig config,
56 const EGLint* attrib_list);
57 typedef EGLSurface(GL_BINDING_CALL* eglCreatePixmapSurfaceProc)(
58 EGLDisplay dpy,
59 EGLConfig config,
60 EGLNativePixmapType pixmap,
61 const EGLint* attrib_list);
62 typedef EGLSyncKHR(GL_BINDING_CALL* eglCreateSyncKHRProc)(
63 EGLDisplay dpy,
64 EGLenum type,
65 const EGLint* attrib_list);
66 typedef EGLSurface(GL_BINDING_CALL* eglCreateWindowSurfaceProc)(
67 EGLDisplay dpy,
68 EGLConfig config,
69 EGLNativeWindowType win,
70 const EGLint* attrib_list);
71 typedef EGLBoolean(GL_BINDING_CALL* eglDestroyContextProc)(EGLDisplay dpy,
72 EGLContext ctx);
73 typedef EGLBoolean(GL_BINDING_CALL* eglDestroyImageKHRProc)(EGLDisplay dpy,
74 EGLImageKHR image);
75 typedef EGLBoolean(GL_BINDING_CALL* eglDestroySurfaceProc)(EGLDisplay dpy,
76 EGLSurface surface);
77 typedef EGLBoolean(GL_BINDING_CALL* eglDestroySyncKHRProc)(EGLDisplay dpy,
78 EGLSyncKHR sync);
79 typedef EGLBoolean(GL_BINDING_CALL* eglGetConfigAttribProc)(EGLDisplay dpy,
80 EGLConfig config,
81 EGLint attribute,
82 EGLint* value);
83 typedef EGLBoolean(GL_BINDING_CALL* eglGetConfigsProc)(EGLDisplay dpy,
84 EGLConfig* configs,
85 EGLint config_size,
86 EGLint* num_config);
87 typedef EGLContext(GL_BINDING_CALL* eglGetCurrentContextProc)(void);
88 typedef EGLDisplay(GL_BINDING_CALL* eglGetCurrentDisplayProc)(void);
89 typedef EGLSurface(GL_BINDING_CALL* eglGetCurrentSurfaceProc)(EGLint readdraw);
90 typedef EGLDisplay(GL_BINDING_CALL* eglGetDisplayProc)(
91 EGLNativeDisplayType display_id);
92 typedef EGLint(GL_BINDING_CALL* eglGetErrorProc)(void);
93 typedef EGLDisplay(GL_BINDING_CALL* eglGetPlatformDisplayEXTProc)(
94 EGLenum platform,
95 void* native_display,
96 const EGLint* attrib_list);
97 typedef __eglMustCastToProperFunctionPointerType(
98 GL_BINDING_CALL* eglGetProcAddressProc)(const char* procname);
99 typedef EGLBoolean(GL_BINDING_CALL* eglGetSyncAttribKHRProc)(EGLDisplay dpy,
100 EGLSyncKHR sync,
101 EGLint attribute,
102 EGLint* value);
103 typedef EGLBoolean(GL_BINDING_CALL* eglGetSyncValuesCHROMIUMProc)(
104 EGLDisplay dpy,
105 EGLSurface surface,
106 EGLuint64CHROMIUM* ust,
107 EGLuint64CHROMIUM* msc,
108 EGLuint64CHROMIUM* sbc);
109 typedef EGLBoolean(GL_BINDING_CALL* eglInitializeProc)(EGLDisplay dpy,
110 EGLint* major,
111 EGLint* minor);
112 typedef EGLBoolean(GL_BINDING_CALL* eglMakeCurrentProc)(EGLDisplay dpy,
113 EGLSurface draw,
114 EGLSurface read,
115 EGLContext ctx);
116 typedef EGLBoolean(GL_BINDING_CALL* eglPostSubBufferNVProc)(EGLDisplay dpy,
117 EGLSurface surface,
118 EGLint x,
119 EGLint y,
120 EGLint width,
121 EGLint height);
122 typedef EGLenum(GL_BINDING_CALL* eglQueryAPIProc)(void);
123 typedef EGLBoolean(GL_BINDING_CALL* eglQueryContextProc)(EGLDisplay dpy,
124 EGLContext ctx,
125 EGLint attribute,
126 EGLint* value);
127 typedef const char*(GL_BINDING_CALL* eglQueryStringProc)(EGLDisplay dpy,
128 EGLint name);
129 typedef EGLBoolean(GL_BINDING_CALL* eglQuerySurfaceProc)(EGLDisplay dpy,
130 EGLSurface surface,
131 EGLint attribute,
132 EGLint* value);
133 typedef EGLBoolean(GL_BINDING_CALL* eglQuerySurfacePointerANGLEProc)(
134 EGLDisplay dpy,
135 EGLSurface surface,
136 EGLint attribute,
137 void** value);
138 typedef EGLBoolean(GL_BINDING_CALL* eglReleaseTexImageProc)(EGLDisplay dpy,
139 EGLSurface surface,
140 EGLint buffer);
141 typedef EGLBoolean(GL_BINDING_CALL* eglReleaseThreadProc)(void);
142 typedef EGLBoolean(GL_BINDING_CALL* eglSurfaceAttribProc)(EGLDisplay dpy,
143 EGLSurface surface,
144 EGLint attribute,
145 EGLint value);
146 typedef EGLBoolean(GL_BINDING_CALL* eglSwapBuffersProc)(EGLDisplay dpy,
147 EGLSurface surface);
148 typedef EGLBoolean(GL_BINDING_CALL* eglSwapIntervalProc)(EGLDisplay dpy,
149 EGLint interval);
150 typedef EGLBoolean(GL_BINDING_CALL* eglTerminateProc)(EGLDisplay dpy);
151 typedef EGLBoolean(GL_BINDING_CALL* eglWaitClientProc)(void);
152 typedef EGLBoolean(GL_BINDING_CALL* eglWaitGLProc)(void);
153 typedef EGLBoolean(GL_BINDING_CALL* eglWaitNativeProc)(EGLint engine);
154 typedef EGLint(GL_BINDING_CALL* eglWaitSyncKHRProc)(EGLDisplay dpy,
155 EGLSyncKHR sync,
156 EGLint flags);
158 struct ExtensionsEGL {
159 bool b_EGL_EXT_platform_base;
160 bool b_EGL_ANGLE_d3d_share_handle_client_buffer;
161 bool b_EGL_ANGLE_query_surface_pointer;
162 bool b_EGL_ANGLE_surface_d3d_texture_2d_share_handle;
163 bool b_EGL_CHROMIUM_sync_control;
164 bool b_EGL_KHR_fence_sync;
165 bool b_EGL_KHR_gl_texture_2D_image;
166 bool b_EGL_KHR_image;
167 bool b_EGL_KHR_image_base;
168 bool b_EGL_KHR_reusable_sync;
169 bool b_EGL_KHR_wait_sync;
170 bool b_EGL_NV_post_sub_buffer;
171 bool b_GL_CHROMIUM_egl_khr_fence_sync_hack;
174 struct ProcsEGL {
175 eglBindAPIProc eglBindAPIFn;
176 eglBindTexImageProc eglBindTexImageFn;
177 eglChooseConfigProc eglChooseConfigFn;
178 eglClientWaitSyncKHRProc eglClientWaitSyncKHRFn;
179 eglCopyBuffersProc eglCopyBuffersFn;
180 eglCreateContextProc eglCreateContextFn;
181 eglCreateImageKHRProc eglCreateImageKHRFn;
182 eglCreatePbufferFromClientBufferProc eglCreatePbufferFromClientBufferFn;
183 eglCreatePbufferSurfaceProc eglCreatePbufferSurfaceFn;
184 eglCreatePixmapSurfaceProc eglCreatePixmapSurfaceFn;
185 eglCreateSyncKHRProc eglCreateSyncKHRFn;
186 eglCreateWindowSurfaceProc eglCreateWindowSurfaceFn;
187 eglDestroyContextProc eglDestroyContextFn;
188 eglDestroyImageKHRProc eglDestroyImageKHRFn;
189 eglDestroySurfaceProc eglDestroySurfaceFn;
190 eglDestroySyncKHRProc eglDestroySyncKHRFn;
191 eglGetConfigAttribProc eglGetConfigAttribFn;
192 eglGetConfigsProc eglGetConfigsFn;
193 eglGetCurrentContextProc eglGetCurrentContextFn;
194 eglGetCurrentDisplayProc eglGetCurrentDisplayFn;
195 eglGetCurrentSurfaceProc eglGetCurrentSurfaceFn;
196 eglGetDisplayProc eglGetDisplayFn;
197 eglGetErrorProc eglGetErrorFn;
198 eglGetPlatformDisplayEXTProc eglGetPlatformDisplayEXTFn;
199 eglGetProcAddressProc eglGetProcAddressFn;
200 eglGetSyncAttribKHRProc eglGetSyncAttribKHRFn;
201 eglGetSyncValuesCHROMIUMProc eglGetSyncValuesCHROMIUMFn;
202 eglInitializeProc eglInitializeFn;
203 eglMakeCurrentProc eglMakeCurrentFn;
204 eglPostSubBufferNVProc eglPostSubBufferNVFn;
205 eglQueryAPIProc eglQueryAPIFn;
206 eglQueryContextProc eglQueryContextFn;
207 eglQueryStringProc eglQueryStringFn;
208 eglQuerySurfaceProc eglQuerySurfaceFn;
209 eglQuerySurfacePointerANGLEProc eglQuerySurfacePointerANGLEFn;
210 eglReleaseTexImageProc eglReleaseTexImageFn;
211 eglReleaseThreadProc eglReleaseThreadFn;
212 eglSurfaceAttribProc eglSurfaceAttribFn;
213 eglSwapBuffersProc eglSwapBuffersFn;
214 eglSwapIntervalProc eglSwapIntervalFn;
215 eglTerminateProc eglTerminateFn;
216 eglWaitClientProc eglWaitClientFn;
217 eglWaitGLProc eglWaitGLFn;
218 eglWaitNativeProc eglWaitNativeFn;
219 eglWaitSyncKHRProc eglWaitSyncKHRFn;
222 class GL_EXPORT EGLApi {
223 public:
224 EGLApi();
225 virtual ~EGLApi();
227 virtual EGLBoolean eglBindAPIFn(EGLenum api) = 0;
228 virtual EGLBoolean eglBindTexImageFn(EGLDisplay dpy,
229 EGLSurface surface,
230 EGLint buffer) = 0;
231 virtual EGLBoolean eglChooseConfigFn(EGLDisplay dpy,
232 const EGLint* attrib_list,
233 EGLConfig* configs,
234 EGLint config_size,
235 EGLint* num_config) = 0;
236 virtual EGLint eglClientWaitSyncKHRFn(EGLDisplay dpy,
237 EGLSyncKHR sync,
238 EGLint flags,
239 EGLTimeKHR timeout) = 0;
240 virtual EGLBoolean eglCopyBuffersFn(EGLDisplay dpy,
241 EGLSurface surface,
242 EGLNativePixmapType target) = 0;
243 virtual EGLContext eglCreateContextFn(EGLDisplay dpy,
244 EGLConfig config,
245 EGLContext share_context,
246 const EGLint* attrib_list) = 0;
247 virtual EGLImageKHR eglCreateImageKHRFn(EGLDisplay dpy,
248 EGLContext ctx,
249 EGLenum target,
250 EGLClientBuffer buffer,
251 const EGLint* attrib_list) = 0;
252 virtual EGLSurface eglCreatePbufferFromClientBufferFn(
253 EGLDisplay dpy,
254 EGLenum buftype,
255 void* buffer,
256 EGLConfig config,
257 const EGLint* attrib_list) = 0;
258 virtual EGLSurface eglCreatePbufferSurfaceFn(EGLDisplay dpy,
259 EGLConfig config,
260 const EGLint* attrib_list) = 0;
261 virtual EGLSurface eglCreatePixmapSurfaceFn(EGLDisplay dpy,
262 EGLConfig config,
263 EGLNativePixmapType pixmap,
264 const EGLint* attrib_list) = 0;
265 virtual EGLSyncKHR eglCreateSyncKHRFn(EGLDisplay dpy,
266 EGLenum type,
267 const EGLint* attrib_list) = 0;
268 virtual EGLSurface eglCreateWindowSurfaceFn(EGLDisplay dpy,
269 EGLConfig config,
270 EGLNativeWindowType win,
271 const EGLint* attrib_list) = 0;
272 virtual EGLBoolean eglDestroyContextFn(EGLDisplay dpy, EGLContext ctx) = 0;
273 virtual EGLBoolean eglDestroyImageKHRFn(EGLDisplay dpy,
274 EGLImageKHR image) = 0;
275 virtual EGLBoolean eglDestroySurfaceFn(EGLDisplay dpy,
276 EGLSurface surface) = 0;
277 virtual EGLBoolean eglDestroySyncKHRFn(EGLDisplay dpy, EGLSyncKHR sync) = 0;
278 virtual EGLBoolean eglGetConfigAttribFn(EGLDisplay dpy,
279 EGLConfig config,
280 EGLint attribute,
281 EGLint* value) = 0;
282 virtual EGLBoolean eglGetConfigsFn(EGLDisplay dpy,
283 EGLConfig* configs,
284 EGLint config_size,
285 EGLint* num_config) = 0;
286 virtual EGLContext eglGetCurrentContextFn(void) = 0;
287 virtual EGLDisplay eglGetCurrentDisplayFn(void) = 0;
288 virtual EGLSurface eglGetCurrentSurfaceFn(EGLint readdraw) = 0;
289 virtual EGLDisplay eglGetDisplayFn(EGLNativeDisplayType display_id) = 0;
290 virtual EGLint eglGetErrorFn(void) = 0;
291 virtual EGLDisplay eglGetPlatformDisplayEXTFn(EGLenum platform,
292 void* native_display,
293 const EGLint* attrib_list) = 0;
294 virtual __eglMustCastToProperFunctionPointerType eglGetProcAddressFn(
295 const char* procname) = 0;
296 virtual EGLBoolean eglGetSyncAttribKHRFn(EGLDisplay dpy,
297 EGLSyncKHR sync,
298 EGLint attribute,
299 EGLint* value) = 0;
300 virtual EGLBoolean eglGetSyncValuesCHROMIUMFn(EGLDisplay dpy,
301 EGLSurface surface,
302 EGLuint64CHROMIUM* ust,
303 EGLuint64CHROMIUM* msc,
304 EGLuint64CHROMIUM* sbc) = 0;
305 virtual EGLBoolean eglInitializeFn(EGLDisplay dpy,
306 EGLint* major,
307 EGLint* minor) = 0;
308 virtual EGLBoolean eglMakeCurrentFn(EGLDisplay dpy,
309 EGLSurface draw,
310 EGLSurface read,
311 EGLContext ctx) = 0;
312 virtual EGLBoolean eglPostSubBufferNVFn(EGLDisplay dpy,
313 EGLSurface surface,
314 EGLint x,
315 EGLint y,
316 EGLint width,
317 EGLint height) = 0;
318 virtual EGLenum eglQueryAPIFn(void) = 0;
319 virtual EGLBoolean eglQueryContextFn(EGLDisplay dpy,
320 EGLContext ctx,
321 EGLint attribute,
322 EGLint* value) = 0;
323 virtual const char* eglQueryStringFn(EGLDisplay dpy, EGLint name) = 0;
324 virtual EGLBoolean eglQuerySurfaceFn(EGLDisplay dpy,
325 EGLSurface surface,
326 EGLint attribute,
327 EGLint* value) = 0;
328 virtual EGLBoolean eglQuerySurfacePointerANGLEFn(EGLDisplay dpy,
329 EGLSurface surface,
330 EGLint attribute,
331 void** value) = 0;
332 virtual EGLBoolean eglReleaseTexImageFn(EGLDisplay dpy,
333 EGLSurface surface,
334 EGLint buffer) = 0;
335 virtual EGLBoolean eglReleaseThreadFn(void) = 0;
336 virtual EGLBoolean eglSurfaceAttribFn(EGLDisplay dpy,
337 EGLSurface surface,
338 EGLint attribute,
339 EGLint value) = 0;
340 virtual EGLBoolean eglSwapBuffersFn(EGLDisplay dpy, EGLSurface surface) = 0;
341 virtual EGLBoolean eglSwapIntervalFn(EGLDisplay dpy, EGLint interval) = 0;
342 virtual EGLBoolean eglTerminateFn(EGLDisplay dpy) = 0;
343 virtual EGLBoolean eglWaitClientFn(void) = 0;
344 virtual EGLBoolean eglWaitGLFn(void) = 0;
345 virtual EGLBoolean eglWaitNativeFn(EGLint engine) = 0;
346 virtual EGLint eglWaitSyncKHRFn(EGLDisplay dpy,
347 EGLSyncKHR sync,
348 EGLint flags) = 0;
351 } // namespace gfx
353 #define eglBindAPI ::gfx::g_current_egl_context->eglBindAPIFn
354 #define eglBindTexImage ::gfx::g_current_egl_context->eglBindTexImageFn
355 #define eglChooseConfig ::gfx::g_current_egl_context->eglChooseConfigFn
356 #define eglClientWaitSyncKHR \
357 ::gfx::g_current_egl_context->eglClientWaitSyncKHRFn
358 #define eglCopyBuffers ::gfx::g_current_egl_context->eglCopyBuffersFn
359 #define eglCreateContext ::gfx::g_current_egl_context->eglCreateContextFn
360 #define eglCreateImageKHR ::gfx::g_current_egl_context->eglCreateImageKHRFn
361 #define eglCreatePbufferFromClientBuffer \
362 ::gfx::g_current_egl_context->eglCreatePbufferFromClientBufferFn
363 #define eglCreatePbufferSurface \
364 ::gfx::g_current_egl_context->eglCreatePbufferSurfaceFn
365 #define eglCreatePixmapSurface \
366 ::gfx::g_current_egl_context->eglCreatePixmapSurfaceFn
367 #define eglCreateSyncKHR ::gfx::g_current_egl_context->eglCreateSyncKHRFn
368 #define eglCreateWindowSurface \
369 ::gfx::g_current_egl_context->eglCreateWindowSurfaceFn
370 #define eglDestroyContext ::gfx::g_current_egl_context->eglDestroyContextFn
371 #define eglDestroyImageKHR ::gfx::g_current_egl_context->eglDestroyImageKHRFn
372 #define eglDestroySurface ::gfx::g_current_egl_context->eglDestroySurfaceFn
373 #define eglDestroySyncKHR ::gfx::g_current_egl_context->eglDestroySyncKHRFn
374 #define eglGetConfigAttrib ::gfx::g_current_egl_context->eglGetConfigAttribFn
375 #define eglGetConfigs ::gfx::g_current_egl_context->eglGetConfigsFn
376 #define eglGetCurrentContext \
377 ::gfx::g_current_egl_context->eglGetCurrentContextFn
378 #define eglGetCurrentDisplay \
379 ::gfx::g_current_egl_context->eglGetCurrentDisplayFn
380 #define eglGetCurrentSurface \
381 ::gfx::g_current_egl_context->eglGetCurrentSurfaceFn
382 #define eglGetDisplay ::gfx::g_current_egl_context->eglGetDisplayFn
383 #define eglGetError ::gfx::g_current_egl_context->eglGetErrorFn
384 #define eglGetPlatformDisplayEXT \
385 ::gfx::g_current_egl_context->eglGetPlatformDisplayEXTFn
386 #define eglGetProcAddress ::gfx::g_current_egl_context->eglGetProcAddressFn
387 #define eglGetSyncAttribKHR ::gfx::g_current_egl_context->eglGetSyncAttribKHRFn
388 #define eglGetSyncValuesCHROMIUM \
389 ::gfx::g_current_egl_context->eglGetSyncValuesCHROMIUMFn
390 #define eglInitialize ::gfx::g_current_egl_context->eglInitializeFn
391 #define eglMakeCurrent ::gfx::g_current_egl_context->eglMakeCurrentFn
392 #define eglPostSubBufferNV ::gfx::g_current_egl_context->eglPostSubBufferNVFn
393 #define eglQueryAPI ::gfx::g_current_egl_context->eglQueryAPIFn
394 #define eglQueryContext ::gfx::g_current_egl_context->eglQueryContextFn
395 #define eglQueryString ::gfx::g_current_egl_context->eglQueryStringFn
396 #define eglQuerySurface ::gfx::g_current_egl_context->eglQuerySurfaceFn
397 #define eglQuerySurfacePointerANGLE \
398 ::gfx::g_current_egl_context->eglQuerySurfacePointerANGLEFn
399 #define eglReleaseTexImage ::gfx::g_current_egl_context->eglReleaseTexImageFn
400 #define eglReleaseThread ::gfx::g_current_egl_context->eglReleaseThreadFn
401 #define eglSurfaceAttrib ::gfx::g_current_egl_context->eglSurfaceAttribFn
402 #define eglSwapBuffers ::gfx::g_current_egl_context->eglSwapBuffersFn
403 #define eglSwapInterval ::gfx::g_current_egl_context->eglSwapIntervalFn
404 #define eglTerminate ::gfx::g_current_egl_context->eglTerminateFn
405 #define eglWaitClient ::gfx::g_current_egl_context->eglWaitClientFn
406 #define eglWaitGL ::gfx::g_current_egl_context->eglWaitGLFn
407 #define eglWaitNative ::gfx::g_current_egl_context->eglWaitNativeFn
408 #define eglWaitSyncKHR ::gfx::g_current_egl_context->eglWaitSyncKHRFn
410 #endif // UI_GFX_GL_GL_BINDINGS_AUTOGEN_EGL_H_