#ifndef __GL_VIDEGL_H__ #define __GL_VIDEGL_H__ #include "quakedef.h" #define NativeWindowType EGLNativeWindowType //for old egl versions #include #ifndef _WIN32 #include #endif #ifndef EGL_PLATFORM_X11_KHR #define EGL_PLATFORM_X11_KHR 0x31D5 //EGL_KHR_platform_x11 #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 //an attrib #endif #ifndef EGL_PLATFORM_WAYLAND_KHR #define EGL_PLATFORM_WAYLAND_KHR 0x31D8 //EGL_KHR_platform_wayland #endif #ifndef EGL_PLATFORM_WIN32 #define EGL_PLATFORM_WIN32 0 //no meaningful value. #endif #ifndef EGL_PLATFORM_DEVICE_EXT #define EGL_PLATFORM_DEVICE_EXT 0x313F //we're using it for headless/pbuffer. oh well. #endif void *EGL_Proc(char *f); void EGL_UnloadLibrary(void); qboolean EGL_LoadLibrary(char *driver); void EGL_Shutdown(void); void EGL_SwapBuffers (void); qboolean EGL_InitDisplay (rendererstate_t *info, int eglplat, void *ndpy, EGLNativeDisplayType dpyid, EGLConfig *outconfig); qboolean EGL_InitWindow (rendererstate_t *info, int eglplat, void *nwindow, EGLNativeWindowType windowid, EGLConfig cfg); //qboolean EGL_Init (rendererstate_t *info, unsigned char *palette, int eglplatform, void *nwindow, void *ndpy, EGLNativeWindowType owindow, EGLNativeDisplayType odpy); //once you've created an egl display and got an egl config, some windowing systems require querying said egl config to create the window properly. extern EGLDisplay egldpy; extern EGLBoolean (EGLAPIENTRY *qeglGetConfigAttrib)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); #endif