Go to the documentation of this file.
21 #include "../SDL_internal.h"
26 #if SDL_VIDEO_OPENGL_EGL
32 typedef 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;
104 extern void *SDL_EGL_GetProcAddress(
_THIS,
const char *proc);
105 extern void SDL_EGL_UnloadLibrary(
_THIS);
106 extern void SDL_EGL_SetRequiredVisualId(
_THIS,
int visual_id);
107 extern int SDL_EGL_ChooseConfig(
_THIS);
108 extern int SDL_EGL_SetSwapInterval(
_THIS,
int interval);
109 extern int SDL_EGL_GetSwapInterval(
_THIS);
120 extern 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 \
126 BACKEND ## _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 \
132 BACKEND ## _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 \
143 BACKEND ## _GLES_CreateContext(_THIS, SDL_Window * window) \
145 return SDL_EGL_CreateContext(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);\
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
GLuint GLsizei const GLchar * message
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)
SDL_GLattr
OpenGL configuration attributes.
GLsizei const GLchar *const * path
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay(EGLenum platform, void *native_display, const EGLAttrib *attrib_list)
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
static screen_context_t context
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)
EGLSurface EGLNativeWindowType * window
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
GLuint const GLchar * name
EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)
EGLAPI EGLint EGLAPIENTRY eglGetError(void)
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
void * SDL_GLContext
An opaque handle to an OpenGL context.
EGLSurface EGLint attribute
EGLenum const EGLAttribKHR * attrib_list
GLsizei const GLfloat * value
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void)
const EGLAPI char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value)