diff --git a/src/external/glad/command.sh b/src/external/glad/command.sh new file mode 100755 index 000000000..7378e0596 --- /dev/null +++ b/src/external/glad/command.sh @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: 2020, Collabora, Ltd. and the Monado contributors +# SPDX-License-Identifier: CC0-1.0 + +# +# To install glad2 as a user on your system. +# +# git clone +# git checkout glad2 +# pip3 install --user . +# + +# command line (for the glad2 branch!) + +glad --merge \ + --api='gl:core=4.5,gles2=3.2,egl=1.4' \ + --extensions=\ +GL_EXT_external_buffer,\ +GL_EXT_memory_object,\ +GL_EXT_memory_object_fd,\ +GL_EXT_memory_object_win32,\ +GL_EXT_YUV_target,\ +GL_EXT_sRGB,\ +GL_EXT_EGL_image_storage,\ +GL_OES_depth_texture,\ +GL_OES_rgb8_rgba8,\ +GL_OES_packed_depth_stencil,\ +GL_OES_EGL_image,\ +GL_OES_EGL_image_external,\ +GL_OES_EGL_image_external_essl3,\ +EGL_KHR_create_context,\ +EGL_KHR_gl_colorspace,\ +EGL_KHR_fence_sync,\ +EGL_KHR_reusable_sync,\ +EGL_KHR_wait_sync,\ +EGL_KHR_image,\ +EGL_KHR_image_base,\ +EGL_KHR_platform_android,\ +EGL_EXT_image_gl_colorspace,\ +EGL_EXT_image_dma_buf_import,\ +EGL_EXT_image_dma_buf_import_modifiers,\ +EGL_ANDROID_get_native_client_buffer,\ +EGL_ANDROID_image_native_buffer,\ +EGL_ANDROID_native_fence_sync,\ +EGL_ANDROID_front_buffer_auto_refresh,\ +EGL_IMG_context_priority,\ + --out-path . c diff --git a/src/external/glad/include/EGL/eglplatform.h b/src/external/glad/include/EGL/eglplatform.h index eaac469f3..1edbafa5c 100644 --- a/src/external/glad/include/EGL/eglplatform.h +++ b/src/external/glad/include/EGL/eglplatform.h @@ -2,36 +2,17 @@ #define __eglplatform_h_ /* -** Copyright (c) 2007-2016 The Khronos Group Inc. -** -** Permission is hereby granted, free of charge, to any person obtaining a -** copy of this software and/or associated documentation files (the -** "Materials"), to deal in the Materials without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Materials, and to -** permit persons to whom the Materials are furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be included -** in all copies or substantial portions of the Materials. -** -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +** Copyright 2007-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 */ /* Platform-specific types and definitions for egl.h - * $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $ * * Adopters may modify khrplatform.h and this file to suit their platform. * You are encouraged to submit all modifications to the Khronos group so that * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "EGL" component "Registry". + * by filing an issue or pull request on the public Khronos EGL Registry, at + * https://www.github.com/KhronosGroup/EGL-Registry/ */ #include @@ -67,7 +48,13 @@ * implementations. */ -#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ +#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES) + +typedef void *EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN 1 #endif diff --git a/src/external/glad/include/glad/egl.h b/src/external/glad/include/glad/egl.h index acb286174..8137c7a28 100644 --- a/src/external/glad/include/glad/egl.h +++ b/src/external/glad/include/glad/egl.h @@ -1,9 +1,9 @@ /** - * Loader generated by glad 2.0.0-beta on Wed Aug 19 18:16:11 2020 + * Loader generated by glad 2.0.0-beta on Fri Dec 18 17:45:30 2020 * * Generator: C/C++ * Specification: egl - * Extensions: 12 + * Extensions: 16 * * APIs: * - egl=1.4 @@ -18,10 +18,10 @@ * - ON_DEMAND = False * * Commandline: - * --merge --api='egl=1.4' --extensions='EGL_ANDROID_front_buffer_auto_refresh,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_image_gl_colorspace,EGL_IMG_context_priority,EGL_KHR_create_context,EGL_KHR_gl_colorspace,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android' c + * --merge --api='egl=1.4' --extensions='EGL_ANDROID_front_buffer_auto_refresh,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_ANDROID_native_fence_sync,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_image_gl_colorspace,EGL_IMG_context_priority,EGL_KHR_create_context,EGL_KHR_fence_sync,EGL_KHR_gl_colorspace,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android,EGL_KHR_reusable_sync,EGL_KHR_wait_sync' c * * Online: - * http://glad.sh/#api=egl%3D1.4&extensions=EGL_ANDROID_front_buffer_auto_refresh%2CEGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_EXT_image_gl_colorspace%2CEGL_IMG_context_priority%2CEGL_KHR_create_context%2CEGL_KHR_gl_colorspace%2CEGL_KHR_image%2CEGL_KHR_image_base%2CEGL_KHR_platform_android&generator=c&options=MERGE + * http://glad.sh/#api=egl%3D1.4&extensions=EGL_ANDROID_front_buffer_auto_refresh%2CEGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_ANDROID_native_fence_sync%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_EXT_image_gl_colorspace%2CEGL_IMG_context_priority%2CEGL_KHR_create_context%2CEGL_KHR_fence_sync%2CEGL_KHR_gl_colorspace%2CEGL_KHR_image%2CEGL_KHR_image_base%2CEGL_KHR_platform_android%2CEGL_KHR_reusable_sync%2CEGL_KHR_wait_sync&generator=c&options=MERGE * */ @@ -178,6 +178,8 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_COLORSPACE_LINEAR 0x308A #define EGL_COLORSPACE_sRGB 0x3089 #define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_CONDITION_SATISFIED 0x30F6 +#define EGL_CONDITION_SATISFIED_KHR 0x30F6 #define EGL_CONFIG_CAVEAT 0x3027 #define EGL_CONFIG_ID 0x3028 #define EGL_CONFORMANT 0x3042 @@ -231,6 +233,8 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_DRAW 0x3059 #define EGL_EXTENSIONS 0x3055 #define EGL_FALSE 0 +#define EGL_FOREVER 0xFFFFFFFFFFFFFFFF +#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFF #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C #define EGL_GL_COLORSPACE 0x309D #define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D @@ -275,9 +279,12 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0) #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0) #define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0) +#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 #define EGL_NO_RESET_NOTIFICATION 0x31BE #define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0) +#define EGL_NO_SYNC EGL_CAST(EGLSync,0) +#define EGL_NO_SYNC_KHR EGL_CAST(EGLSync,0) #define EGL_NO_TEXTURE 0x305C #define EGL_OPENGL_API 0x30A2 #define EGL_OPENGL_BIT 0x0008 @@ -301,6 +308,8 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_SAMPLES 0x3031 #define EGL_SAMPLE_BUFFERS 0x3032 #define EGL_SAMPLE_RANGE_HINT_EXT 0x327C +#define EGL_SIGNALED 0x30F2 +#define EGL_SIGNALED_KHR 0x30F2 #define EGL_SINGLE_BUFFER 0x3085 #define EGL_SLOW_CONFIG 0x3050 #define EGL_STENCIL_SIZE 0x3026 @@ -308,11 +317,29 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_SURFACE_TYPE 0x3033 #define EGL_SWAP_BEHAVIOR 0x3093 #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 +#define EGL_SYNC_CONDITION 0x30F8 +#define EGL_SYNC_CONDITION_KHR 0x30F8 +#define EGL_SYNC_FENCE 0x30F9 +#define EGL_SYNC_FENCE_KHR 0x30F9 +#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 +#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 +#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 +#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 +#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 +#define EGL_SYNC_REUSABLE_KHR 0x30FA +#define EGL_SYNC_STATUS 0x30F1 +#define EGL_SYNC_STATUS_KHR 0x30F1 +#define EGL_SYNC_TYPE 0x30F7 +#define EGL_SYNC_TYPE_KHR 0x30F7 #define EGL_TEXTURE_2D 0x305F #define EGL_TEXTURE_FORMAT 0x3080 #define EGL_TEXTURE_RGB 0x305D #define EGL_TEXTURE_RGBA 0x305E #define EGL_TEXTURE_TARGET 0x3081 +#define EGL_TIMEOUT_EXPIRED 0x30F5 +#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 #define EGL_TRANSPARENT_BLUE_VALUE 0x3035 #define EGL_TRANSPARENT_GREEN_VALUE 0x3036 #define EGL_TRANSPARENT_RED_VALUE 0x3037 @@ -320,6 +347,8 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define EGL_TRANSPARENT_TYPE 0x3034 #define EGL_TRUE 1 #define EGL_UNKNOWN EGL_CAST(EGLint,-1) +#define EGL_UNSIGNALED 0x30F3 +#define EGL_UNSIGNALED_KHR 0x30F3 #define EGL_VENDOR 0x3053 #define EGL_VERSION 0x3054 #define EGL_VERTICAL_RESOLUTION 0x3091 @@ -463,6 +492,8 @@ GLAD_API_CALL int GLAD_EGL_ANDROID_front_buffer_auto_refresh; GLAD_API_CALL int GLAD_EGL_ANDROID_get_native_client_buffer; #define EGL_ANDROID_image_native_buffer 1 GLAD_API_CALL int GLAD_EGL_ANDROID_image_native_buffer; +#define EGL_ANDROID_native_fence_sync 1 +GLAD_API_CALL int GLAD_EGL_ANDROID_native_fence_sync; #define EGL_EXT_image_dma_buf_import 1 GLAD_API_CALL int GLAD_EGL_EXT_image_dma_buf_import; #define EGL_EXT_image_dma_buf_import_modifiers 1 @@ -473,6 +504,8 @@ GLAD_API_CALL int GLAD_EGL_EXT_image_gl_colorspace; GLAD_API_CALL int GLAD_EGL_IMG_context_priority; #define EGL_KHR_create_context 1 GLAD_API_CALL int GLAD_EGL_KHR_create_context; +#define EGL_KHR_fence_sync 1 +GLAD_API_CALL int GLAD_EGL_KHR_fence_sync; #define EGL_KHR_gl_colorspace 1 GLAD_API_CALL int GLAD_EGL_KHR_gl_colorspace; #define EGL_KHR_image 1 @@ -481,21 +514,29 @@ GLAD_API_CALL int GLAD_EGL_KHR_image; GLAD_API_CALL int GLAD_EGL_KHR_image_base; #define EGL_KHR_platform_android 1 GLAD_API_CALL int GLAD_EGL_KHR_platform_android; +#define EGL_KHR_reusable_sync 1 +GLAD_API_CALL int GLAD_EGL_KHR_reusable_sync; +#define EGL_KHR_wait_sync 1 +GLAD_API_CALL int GLAD_EGL_KHR_wait_sync; typedef EGLBoolean (GLAD_API_PTR *PFNEGLBINDAPIPROC)(EGLenum api); typedef EGLBoolean (GLAD_API_PTR *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer); typedef EGLBoolean (GLAD_API_PTR *PFNEGLCHOOSECONFIGPROC)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config); +typedef EGLint (GLAD_API_PTR *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); typedef EGLBoolean (GLAD_API_PTR *PFNEGLCOPYBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); typedef EGLContext (GLAD_API_PTR *PFNEGLCREATECONTEXTPROC)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list); typedef EGLImageKHR (GLAD_API_PTR *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list); typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list); typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list); typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list); +typedef EGLSyncKHR (GLAD_API_PTR *PFNEGLCREATESYNCKHRPROC)(EGLDisplay dpy, EGLenum type, const EGLint * attrib_list); typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list); typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx); typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay dpy, EGLImageKHR image); typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface); +typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync); +typedef EGLint (GLAD_API_PTR *PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR sync); typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETCONFIGATTRIBPROC)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value); typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETCONFIGSPROC)(EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config); typedef EGLContext (GLAD_API_PTR *PFNEGLGETCURRENTCONTEXTPROC)(void); @@ -505,6 +546,7 @@ typedef EGLDisplay (GLAD_API_PTR *PFNEGLGETDISPLAYPROC)(EGLNativeDisplayType dis typedef EGLint (GLAD_API_PTR *PFNEGLGETERRORPROC)(void); typedef EGLClientBuffer (GLAD_API_PTR *PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC)(const struct AHardwareBuffer * buffer); typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char * procname); +typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETSYNCATTRIBKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value); typedef EGLBoolean (GLAD_API_PTR *PFNEGLINITIALIZEPROC)(EGLDisplay dpy, EGLint * major, EGLint * minor); typedef EGLBoolean (GLAD_API_PTR *PFNEGLMAKECURRENTPROC)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); typedef EGLenum (GLAD_API_PTR *PFNEGLQUERYAPIPROC)(void); @@ -515,6 +557,7 @@ typedef const char * (GLAD_API_PTR *PFNEGLQUERYSTRINGPROC)(EGLDisplay dpy, EGLin typedef EGLBoolean (GLAD_API_PTR *PFNEGLQUERYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value); typedef EGLBoolean (GLAD_API_PTR *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer); typedef EGLBoolean (GLAD_API_PTR *PFNEGLRELEASETHREADPROC)(void); +typedef EGLBoolean (GLAD_API_PTR *PFNEGLSIGNALSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); typedef EGLBoolean (GLAD_API_PTR *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); typedef EGLBoolean (GLAD_API_PTR *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface); typedef EGLBoolean (GLAD_API_PTR *PFNEGLSWAPINTERVALPROC)(EGLDisplay dpy, EGLint interval); @@ -522,6 +565,7 @@ typedef EGLBoolean (GLAD_API_PTR *PFNEGLTERMINATEPROC)(EGLDisplay dpy); typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITCLIENTPROC)(void); typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITGLPROC)(void); typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITNATIVEPROC)(EGLint engine); +typedef EGLint (GLAD_API_PTR *PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); GLAD_API_CALL PFNEGLBINDAPIPROC glad_eglBindAPI; #define eglBindAPI glad_eglBindAPI @@ -529,6 +573,8 @@ GLAD_API_CALL PFNEGLBINDTEXIMAGEPROC glad_eglBindTexImage; #define eglBindTexImage glad_eglBindTexImage GLAD_API_CALL PFNEGLCHOOSECONFIGPROC glad_eglChooseConfig; #define eglChooseConfig glad_eglChooseConfig +GLAD_API_CALL PFNEGLCLIENTWAITSYNCKHRPROC glad_eglClientWaitSyncKHR; +#define eglClientWaitSyncKHR glad_eglClientWaitSyncKHR GLAD_API_CALL PFNEGLCOPYBUFFERSPROC glad_eglCopyBuffers; #define eglCopyBuffers glad_eglCopyBuffers GLAD_API_CALL PFNEGLCREATECONTEXTPROC glad_eglCreateContext; @@ -541,6 +587,8 @@ GLAD_API_CALL PFNEGLCREATEPBUFFERSURFACEPROC glad_eglCreatePbufferSurface; #define eglCreatePbufferSurface glad_eglCreatePbufferSurface GLAD_API_CALL PFNEGLCREATEPIXMAPSURFACEPROC glad_eglCreatePixmapSurface; #define eglCreatePixmapSurface glad_eglCreatePixmapSurface +GLAD_API_CALL PFNEGLCREATESYNCKHRPROC glad_eglCreateSyncKHR; +#define eglCreateSyncKHR glad_eglCreateSyncKHR GLAD_API_CALL PFNEGLCREATEWINDOWSURFACEPROC glad_eglCreateWindowSurface; #define eglCreateWindowSurface glad_eglCreateWindowSurface GLAD_API_CALL PFNEGLDESTROYCONTEXTPROC glad_eglDestroyContext; @@ -549,6 +597,10 @@ GLAD_API_CALL PFNEGLDESTROYIMAGEKHRPROC glad_eglDestroyImageKHR; #define eglDestroyImageKHR glad_eglDestroyImageKHR GLAD_API_CALL PFNEGLDESTROYSURFACEPROC glad_eglDestroySurface; #define eglDestroySurface glad_eglDestroySurface +GLAD_API_CALL PFNEGLDESTROYSYNCKHRPROC glad_eglDestroySyncKHR; +#define eglDestroySyncKHR glad_eglDestroySyncKHR +GLAD_API_CALL PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID; +#define eglDupNativeFenceFDANDROID glad_eglDupNativeFenceFDANDROID GLAD_API_CALL PFNEGLGETCONFIGATTRIBPROC glad_eglGetConfigAttrib; #define eglGetConfigAttrib glad_eglGetConfigAttrib GLAD_API_CALL PFNEGLGETCONFIGSPROC glad_eglGetConfigs; @@ -567,6 +619,8 @@ GLAD_API_CALL PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC glad_eglGetNativeClientBuff #define eglGetNativeClientBufferANDROID glad_eglGetNativeClientBufferANDROID GLAD_API_CALL PFNEGLGETPROCADDRESSPROC glad_eglGetProcAddress; #define eglGetProcAddress glad_eglGetProcAddress +GLAD_API_CALL PFNEGLGETSYNCATTRIBKHRPROC glad_eglGetSyncAttribKHR; +#define eglGetSyncAttribKHR glad_eglGetSyncAttribKHR GLAD_API_CALL PFNEGLINITIALIZEPROC glad_eglInitialize; #define eglInitialize glad_eglInitialize GLAD_API_CALL PFNEGLMAKECURRENTPROC glad_eglMakeCurrent; @@ -587,6 +641,8 @@ GLAD_API_CALL PFNEGLRELEASETEXIMAGEPROC glad_eglReleaseTexImage; #define eglReleaseTexImage glad_eglReleaseTexImage GLAD_API_CALL PFNEGLRELEASETHREADPROC glad_eglReleaseThread; #define eglReleaseThread glad_eglReleaseThread +GLAD_API_CALL PFNEGLSIGNALSYNCKHRPROC glad_eglSignalSyncKHR; +#define eglSignalSyncKHR glad_eglSignalSyncKHR GLAD_API_CALL PFNEGLSURFACEATTRIBPROC glad_eglSurfaceAttrib; #define eglSurfaceAttrib glad_eglSurfaceAttrib GLAD_API_CALL PFNEGLSWAPBUFFERSPROC glad_eglSwapBuffers; @@ -601,6 +657,8 @@ GLAD_API_CALL PFNEGLWAITGLPROC glad_eglWaitGL; #define eglWaitGL glad_eglWaitGL GLAD_API_CALL PFNEGLWAITNATIVEPROC glad_eglWaitNative; #define eglWaitNative glad_eglWaitNative +GLAD_API_CALL PFNEGLWAITSYNCKHRPROC glad_eglWaitSyncKHR; +#define eglWaitSyncKHR glad_eglWaitSyncKHR diff --git a/src/external/glad/include/glad/gl.h b/src/external/glad/include/glad/gl.h index 484911261..e24ab563d 100644 --- a/src/external/glad/include/glad/gl.h +++ b/src/external/glad/include/glad/gl.h @@ -1,5 +1,5 @@ /** - * Loader generated by glad 2.0.0-beta on Wed Aug 19 18:16:10 2020 + * Loader generated by glad 2.0.0-beta on Fri Dec 18 17:45:30 2020 * * Generator: C/C++ * Specification: gl @@ -2263,7 +2263,7 @@ typedef void (GLAD_API_PTR *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, G typedef void (GLAD_API_PTR *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint * v); typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint * v); -typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length); +typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length); typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length); typedef void (GLAD_API_PTR *PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); diff --git a/src/external/glad/src/egl.c b/src/external/glad/src/egl.c index 1746eb200..33e520659 100644 --- a/src/external/glad/src/egl.c +++ b/src/external/glad/src/egl.c @@ -28,31 +28,39 @@ int GLAD_EGL_VERSION_1_4 = 0; int GLAD_EGL_ANDROID_front_buffer_auto_refresh = 0; int GLAD_EGL_ANDROID_get_native_client_buffer = 0; int GLAD_EGL_ANDROID_image_native_buffer = 0; +int GLAD_EGL_ANDROID_native_fence_sync = 0; int GLAD_EGL_EXT_image_dma_buf_import = 0; int GLAD_EGL_EXT_image_dma_buf_import_modifiers = 0; int GLAD_EGL_EXT_image_gl_colorspace = 0; int GLAD_EGL_IMG_context_priority = 0; int GLAD_EGL_KHR_create_context = 0; +int GLAD_EGL_KHR_fence_sync = 0; int GLAD_EGL_KHR_gl_colorspace = 0; int GLAD_EGL_KHR_image = 0; int GLAD_EGL_KHR_image_base = 0; int GLAD_EGL_KHR_platform_android = 0; +int GLAD_EGL_KHR_reusable_sync = 0; +int GLAD_EGL_KHR_wait_sync = 0; PFNEGLBINDAPIPROC glad_eglBindAPI = NULL; PFNEGLBINDTEXIMAGEPROC glad_eglBindTexImage = NULL; PFNEGLCHOOSECONFIGPROC glad_eglChooseConfig = NULL; +PFNEGLCLIENTWAITSYNCKHRPROC glad_eglClientWaitSyncKHR = NULL; PFNEGLCOPYBUFFERSPROC glad_eglCopyBuffers = NULL; PFNEGLCREATECONTEXTPROC glad_eglCreateContext = NULL; PFNEGLCREATEIMAGEKHRPROC glad_eglCreateImageKHR = NULL; PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC glad_eglCreatePbufferFromClientBuffer = NULL; PFNEGLCREATEPBUFFERSURFACEPROC glad_eglCreatePbufferSurface = NULL; PFNEGLCREATEPIXMAPSURFACEPROC glad_eglCreatePixmapSurface = NULL; +PFNEGLCREATESYNCKHRPROC glad_eglCreateSyncKHR = NULL; PFNEGLCREATEWINDOWSURFACEPROC glad_eglCreateWindowSurface = NULL; PFNEGLDESTROYCONTEXTPROC glad_eglDestroyContext = NULL; PFNEGLDESTROYIMAGEKHRPROC glad_eglDestroyImageKHR = NULL; PFNEGLDESTROYSURFACEPROC glad_eglDestroySurface = NULL; +PFNEGLDESTROYSYNCKHRPROC glad_eglDestroySyncKHR = NULL; +PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID = NULL; PFNEGLGETCONFIGATTRIBPROC glad_eglGetConfigAttrib = NULL; PFNEGLGETCONFIGSPROC glad_eglGetConfigs = NULL; PFNEGLGETCURRENTCONTEXTPROC glad_eglGetCurrentContext = NULL; @@ -62,6 +70,7 @@ PFNEGLGETDISPLAYPROC glad_eglGetDisplay = NULL; PFNEGLGETERRORPROC glad_eglGetError = NULL; PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC glad_eglGetNativeClientBufferANDROID = NULL; PFNEGLGETPROCADDRESSPROC glad_eglGetProcAddress = NULL; +PFNEGLGETSYNCATTRIBKHRPROC glad_eglGetSyncAttribKHR = NULL; PFNEGLINITIALIZEPROC glad_eglInitialize = NULL; PFNEGLMAKECURRENTPROC glad_eglMakeCurrent = NULL; PFNEGLQUERYAPIPROC glad_eglQueryAPI = NULL; @@ -72,6 +81,7 @@ PFNEGLQUERYSTRINGPROC glad_eglQueryString = NULL; PFNEGLQUERYSURFACEPROC glad_eglQuerySurface = NULL; PFNEGLRELEASETEXIMAGEPROC glad_eglReleaseTexImage = NULL; PFNEGLRELEASETHREADPROC glad_eglReleaseThread = NULL; +PFNEGLSIGNALSYNCKHRPROC glad_eglSignalSyncKHR = NULL; PFNEGLSURFACEATTRIBPROC glad_eglSurfaceAttrib = NULL; PFNEGLSWAPBUFFERSPROC glad_eglSwapBuffers = NULL; PFNEGLSWAPINTERVALPROC glad_eglSwapInterval = NULL; @@ -79,6 +89,7 @@ PFNEGLTERMINATEPROC glad_eglTerminate = NULL; PFNEGLWAITCLIENTPROC glad_eglWaitClient = NULL; PFNEGLWAITGLPROC glad_eglWaitGL = NULL; PFNEGLWAITNATIVEPROC glad_eglWaitNative = NULL; +PFNEGLWAITSYNCKHRPROC glad_eglWaitSyncKHR = NULL; static void glad_egl_load_EGL_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) { @@ -131,11 +142,22 @@ static void glad_egl_load_EGL_ANDROID_get_native_client_buffer( GLADuserptrloadf if(!GLAD_EGL_ANDROID_get_native_client_buffer) return; glad_eglGetNativeClientBufferANDROID = (PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) load(userptr, "eglGetNativeClientBufferANDROID"); } +static void glad_egl_load_EGL_ANDROID_native_fence_sync( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_EGL_ANDROID_native_fence_sync) return; + glad_eglDupNativeFenceFDANDROID = (PFNEGLDUPNATIVEFENCEFDANDROIDPROC) load(userptr, "eglDupNativeFenceFDANDROID"); +} static void glad_egl_load_EGL_EXT_image_dma_buf_import_modifiers( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_EGL_EXT_image_dma_buf_import_modifiers) return; glad_eglQueryDmaBufFormatsEXT = (PFNEGLQUERYDMABUFFORMATSEXTPROC) load(userptr, "eglQueryDmaBufFormatsEXT"); glad_eglQueryDmaBufModifiersEXT = (PFNEGLQUERYDMABUFMODIFIERSEXTPROC) load(userptr, "eglQueryDmaBufModifiersEXT"); } +static void glad_egl_load_EGL_KHR_fence_sync( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_EGL_KHR_fence_sync) return; + glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) load(userptr, "eglClientWaitSyncKHR"); + glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) load(userptr, "eglCreateSyncKHR"); + glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) load(userptr, "eglDestroySyncKHR"); + glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC) load(userptr, "eglGetSyncAttribKHR"); +} static void glad_egl_load_EGL_KHR_image( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_EGL_KHR_image) return; glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC) load(userptr, "eglCreateImageKHR"); @@ -146,6 +168,18 @@ static void glad_egl_load_EGL_KHR_image_base( GLADuserptrloadfunc load, void* us glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC) load(userptr, "eglCreateImageKHR"); glad_eglDestroyImageKHR = (PFNEGLDESTROYIMAGEKHRPROC) load(userptr, "eglDestroyImageKHR"); } +static void glad_egl_load_EGL_KHR_reusable_sync( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_EGL_KHR_reusable_sync) return; + glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) load(userptr, "eglClientWaitSyncKHR"); + glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) load(userptr, "eglCreateSyncKHR"); + glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) load(userptr, "eglDestroySyncKHR"); + glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC) load(userptr, "eglGetSyncAttribKHR"); + glad_eglSignalSyncKHR = (PFNEGLSIGNALSYNCKHRPROC) load(userptr, "eglSignalSyncKHR"); +} +static void glad_egl_load_EGL_KHR_wait_sync( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_EGL_KHR_wait_sync) return; + glad_eglWaitSyncKHR = (PFNEGLWAITSYNCKHRPROC) load(userptr, "eglWaitSyncKHR"); +} @@ -186,15 +220,19 @@ static int glad_egl_find_extensions_egl(EGLDisplay display) { GLAD_EGL_ANDROID_front_buffer_auto_refresh = glad_egl_has_extension(extensions, "EGL_ANDROID_front_buffer_auto_refresh"); GLAD_EGL_ANDROID_get_native_client_buffer = glad_egl_has_extension(extensions, "EGL_ANDROID_get_native_client_buffer"); GLAD_EGL_ANDROID_image_native_buffer = glad_egl_has_extension(extensions, "EGL_ANDROID_image_native_buffer"); + GLAD_EGL_ANDROID_native_fence_sync = glad_egl_has_extension(extensions, "EGL_ANDROID_native_fence_sync"); GLAD_EGL_EXT_image_dma_buf_import = glad_egl_has_extension(extensions, "EGL_EXT_image_dma_buf_import"); GLAD_EGL_EXT_image_dma_buf_import_modifiers = glad_egl_has_extension(extensions, "EGL_EXT_image_dma_buf_import_modifiers"); GLAD_EGL_EXT_image_gl_colorspace = glad_egl_has_extension(extensions, "EGL_EXT_image_gl_colorspace"); GLAD_EGL_IMG_context_priority = glad_egl_has_extension(extensions, "EGL_IMG_context_priority"); GLAD_EGL_KHR_create_context = glad_egl_has_extension(extensions, "EGL_KHR_create_context"); + GLAD_EGL_KHR_fence_sync = glad_egl_has_extension(extensions, "EGL_KHR_fence_sync"); GLAD_EGL_KHR_gl_colorspace = glad_egl_has_extension(extensions, "EGL_KHR_gl_colorspace"); GLAD_EGL_KHR_image = glad_egl_has_extension(extensions, "EGL_KHR_image"); GLAD_EGL_KHR_image_base = glad_egl_has_extension(extensions, "EGL_KHR_image_base"); GLAD_EGL_KHR_platform_android = glad_egl_has_extension(extensions, "EGL_KHR_platform_android"); + GLAD_EGL_KHR_reusable_sync = glad_egl_has_extension(extensions, "EGL_KHR_reusable_sync"); + GLAD_EGL_KHR_wait_sync = glad_egl_has_extension(extensions, "EGL_KHR_wait_sync"); return 1; } @@ -256,9 +294,13 @@ int gladLoadEGLUserPtr(EGLDisplay display, GLADuserptrloadfunc load, void* userp if (!glad_egl_find_extensions_egl(display)) return 0; glad_egl_load_EGL_ANDROID_get_native_client_buffer(load, userptr); + glad_egl_load_EGL_ANDROID_native_fence_sync(load, userptr); glad_egl_load_EGL_EXT_image_dma_buf_import_modifiers(load, userptr); + glad_egl_load_EGL_KHR_fence_sync(load, userptr); glad_egl_load_EGL_KHR_image(load, userptr); glad_egl_load_EGL_KHR_image_base(load, userptr); + glad_egl_load_EGL_KHR_reusable_sync(load, userptr); + glad_egl_load_EGL_KHR_wait_sync(load, userptr); return version; } diff --git a/src/external/glad/url.txt b/src/external/glad/url.txt deleted file mode 100644 index 3f8ec6264..000000000 --- a/src/external/glad/url.txt +++ /dev/null @@ -1,11 +0,0 @@ - - -http://gen.glad.sh/#profile=gl%3Dcore%2Cgles1%3Dcommon&api=egl%3D1.4%2Cgl%3D4.5%2Cgles2%3D3.2&extensions=EGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_KHR_image%2CEGL_KHR_platform_android%2CGL_EXT_memory_object%2CGL_EXT_memory_object_fd%2CGL_EXT_memory_object_win32%2CGL_OES_EGL_image%2CGL_OES_EGL_image_external%2CGL_OES_EGL_image_external_essl3&options=MERGE%2CMERGE&generator=c - - -Alternately, command line (for the glad2 branch!) - -glad --merge --api='gl:core=4.5,gles2=3.2,egl=1.4' --extensions='GL_EXT_memory_object,GL_EXT_memory_object_fd,GL_EXT_memory_object_win32,GL_OES_EGL_image,GL_OES_EGL_image_external,GL_OES_EGL_image_external_essl3,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android,EGL_IMG_context_priority,GL_EXT_external_buffer,EGL_KHR_create_context,EGL_EXT_image_gl_colorspace,EGL_KHR_gl_colorspace,GL_EXT_EGL_image_storage,GL_OES_depth_texture,GL_EXT_YUV_target,GL_EXT_sRGB,GL_OES_rgb8_rgba8,GL_OES_packed_depth_stencil,EGL_ANDROID_front_buffer_auto_refresh' --out-path . c