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.
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
11 #ifndef UI_GFX_GL_GL_BINDINGS_AUTOGEN_EGL_H_
12 #define UI_GFX_GL_GL_BINDINGS_AUTOGEN_EGL_H_
18 typedef EGLBoolean(GL_BINDING_CALL
* eglBindAPIProc
)(EGLenum api
);
19 typedef EGLBoolean(GL_BINDING_CALL
* eglBindTexImageProc
)(EGLDisplay dpy
,
22 typedef EGLBoolean(GL_BINDING_CALL
* eglChooseConfigProc
)(
24 const EGLint
* attrib_list
,
28 typedef EGLint(GL_BINDING_CALL
* eglClientWaitSyncKHRProc
)(EGLDisplay dpy
,
32 typedef EGLBoolean(GL_BINDING_CALL
* eglCopyBuffersProc
)(
35 EGLNativePixmapType target
);
36 typedef EGLContext(GL_BINDING_CALL
* eglCreateContextProc
)(
39 EGLContext share_context
,
40 const EGLint
* attrib_list
);
41 typedef EGLImageKHR(GL_BINDING_CALL
* eglCreateImageKHRProc
)(
45 EGLClientBuffer buffer
,
46 const EGLint
* attrib_list
);
47 typedef EGLSurface(GL_BINDING_CALL
* eglCreatePbufferFromClientBufferProc
)(
52 const EGLint
* attrib_list
);
53 typedef EGLSurface(GL_BINDING_CALL
* eglCreatePbufferSurfaceProc
)(
56 const EGLint
* attrib_list
);
57 typedef EGLSurface(GL_BINDING_CALL
* eglCreatePixmapSurfaceProc
)(
60 EGLNativePixmapType pixmap
,
61 const EGLint
* attrib_list
);
62 typedef EGLSyncKHR(GL_BINDING_CALL
* eglCreateSyncKHRProc
)(
65 const EGLint
* attrib_list
);
66 typedef EGLSurface(GL_BINDING_CALL
* eglCreateWindowSurfaceProc
)(
69 EGLNativeWindowType win
,
70 const EGLint
* attrib_list
);
71 typedef EGLBoolean(GL_BINDING_CALL
* eglDestroyContextProc
)(EGLDisplay dpy
,
73 typedef EGLBoolean(GL_BINDING_CALL
* eglDestroyImageKHRProc
)(EGLDisplay dpy
,
75 typedef EGLBoolean(GL_BINDING_CALL
* eglDestroySurfaceProc
)(EGLDisplay dpy
,
77 typedef EGLBoolean(GL_BINDING_CALL
* eglDestroySyncKHRProc
)(EGLDisplay dpy
,
79 typedef EGLBoolean(GL_BINDING_CALL
* eglGetConfigAttribProc
)(EGLDisplay dpy
,
83 typedef EGLBoolean(GL_BINDING_CALL
* eglGetConfigsProc
)(EGLDisplay dpy
,
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
)(
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
,
103 typedef EGLBoolean(GL_BINDING_CALL
* eglGetSyncValuesCHROMIUMProc
)(
106 EGLuint64CHROMIUM
* ust
,
107 EGLuint64CHROMIUM
* msc
,
108 EGLuint64CHROMIUM
* sbc
);
109 typedef EGLBoolean(GL_BINDING_CALL
* eglInitializeProc
)(EGLDisplay dpy
,
112 typedef EGLBoolean(GL_BINDING_CALL
* eglMakeCurrentProc
)(EGLDisplay dpy
,
116 typedef EGLBoolean(GL_BINDING_CALL
* eglPostSubBufferNVProc
)(EGLDisplay dpy
,
122 typedef EGLenum(GL_BINDING_CALL
* eglQueryAPIProc
)(void);
123 typedef EGLBoolean(GL_BINDING_CALL
* eglQueryContextProc
)(EGLDisplay dpy
,
127 typedef const char*(GL_BINDING_CALL
* eglQueryStringProc
)(EGLDisplay dpy
,
129 typedef EGLBoolean(GL_BINDING_CALL
* eglQuerySurfaceProc
)(EGLDisplay dpy
,
133 typedef EGLBoolean(GL_BINDING_CALL
* eglQuerySurfacePointerANGLEProc
)(
138 typedef EGLBoolean(GL_BINDING_CALL
* eglReleaseTexImageProc
)(EGLDisplay dpy
,
141 typedef EGLBoolean(GL_BINDING_CALL
* eglReleaseThreadProc
)(void);
142 typedef EGLBoolean(GL_BINDING_CALL
* eglSurfaceAttribProc
)(EGLDisplay dpy
,
146 typedef EGLBoolean(GL_BINDING_CALL
* eglSwapBuffersProc
)(EGLDisplay dpy
,
148 typedef EGLBoolean(GL_BINDING_CALL
* eglSwapIntervalProc
)(EGLDisplay dpy
,
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
,
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
;
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
{
227 virtual EGLBoolean
eglBindAPIFn(EGLenum api
) = 0;
228 virtual EGLBoolean
eglBindTexImageFn(EGLDisplay dpy
,
231 virtual EGLBoolean
eglChooseConfigFn(EGLDisplay dpy
,
232 const EGLint
* attrib_list
,
235 EGLint
* num_config
) = 0;
236 virtual EGLint
eglClientWaitSyncKHRFn(EGLDisplay dpy
,
239 EGLTimeKHR timeout
) = 0;
240 virtual EGLBoolean
eglCopyBuffersFn(EGLDisplay dpy
,
242 EGLNativePixmapType target
) = 0;
243 virtual EGLContext
eglCreateContextFn(EGLDisplay dpy
,
245 EGLContext share_context
,
246 const EGLint
* attrib_list
) = 0;
247 virtual EGLImageKHR
eglCreateImageKHRFn(EGLDisplay dpy
,
250 EGLClientBuffer buffer
,
251 const EGLint
* attrib_list
) = 0;
252 virtual EGLSurface
eglCreatePbufferFromClientBufferFn(
257 const EGLint
* attrib_list
) = 0;
258 virtual EGLSurface
eglCreatePbufferSurfaceFn(EGLDisplay dpy
,
260 const EGLint
* attrib_list
) = 0;
261 virtual EGLSurface
eglCreatePixmapSurfaceFn(EGLDisplay dpy
,
263 EGLNativePixmapType pixmap
,
264 const EGLint
* attrib_list
) = 0;
265 virtual EGLSyncKHR
eglCreateSyncKHRFn(EGLDisplay dpy
,
267 const EGLint
* attrib_list
) = 0;
268 virtual EGLSurface
eglCreateWindowSurfaceFn(EGLDisplay dpy
,
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
,
282 virtual EGLBoolean
eglGetConfigsFn(EGLDisplay dpy
,
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
,
300 virtual EGLBoolean
eglGetSyncValuesCHROMIUMFn(EGLDisplay dpy
,
302 EGLuint64CHROMIUM
* ust
,
303 EGLuint64CHROMIUM
* msc
,
304 EGLuint64CHROMIUM
* sbc
) = 0;
305 virtual EGLBoolean
eglInitializeFn(EGLDisplay dpy
,
308 virtual EGLBoolean
eglMakeCurrentFn(EGLDisplay dpy
,
312 virtual EGLBoolean
eglPostSubBufferNVFn(EGLDisplay dpy
,
318 virtual EGLenum
eglQueryAPIFn(void) = 0;
319 virtual EGLBoolean
eglQueryContextFn(EGLDisplay dpy
,
323 virtual const char* eglQueryStringFn(EGLDisplay dpy
, EGLint name
) = 0;
324 virtual EGLBoolean
eglQuerySurfaceFn(EGLDisplay dpy
,
328 virtual EGLBoolean
eglQuerySurfacePointerANGLEFn(EGLDisplay dpy
,
332 virtual EGLBoolean
eglReleaseTexImageFn(EGLDisplay dpy
,
335 virtual EGLBoolean
eglReleaseThreadFn(void) = 0;
336 virtual EGLBoolean
eglSurfaceAttribFn(EGLDisplay dpy
,
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
,
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_