From 73603c19c524a0d746d501be3bb2ac7b41686269 Mon Sep 17 00:00:00 2001 From: Simon Zeni Date: Tue, 19 Dec 2023 09:36:20 -0500 Subject: [PATCH] EGL: sync files with Khronos Signed-off-by: Simon Zeni Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- include/EGL/egl.h | 4 ++-- include/EGL/eglext.h | 28 +++++++++++++++++++++++-- include/EGL/eglext_angle.h | 25 ++++++++++++++++++++-- include/EGL/eglplatform.h | 6 ++++++ src/egl/generate/egl.xml | 43 +++++++++++++++++++++++++++++++++++--- 5 files changed, 97 insertions(+), 9 deletions(-) diff --git a/include/EGL/egl.h b/include/EGL/egl.h index 97d0878cc7a..c58f552bf58 100644 --- a/include/EGL/egl.h +++ b/include/EGL/egl.h @@ -14,7 +14,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.khronos.org/registry/egl ** -** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ +** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $ */ #include @@ -23,7 +23,7 @@ extern "C" { #define EGL_EGL_PROTOTYPES 1 #endif -/* Generated on date 20220525 */ +/* Generated on date 20231215 */ /* Generated C header for: * API: egl diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h index d58da70e6b3..9932ebeec55 100644 --- a/include/EGL/eglext.h +++ b/include/EGL/eglext.h @@ -14,12 +14,12 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.khronos.org/registry/egl ** -** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ +** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $ */ #include -#define EGL_EGLEXT_VERSION 20220525 +#define EGL_EGLEXT_VERSION 20231215 /* Generated C header for: * API: egl @@ -727,6 +727,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLi #define EGL_EXT_explicit_device 1 #endif /* EGL_EXT_explicit_device */ +#ifndef EGL_EXT_gl_colorspace_bt2020_hlg +#define EGL_EXT_gl_colorspace_bt2020_hlg 1 +#define EGL_GL_COLORSPACE_BT2020_HLG_EXT 0x3540 +#endif /* EGL_EXT_gl_colorspace_bt2020_hlg */ + #ifndef EGL_EXT_gl_colorspace_bt2020_linear #define EGL_EXT_gl_colorspace_bt2020_linear 1 #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F @@ -923,6 +928,10 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, #define EGL_EXT_protected_surface 1 #endif /* EGL_EXT_protected_surface */ +#ifndef EGL_EXT_query_reset_notification_strategy +#define EGL_EXT_query_reset_notification_strategy 1 +#endif /* EGL_EXT_query_reset_notification_strategy */ + #ifndef EGL_EXT_stream_consumer_egloutput #define EGL_EXT_stream_consumer_egloutput 1 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); @@ -1223,6 +1232,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStream #endif #endif /* EGL_NV_stream_consumer_eglimage */ +#ifndef EGL_NV_stream_consumer_eglimage_use_scanout_attrib +#define EGL_NV_stream_consumer_eglimage_use_scanout_attrib 1 +#define EGL_STREAM_CONSUMER_IMAGE_USE_SCANOUT_NV 0x3378 +#endif /* EGL_NV_stream_consumer_eglimage_use_scanout_attrib */ + #ifndef EGL_NV_stream_consumer_gltexture_yuv #define EGL_NV_stream_consumer_gltexture_yuv 1 #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C @@ -1432,6 +1446,16 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); #define EGL_TRIPLE_BUFFER_NV 0x3230 #endif /* EGL_NV_triple_buffer */ +#ifndef EGL_QNX_image_native_buffer +#define EGL_QNX_image_native_buffer 1 +#define EGL_NATIVE_BUFFER_QNX 0x3551 +#endif /* EGL_QNX_image_native_buffer */ + +#ifndef EGL_QNX_platform_screen +#define EGL_QNX_platform_screen 1 +#define EGL_PLATFORM_SCREEN_QNX 0x3550 +#endif /* EGL_QNX_platform_screen */ + #ifndef EGL_TIZEN_image_native_buffer #define EGL_TIZEN_image_native_buffer 1 #define EGL_NATIVE_BUFFER_TIZEN 0x32A0 diff --git a/include/EGL/eglext_angle.h b/include/EGL/eglext_angle.h index caf37801721..6184c866482 100644 --- a/include/EGL/eglext_angle.h +++ b/include/EGL/eglext_angle.h @@ -134,6 +134,7 @@ #define EGL_ANGLE_platform_angle_device_id #define EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE 0x34D6 #define EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE 0x34D7 +#define EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE 0x34DC #endif /* EGL_ANGLE_platform_angle_device_id */ #ifndef EGL_ANGLE_x11_visual @@ -291,6 +292,14 @@ EGLAPI void EGLAPIENTRY eglForceGPUSwitchANGLE(EGLDisplay dpy, EGLint gpuIDHigh, #endif #endif /* EGL_ANGLE_power_preference */ +#ifndef EGL_ANGLE_wait_until_work_scheduled +#define EGL_ANGLE_wait_until_work_scheduled 1 +typedef void(EGLAPIENTRYP PFNEGLWAITUNTILWORKSCHEDULEDANGLEPROC) (EGLDisplay dpy); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglWaitUntilWorkScheduledANGLE(EGLDisplay dpy); +#endif +#endif /* EGL_ANGLE_wait_until_work_scheduled */ + #ifndef EGL_ANGLE_feature_control #define EGL_ANGLE_feature_control 1 #define EGL_FEATURE_NAME_ANGLE 0x3460 @@ -368,7 +377,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurf #define EGL_ANGLE_external_context_and_surface 1 #define EGL_EXTERNAL_CONTEXT_ANGLE 0x348E #define EGL_EXTERNAL_SURFACE_ANGLE 0x348F -#define EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE 0x3490 +typedef void (EGLAPIENTRYP PFNEGLACQUIREEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy, EGLSurface readAndDraw); +typedef void (EGLAPIENTRYP PFNEGLRELEASEEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglAcquireExternalContextANGLE(EGLDisplay dpy, EGLSurface drawAndRead); +EGLAPI void EGLAPIENTRY eglReleaseExternalContextANGLE(EGLDisplay dpy); +#endif #endif /* EGL_ANGLE_external_context_and_surface */ #ifndef EGL_ANGLE_create_surface_swap_interval @@ -396,6 +410,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurf #define EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE 0x34D4 #define EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE 0x34D5 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTVKIMAGEANGLEPROC)(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglExportVkImageANGLE(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info); +#endif #endif /* EGL_ANGLE_vulkan_image */ #ifndef EGL_ANGLE_metal_shared_event_sync @@ -404,7 +421,11 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTVKIMAGEANGLEPROC)(EGLDisplay dpy, E #define EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE 0x34D9 #define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE 0x34DA #define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE 0x34DB -typedef void* (EGLAPIENTRYP PFNEGLCOPYMETALSHAREDEVENTANGLEPROC)(EGLDisplay dpy, EGLSyncKHR sync); +#define EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE 0x34DC +typedef void* (EGLAPIENTRYP PFNEGLCOPYMETALSHAREDEVENTANGLEPROC)(EGLDisplay dpy, EGLSync sync); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void *EGLAPIENTRY eglCopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSync sync); +#endif #endif /* EGL_ANGLE_metal_shared_event_sync */ // clang-format on diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h index 99362a23dee..6786afd90b6 100644 --- a/include/EGL/eglplatform.h +++ b/include/EGL/eglplatform.h @@ -64,6 +64,12 @@ typedef HDC EGLNativeDisplayType; typedef HBITMAP EGLNativePixmapType; typedef HWND EGLNativeWindowType; +#elif defined(__QNX__) + +typedef khronos_uintptr_t EGLNativeDisplayType; +typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */ +typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */ + #elif defined(__EMSCRIPTEN__) typedef int EGLNativeDisplayType; diff --git a/src/egl/generate/egl.xml b/src/egl/generate/egl.xml index 9ced66d5c1e..f0a9b7d3ccf 100644 --- a/src/egl/generate/egl.xml +++ b/src/egl/generate/egl.xml @@ -885,7 +885,8 @@ - + + @@ -1073,6 +1074,21 @@ + + + + + + + + + + + + + + + - - + + @@ -2496,6 +2512,11 @@ + + + + + @@ -2668,6 +2689,7 @@ + @@ -3533,5 +3555,20 @@ + + + + + + + + + + + + + + +