The EGL API provides an interface with accompanying type declarations and defines that together provide a single consistent method of EGL usage across platforms.
This API is designed to abstract the differences between EGL implementations and versions on different systems, and to remove the requirement for any other code to directly pull in and use these system libraries.
EGL Version
This API has the ability to support EGL 1.5, however it is not required to support anything beyond EGL 1.4. The user is responsible for ensuring that the functions from EGL 1.5 they are calling from the interface are valid.
Macros
SB_EGL_ALPHA_FORMAT
EGL_VERSION_1_2
SB_EGL_ALPHA_SIZE
EGL_VERSION_1_0
SB_EGL_BACK_BUFFER
EGL_VERSION_1_1
SB_EGL_CONFORMANT
EGL_VERSION_1_3
SB_EGL_CONTEXT_MAJOR_VERSION
EGL_VERSION_1_5
SB_EGL_DEFAULT_DISPLAY
EGL_VERSION_1_4
Typedefs
SbEglCastsToProperFunctionPointerType
The following type definitions were adapted from the types declared in https://www.khronos.org/registry/EGL/api/EGL/egl.h .
Definition
typedef void(* SbEglCastsToProperFunctionPointerType) (void)
SbEglInt32
The following type definitions were adapted from the types declared in https://www.khronos.org/registry/EGL/api/EGL/eglplatform.h .
Definition
typedef int32_t SbEglInt32
Structs
SbEglInterface
Members
SbEglBoolean(*eglChooseConfig)(SbEglDisplay dpy, const SbEglInt32 *attrib_list, SbEglConfig *configs, SbEglInt32 config_size, SbEglInt32 *num_config)
SbEglBoolean(*eglCopyBuffers)(SbEglDisplay dpy, SbEglSurface surface, SbEglNativePixmapType target)
SbEglContext(*eglCreateContext)(SbEglDisplay dpy, SbEglConfig config, SbEglContext share_context, const SbEglInt32 *attrib_list)
SbEglSurface(*eglCreatePbufferSurface)(SbEglDisplay dpy, SbEglConfig config, const SbEglInt32 *attrib_list)
SbEglSurface(*eglCreatePixmapSurface)(SbEglDisplay dpy, SbEglConfig config, SbEglNativePixmapType pixmap, const SbEglInt32 *attrib_list)
SbEglSurface(*eglCreateWindowSurface)(SbEglDisplay dpy, SbEglConfig config, SbEglNativeWindowType win, const SbEglInt32 *attrib_list)
SbEglBoolean(*eglDestroyContext)(SbEglDisplay dpy, SbEglContext ctx)
SbEglBoolean(*eglDestroySurface)(SbEglDisplay dpy, SbEglSurface surface)
SbEglBoolean(*eglGetConfigAttrib)(SbEglDisplay dpy, SbEglConfig config, SbEglInt32 attribute, SbEglInt32 *value)
SbEglBoolean(*eglGetConfigs)(SbEglDisplay dpy, SbEglConfig *configs, SbEglInt32 config_size, SbEglInt32 *num_config)
SbEglDisplay(*eglGetCurrentDisplay)(void)
SbEglSurface(*eglGetCurrentSurface)(SbEglInt32 readdraw)
SbEglDisplay(*eglGetDisplay)(SbEglNativeDisplayType display_id)
SbEglInt32(*eglGetError)(void)
SbEglCastsToProperFunctionPointerType(*eglGetProcAddress)(const char *procname)
SbEglBoolean(*eglInitialize)(SbEglDisplay dpy, SbEglInt32 *major, SbEglInt32 *minor)
SbEglBoolean(*eglMakeCurrent)(SbEglDisplay dpy, SbEglSurface draw, SbEglSurface read, SbEglContext ctx)
SbEglBoolean(*eglQueryContext)(SbEglDisplay dpy, SbEglContext ctx, SbEglInt32 attribute, SbEglInt32 *value)
const char *(*eglQueryString)(SbEglDisplay dpy, SbEglInt32 name)
SbEglBoolean(*eglQuerySurface)(SbEglDisplay dpy, SbEglSurface surface, SbEglInt32 attribute, SbEglInt32 *value)
SbEglBoolean(*eglSwapBuffers)(SbEglDisplay dpy, SbEglSurface surface)
SbEglBoolean(*eglTerminate)(SbEglDisplay dpy)
SbEglBoolean(*eglWaitGL)(void)
SbEglBoolean(*eglWaitNative)(SbEglInt32 engine)
SbEglBoolean(*eglBindTexImage)(SbEglDisplay dpy, SbEglSurface surface, SbEglInt32 buffer)
SbEglBoolean(*eglReleaseTexImage)(SbEglDisplay dpy, SbEglSurface surface, SbEglInt32 buffer)
SbEglBoolean(*eglSurfaceAttrib)(SbEglDisplay dpy, SbEglSurface surface, SbEglInt32 attribute, SbEglInt32 value)
SbEglBoolean(*eglSwapInterval)(SbEglDisplay dpy, SbEglInt32 interval)
SbEglBoolean(*eglBindAPI)(SbEglEnum api)
SbEglEnum(*eglQueryAPI)(void)
SbEglSurface(*eglCreatePbufferFromClientBuffer)(SbEglDisplay dpy, SbEglEnum buftype, SbEglClientBuffer buffer, SbEglConfig config, const SbEglInt32 *attrib_list)
SbEglBoolean(*eglReleaseThread)(void)
SbEglBoolean(*eglWaitClient)(void)
SbEglContext(*eglGetCurrentContext)(void)
SbEglSync(*eglCreateSync)(SbEglDisplay dpy, SbEglEnum type, const SbEglAttrib *attrib_list)
SbEglBoolean(*eglDestroySync)(SbEglDisplay dpy, SbEglSync sync)
SbEglInt32(*eglClientWaitSync)(SbEglDisplay dpy, SbEglSync sync, SbEglInt32 flags, SbEglTime timeout)
SbEglBoolean(*eglGetSyncAttrib)(SbEglDisplay dpy, SbEglSync sync, SbEglInt32 attribute, SbEglAttrib *value)
SbEglImage(*eglCreateImage)(SbEglDisplay dpy, SbEglContext ctx, SbEglEnum target, SbEglClientBuffer buffer, const SbEglAttrib *attrib_list)
SbEglBoolean(*eglDestroyImage)(SbEglDisplay dpy, SbEglImage image)
SbEglDisplay(*eglGetPlatformDisplay)(SbEglEnum platform, void *native_display, const SbEglAttrib *attrib_list)
SbEglSurface(*eglCreatePlatformWindowSurface)(SbEglDisplay dpy, SbEglConfig config, void *native_window, const SbEglAttrib *attrib_list)
SbEglSurface(*eglCreatePlatformPixmapSurface)(SbEglDisplay dpy, SbEglConfig config, void *native_pixmap, const SbEglAttrib *attrib_list)
SbEglBoolean(*eglWaitSync)(SbEglDisplay dpy, SbEglSync sync, SbEglInt32 flags)