diff --git a/include/GL/eglew.h b/include/GL/eglew.h index 7ddda41..d909d19 100644 --- a/include/GL/eglew.h +++ b/include/GL/eglew.h @@ -1731,6 +1731,17 @@ typedef EGLBoolean ( * PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, #endif /* EGL_MESA_platform_gbm */ +/* --------------------- EGL_MESA_platform_surfaceless --------------------- */ + +#ifndef EGL_MESA_platform_surfaceless +#define EGL_MESA_platform_surfaceless 1 + +#define EGL_PLATFORM_SURFACELESS_MESA 0x31DD + +#define EGLEW_MESA_platform_surfaceless EGLEW_GET_VAR(__EGLEW_MESA_platform_surfaceless) + +#endif /* EGL_MESA_platform_surfaceless */ + /* -------------------------- EGL_NOK_swap_region -------------------------- */ #ifndef EGL_NOK_swap_region @@ -2293,6 +2304,7 @@ EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_wait_sync; EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_drm_image; EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_image_dma_buf_export; EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_platform_gbm; +EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_platform_surfaceless; EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_swap_region; EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_swap_region2; EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_texture_from_pixmap; diff --git a/src/glew.c b/src/glew.c index dc48eca..cf74e24 100644 --- a/src/glew.c +++ b/src/glew.c @@ -14771,6 +14771,7 @@ GLboolean __EGLEW_KHR_wait_sync = GL_FALSE; GLboolean __EGLEW_MESA_drm_image = GL_FALSE; GLboolean __EGLEW_MESA_image_dma_buf_export = GL_FALSE; GLboolean __EGLEW_MESA_platform_gbm = GL_FALSE; +GLboolean __EGLEW_MESA_platform_surfaceless = GL_FALSE; GLboolean __EGLEW_NOK_swap_region = GL_FALSE; GLboolean __EGLEW_NOK_swap_region2 = GL_FALSE; GLboolean __EGLEW_NOK_texture_from_pixmap = GL_FALSE; @@ -15771,6 +15772,9 @@ GLenum eglewInit (EGLDisplay display) #ifdef EGL_MESA_platform_gbm EGLEW_MESA_platform_gbm = _glewSearchExtension("EGL_MESA_platform_gbm", extStart, extEnd); #endif /* EGL_MESA_platform_gbm */ +#ifdef EGL_MESA_platform_surfaceless + EGLEW_MESA_platform_surfaceless = _glewSearchExtension("EGL_MESA_platform_surfaceless", extStart, extEnd); +#endif /* EGL_MESA_platform_surfaceless */ #ifdef EGL_NOK_swap_region EGLEW_NOK_swap_region = _glewSearchExtension("EGL_NOK_swap_region", extStart, extEnd); if (glewExperimental || EGLEW_NOK_swap_region) EGLEW_NOK_swap_region = !_glewInit_EGL_NOK_swap_region(); @@ -23910,6 +23914,13 @@ GLboolean eglewIsSupported (const char* name) ret = EGLEW_MESA_platform_gbm; continue; } +#endif +#ifdef EGL_MESA_platform_surfaceless + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_surfaceless", 20)) + { + ret = EGLEW_MESA_platform_surfaceless; + continue; + } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"NOK_", 4)) diff --git a/src/glewinfo.c b/src/glewinfo.c index 14108ef..722baee 100644 --- a/src/glewinfo.c +++ b/src/glewinfo.c @@ -9224,6 +9224,15 @@ static void _glewInfo_EGL_MESA_platform_gbm (void) #endif /* EGL_MESA_platform_gbm */ +#ifdef EGL_MESA_platform_surfaceless + +static void _glewInfo_EGL_MESA_platform_surfaceless (void) +{ + glewPrintExt("EGL_MESA_platform_surfaceless", EGLEW_MESA_platform_surfaceless, eglewIsSupported("EGL_MESA_platform_surfaceless"), eglewGetExtension("EGL_MESA_platform_surfaceless")); +} + +#endif /* EGL_MESA_platform_surfaceless */ + #ifdef EGL_NOK_swap_region static void _glewInfo_EGL_NOK_swap_region (void) @@ -13342,6 +13351,9 @@ static void eglewInfo () #ifdef EGL_MESA_platform_gbm _glewInfo_EGL_MESA_platform_gbm(); #endif /* EGL_MESA_platform_gbm */ +#ifdef EGL_MESA_platform_surfaceless + _glewInfo_EGL_MESA_platform_surfaceless(); +#endif /* EGL_MESA_platform_surfaceless */ #ifdef EGL_NOK_swap_region _glewInfo_EGL_NOK_swap_region(); #endif /* EGL_NOK_swap_region */