From b30b8565aafa3f33b8a44d2bb25f8580bd813155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fukan=20Korkmazt=C3=BCrk?= Date: Tue, 22 Oct 2024 10:00:30 -0400 Subject: [PATCH] deps/glad: Add EGL_ANDROID_native_fence_sync MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This extension is needed for using explicit sync in the PipeWire plugin. Signed-off-by: Doğukan Korkmaztürk --- deps/glad/include/glad/glad_egl.h | 17 ++++++++++++++--- deps/glad/src/glad_egl.c | 12 +++++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/deps/glad/include/glad/glad_egl.h b/deps/glad/include/glad/glad_egl.h index b50315a9b..82316781e 100644 --- a/deps/glad/include/glad/glad_egl.h +++ b/deps/glad/include/glad/glad_egl.h @@ -1,12 +1,13 @@ /* - EGL loader generated by glad 0.1.36 on Sat Jan 27 07:23:01 2024. + EGL loader generated by glad 0.1.36 on Tue Oct 22 13:32:48 2024. Language/Generator: C/C++ Specification: egl APIs: egl=1.5 Profile: - Extensions: + EGL_ANDROID_native_fence_sync, EGL_EXT_device_base, EGL_EXT_device_drm_render_node, EGL_EXT_image_dma_buf_import, @@ -27,9 +28,9 @@ Reproducible: False Commandline: - --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_EXT_device_base,EGL_EXT_device_drm_render_node,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_platform_base,EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_EXT_platform_xcb,EGL_KHR_create_context,EGL_KHR_image_base,EGL_KHR_image_pixmap,EGL_KHR_platform_wayland,EGL_KHR_platform_x11,EGL_MESA_image_dma_buf_export" + --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_ANDROID_native_fence_sync,EGL_EXT_device_base,EGL_EXT_device_drm_render_node,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_platform_base,EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_EXT_platform_xcb,EGL_KHR_create_context,EGL_KHR_image_base,EGL_KHR_image_pixmap,EGL_KHR_platform_wayland,EGL_KHR_platform_x11,EGL_MESA_image_dma_buf_export" Online: - https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_EXT_device_base&extensions=EGL_EXT_device_drm_render_node&extensions=EGL_EXT_image_dma_buf_import&extensions=EGL_EXT_image_dma_buf_import_modifiers&extensions=EGL_EXT_platform_base&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_EXT_platform_xcb&extensions=EGL_KHR_create_context&extensions=EGL_KHR_image_base&extensions=EGL_KHR_image_pixmap&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11&extensions=EGL_MESA_image_dma_buf_export + https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_ANDROID_native_fence_sync&extensions=EGL_EXT_device_base&extensions=EGL_EXT_device_drm_render_node&extensions=EGL_EXT_image_dma_buf_import&extensions=EGL_EXT_image_dma_buf_import_modifiers&extensions=EGL_EXT_platform_base&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_EXT_platform_xcb&extensions=EGL_KHR_create_context&extensions=EGL_KHR_image_base&extensions=EGL_KHR_image_pixmap&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11&extensions=EGL_MESA_image_dma_buf_export */ @@ -322,6 +323,10 @@ EGLDisplay eglGetPlatformDisplay(EGLenum platform, void *native_display, const E EGLSurface eglCreatePlatformWindowSurface(EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); EGLSurface eglCreatePlatformPixmapSurface(EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); EGLBoolean eglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags); +#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_NO_NATIVE_FENCE_FD_ANDROID -1 #define EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0) #define EGL_BAD_DEVICE_EXT 0x322B #define EGL_DEVICE_EXT 0x322C @@ -383,6 +388,12 @@ EGLBoolean eglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags); #define EGL_PLATFORM_WAYLAND_KHR 0x31D8 #define EGL_PLATFORM_X11_KHR 0x31D5 #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 +#ifndef EGL_ANDROID_native_fence_sync +#define EGL_ANDROID_native_fence_sync 1 +typedef EGLint (APIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR sync); +GLAPI PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID; +#define eglDupNativeFenceFDANDROID glad_eglDupNativeFenceFDANDROID +#endif #ifndef EGL_EXT_device_base #define EGL_EXT_device_base 1 typedef EGLBoolean (APIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC)(EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); diff --git a/deps/glad/src/glad_egl.c b/deps/glad/src/glad_egl.c index 2b9b547bb..adcea7e7c 100644 --- a/deps/glad/src/glad_egl.c +++ b/deps/glad/src/glad_egl.c @@ -1,12 +1,13 @@ /* - EGL loader generated by glad 0.1.36 on Sat Jan 27 07:23:01 2024. + EGL loader generated by glad 0.1.36 on Tue Oct 22 13:32:48 2024. Language/Generator: C/C++ Specification: egl APIs: egl=1.5 Profile: - Extensions: + EGL_ANDROID_native_fence_sync, EGL_EXT_device_base, EGL_EXT_device_drm_render_node, EGL_EXT_image_dma_buf_import, @@ -27,9 +28,9 @@ Reproducible: False Commandline: - --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_EXT_device_base,EGL_EXT_device_drm_render_node,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_platform_base,EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_EXT_platform_xcb,EGL_KHR_create_context,EGL_KHR_image_base,EGL_KHR_image_pixmap,EGL_KHR_platform_wayland,EGL_KHR_platform_x11,EGL_MESA_image_dma_buf_export" + --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_ANDROID_native_fence_sync,EGL_EXT_device_base,EGL_EXT_device_drm_render_node,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_platform_base,EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_EXT_platform_xcb,EGL_KHR_create_context,EGL_KHR_image_base,EGL_KHR_image_pixmap,EGL_KHR_platform_wayland,EGL_KHR_platform_x11,EGL_MESA_image_dma_buf_export" Online: - https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_EXT_device_base&extensions=EGL_EXT_device_drm_render_node&extensions=EGL_EXT_image_dma_buf_import&extensions=EGL_EXT_image_dma_buf_import_modifiers&extensions=EGL_EXT_platform_base&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_EXT_platform_xcb&extensions=EGL_KHR_create_context&extensions=EGL_KHR_image_base&extensions=EGL_KHR_image_pixmap&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11&extensions=EGL_MESA_image_dma_buf_export + https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_ANDROID_native_fence_sync&extensions=EGL_EXT_device_base&extensions=EGL_EXT_device_drm_render_node&extensions=EGL_EXT_image_dma_buf_import&extensions=EGL_EXT_image_dma_buf_import_modifiers&extensions=EGL_EXT_platform_base&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_EXT_platform_xcb&extensions=EGL_KHR_create_context&extensions=EGL_KHR_image_base&extensions=EGL_KHR_image_pixmap&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11&extensions=EGL_MESA_image_dma_buf_export */ #include @@ -41,6 +42,7 @@ int gladLoadEGL(void) { return gladLoadEGLLoader((GLADloadproc)eglGetProcAddress); } +PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID = NULL; PFNEGLQUERYDEVICEATTRIBEXTPROC glad_eglQueryDeviceAttribEXT = NULL; PFNEGLQUERYDEVICESTRINGEXTPROC glad_eglQueryDeviceStringEXT = NULL; PFNEGLQUERYDEVICESEXTPROC glad_eglQueryDevicesEXT = NULL; @@ -54,6 +56,9 @@ PFNEGLCREATEIMAGEKHRPROC glad_eglCreateImageKHR = NULL; PFNEGLDESTROYIMAGEKHRPROC glad_eglDestroyImageKHR = NULL; PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC glad_eglExportDMABUFImageQueryMESA = NULL; PFNEGLEXPORTDMABUFIMAGEMESAPROC glad_eglExportDMABUFImageMESA = NULL; +static void load_EGL_ANDROID_native_fence_sync(GLADloadproc load) { + glad_eglDupNativeFenceFDANDROID = (PFNEGLDUPNATIVEFENCEFDANDROIDPROC)load("eglDupNativeFenceFDANDROID"); +} static void load_EGL_EXT_device_base(GLADloadproc load) { glad_eglQueryDeviceAttribEXT = (PFNEGLQUERYDEVICEATTRIBEXTPROC)load("eglQueryDeviceAttribEXT"); glad_eglQueryDeviceStringEXT = (PFNEGLQUERYDEVICESTRINGEXTPROC)load("eglQueryDeviceStringEXT"); @@ -89,6 +94,7 @@ int gladLoadEGLLoader(GLADloadproc load) { find_coreEGL(); if (!find_extensionsEGL()) return 0; + load_EGL_ANDROID_native_fence_sync(load); load_EGL_EXT_device_base(load); load_EGL_EXT_image_dma_buf_import_modifiers(load); load_EGL_EXT_platform_base(load);