21 #include "../SDL_internal.h"
26 #if SDL_VIDEO_OPENGL_EGL
32 #define SDL_EGL_MAX_DEVICES 8
34 typedef struct SDL_EGL_VideoData
36 void *egl_dll_handle, *dll_handle;
41 int egl_version_major, egl_version_minor;
42 EGLint egl_required_visual_id;
125 typedef enum SDL_EGL_ExtensionType {
126 SDL_EGL_DISPLAY_EXTENSION,
127 SDL_EGL_CLIENT_EXTENSION
128 } SDL_EGL_ExtensionType;
130 extern SDL_bool SDL_EGL_HasExtension(
_THIS, SDL_EGL_ExtensionType
type,
const char *ext);
136 extern int SDL_EGL_LoadLibraryOnly(
_THIS,
const char *
path);
138 extern void *SDL_EGL_GetProcAddress(
_THIS,
const char *proc);
139 extern void SDL_EGL_UnloadLibrary(
_THIS);
140 extern void SDL_EGL_SetRequiredVisualId(
_THIS,
int visual_id);
141 extern int SDL_EGL_ChooseConfig(
_THIS);
142 extern int SDL_EGL_SetSwapInterval(
_THIS,
int interval);
143 extern int SDL_EGL_GetSwapInterval(
_THIS);
150 extern int SDL_EGL_InitializeOffscreen(
_THIS,
int device);
158 extern int SDL_EGL_SetErrorEx(
const char *
message,
const char * eglFunctionName,
EGLint eglErrorCode);
159 #define SDL_EGL_SetError(message, eglFunctionName) SDL_EGL_SetErrorEx(message, eglFunctionName, _this->egl_data->eglGetError())
163 #define SDL_EGL_SwapWindow_impl(BACKEND) int \
164 BACKEND ## _GLES_SwapWindow(_THIS, SDL_Window * window) \
166 return SDL_EGL_SwapBuffers(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);\
169 #define SDL_EGL_MakeCurrent_impl(BACKEND) int \
170 BACKEND ## _GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) \
172 return SDL_EGL_MakeCurrent(_this, window ? ((SDL_WindowData *) window->driverdata)->egl_surface : EGL_NO_SURFACE, context);\
175 #define SDL_EGL_CreateContext_impl(BACKEND) SDL_GLContext \
176 BACKEND ## _GLES_CreateContext(_THIS, SDL_Window * window) \
178 return SDL_EGL_CreateContext(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);\
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
GLint GLint GLsizei width
GLint GLint GLsizei GLsizei height
GLuint GLuint GLsizei GLenum type
GLbitfield GLuint64 timeout
GLuint GLsizei const GLchar * message
GLuint const GLchar * name
GLsizei const GLchar *const * path
GLsizei const GLfloat * value
SDL_GLattr
OpenGL configuration attributes.
void * SDL_GLContext
An opaque handle to an OpenGL context.
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display dpy)
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void)
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)
EGLAPI const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void)
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value)
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay(EGLenum platform, void *native_display, const EGLAttrib *attrib_list)
EGLAPI EGLint EGLAPIENTRY eglGetError(void)
EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)
EGLSurface EGLint attribute
EGLDeviceEXT EGLint * num_devices
EGLSurface EGLNativeWindowType * window
EGLenum const EGLAttribKHR * attrib_list
khronos_utime_nanoseconds_t EGLTimeKHR
static SDL_AudioDeviceID device
static screen_context_t context