From 30f41c02aec763d32e62351452da9ef582bc3472 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 6 Mar 2026 13:30:59 -0800 Subject: Move contrib libraries to contrib repo --- contrib/SDL-3.2.8/src/video/SDL_egl_c.h | 171 -------------------------------- 1 file changed, 171 deletions(-) delete mode 100644 contrib/SDL-3.2.8/src/video/SDL_egl_c.h (limited to 'contrib/SDL-3.2.8/src/video/SDL_egl_c.h') diff --git a/contrib/SDL-3.2.8/src/video/SDL_egl_c.h b/contrib/SDL-3.2.8/src/video/SDL_egl_c.h deleted file mode 100644 index 24dd392..0000000 --- a/contrib/SDL-3.2.8/src/video/SDL_egl_c.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2025 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ -#include "SDL_internal.h" - -#ifndef SDL_egl_h_ -#define SDL_egl_h_ - -#ifdef SDL_VIDEO_OPENGL_EGL - -#include - -#include "SDL_sysvideo.h" - -#define SDL_EGL_MAX_DEVICES 8 - -// For systems that don't define these -typedef intptr_t EGLAttrib; -typedef void *EGLDeviceEXT; -typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy); -typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); -typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx); -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval); -typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api); -typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); -typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); -typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); -typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); -typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); -typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); -typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); - -typedef struct SDL_EGL_VideoData -{ - SDL_SharedObject *opengl_dll_handle; - SDL_SharedObject *egl_dll_handle; - EGLDisplay egl_display; - EGLConfig egl_config; - int egl_swapinterval; - int egl_surfacetype; - int egl_version_major, egl_version_minor; - EGLint egl_required_visual_id; - bool is_offscreen; // whether EGL display was offscreen - EGLenum apitype; // EGL_OPENGL_ES_API, EGL_OPENGL_API, etc - - PFNEGLGETDISPLAYPROC eglGetDisplay; - PFNEGLINITIALIZEPROC eglInitialize; - PFNEGLTERMINATEPROC eglTerminate; - PFNEGLGETPROCADDRESSPROC eglGetProcAddress; - PFNEGLCHOOSECONFIGPROC eglChooseConfig; - PFNEGLCREATECONTEXTPROC eglCreateContext; - PFNEGLDESTROYCONTEXTPROC eglDestroyContext; - PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface; - PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurface; - PFNEGLDESTROYSURFACEPROC eglDestroySurface; - PFNEGLMAKECURRENTPROC eglMakeCurrent; - PFNEGLSWAPBUFFERSPROC eglSwapBuffers; - PFNEGLSWAPINTERVALPROC eglSwapInterval; - PFNEGLQUERYSTRINGPROC eglQueryString; - PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttrib; - PFNEGLWAITNATIVEPROC eglWaitNative; - PFNEGLWAITGLPROC eglWaitGL; - PFNEGLBINDAPIPROC eglBindAPI; - PFNEGLGETERRORPROC eglGetError; - PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT; - PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplay; - PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT; - - // Atomic functions - PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR; - PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR; - PFNEGLDUPNATIVEFENCEFDANDROIDPROC eglDupNativeFenceFDANDROID; - PFNEGLWAITSYNCKHRPROC eglWaitSyncKHR; - PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR; - - // Atomic functions end -} SDL_EGL_VideoData; - -// OpenGLES functions -typedef enum SDL_EGL_ExtensionType -{ - SDL_EGL_DISPLAY_EXTENSION, - SDL_EGL_CLIENT_EXTENSION -} SDL_EGL_ExtensionType; - -extern bool SDL_EGL_HasExtension(SDL_VideoDevice *_this, SDL_EGL_ExtensionType type, const char *ext); - -extern bool SDL_EGL_GetAttribute(SDL_VideoDevice *_this, SDL_GLAttr attrib, int *value); -/* SDL_EGL_LoadLibrary can get a display for a specific platform (EGL_PLATFORM_*) - * or, if 0 is passed, let the implementation decide. - */ -extern bool SDL_EGL_LoadLibraryOnly(SDL_VideoDevice *_this, const char *path); -extern bool SDL_EGL_LoadLibrary(SDL_VideoDevice *_this, const char *path, NativeDisplayType native_display, EGLenum platform); -extern SDL_FunctionPointer SDL_EGL_GetProcAddressInternal(SDL_VideoDevice *_this, const char *proc); -extern void SDL_EGL_UnloadLibrary(SDL_VideoDevice *_this); -extern void SDL_EGL_SetRequiredVisualId(SDL_VideoDevice *_this, int visual_id); -extern bool SDL_EGL_ChooseConfig(SDL_VideoDevice *_this); -extern bool SDL_EGL_SetSwapInterval(SDL_VideoDevice *_this, int interval); -extern bool SDL_EGL_GetSwapInterval(SDL_VideoDevice *_this, int *interval); -extern bool SDL_EGL_DestroyContext(SDL_VideoDevice *_this, SDL_GLContext context); -extern EGLSurface SDL_EGL_CreateSurface(SDL_VideoDevice *_this, SDL_Window *window, NativeWindowType nw); -extern void SDL_EGL_DestroySurface(SDL_VideoDevice *_this, EGLSurface egl_surface); - -extern EGLSurface SDL_EGL_CreateOffscreenSurface(SDL_VideoDevice *_this, int width, int height); -// Assumes that LoadLibraryOnly() has succeeded -extern bool SDL_EGL_InitializeOffscreen(SDL_VideoDevice *_this, int device); - -// These need to be wrapped to get the surface for the window by the platform GLES implementation -extern SDL_GLContext SDL_EGL_CreateContext(SDL_VideoDevice *_this, EGLSurface egl_surface); -extern bool SDL_EGL_MakeCurrent(SDL_VideoDevice *_this, EGLSurface egl_surface, SDL_GLContext context); -extern bool SDL_EGL_SwapBuffers(SDL_VideoDevice *_this, EGLSurface egl_surface); - -// SDL Error-reporting -extern bool SDL_EGL_SetErrorEx(const char *message, const char *eglFunctionName, EGLint eglErrorCode); -#define SDL_EGL_SetError(message, eglFunctionName) SDL_EGL_SetErrorEx(message, eglFunctionName, _this->egl_data->eglGetError()) - -// A few of useful macros - -#define SDL_EGL_SwapWindow_impl(BACKEND) \ - bool BACKEND##_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window) \ - { \ - return SDL_EGL_SwapBuffers(_this, window->internal->egl_surface); \ - } - -#define SDL_EGL_MakeCurrent_impl(BACKEND) \ - bool BACKEND##_GLES_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context) \ - { \ - return SDL_EGL_MakeCurrent(_this, window ? window->internal->egl_surface : EGL_NO_SURFACE, context); \ - } - -#define SDL_EGL_CreateContext_impl(BACKEND) \ - SDL_GLContext BACKEND##_GLES_CreateContext(SDL_VideoDevice *_this, SDL_Window *window) \ - { \ - return SDL_EGL_CreateContext(_this, window->internal->egl_surface); \ - } - -#endif // SDL_VIDEO_OPENGL_EGL - -#endif // SDL_egl_h_ -- cgit v1.2.3