浏览代码

deps/glad: Add EGL_ANDROID_native_fence_sync

This extension is needed for using explicit sync in the PipeWire plugin.

Signed-off-by: Doğukan Korkmaztürk <[email protected]>
Doğukan Korkmaztürk 1 年之前
父节点
当前提交
b30b8565aa
共有 2 个文件被更改,包括 23 次插入6 次删除
  1. 14 3
      deps/glad/include/glad/glad_egl.h
  2. 9 3
      deps/glad/src/glad_egl.c

+ 14 - 3
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);

+ 9 - 3
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 <stdio.h>
@@ -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);