21#include "../SDL_internal.h"
26#if SDL_VIDEO_OPENGL_EGL
32typedef struct SDL_EGL_VideoData
34 void *egl_dll_handle, *dll_handle;
39 int egl_version_major, egl_version_minor;
40 EGLint egl_required_visual_id;
104extern void *SDL_EGL_GetProcAddress(
_THIS,
const char *proc);
105extern void SDL_EGL_UnloadLibrary(
_THIS);
106extern void SDL_EGL_SetRequiredVisualId(
_THIS,
int visual_id);
107extern int SDL_EGL_ChooseConfig(
_THIS);
108extern int SDL_EGL_SetSwapInterval(
_THIS,
int interval);
109extern int SDL_EGL_GetSwapInterval(
_THIS);
120extern int SDL_EGL_SetErrorEx(
const char *
message,
const char * eglFunctionName,
EGLint eglErrorCode);
121#define SDL_EGL_SetError(message, eglFunctionName) SDL_EGL_SetErrorEx(message, eglFunctionName, _this->egl_data->eglGetError())
125#define SDL_EGL_SwapWindow_impl(BACKEND) int \
126BACKEND ## _GLES_SwapWindow(_THIS, SDL_Window * window) \
128 return SDL_EGL_SwapBuffers(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);\
131#define SDL_EGL_MakeCurrent_impl(BACKEND) int \
132BACKEND ## _GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) \
134 if (window && context) { \
135 return SDL_EGL_MakeCurrent(_this, ((SDL_WindowData *) window->driverdata)->egl_surface, context); \
138 return SDL_EGL_MakeCurrent(_this, NULL, NULL);\
142#define SDL_EGL_CreateContext_impl(BACKEND) SDL_GLContext \
143BACKEND ## _GLES_CreateContext(_THIS, SDL_Window * window) \
145 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
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 const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
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 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
EGLSurface EGLNativeWindowType * window
EGLenum const EGLAttribKHR * attrib_list
static screen_context_t context