From 2ce8935fd842b5887ce6cc8bfd69e1f3e9f7ad8a Mon Sep 17 00:00:00 2001 From: zhongning5 Date: Thu, 11 Apr 2024 14:26:32 +0800 Subject: [PATCH] update egl version Signed-off-by: zhongning5 --- README.md | 8 +- api/EGL/egl.h | 4 +- api/EGL/eglext.h | 25 +++- api/egl.xml | 21 ++- .../EXT/EGL_EXT_config_select_group.txt | 2 +- extensions/EXT/EGL_EXT_explicit_device.txt | 136 ++++++++++++++++++ .../EGL_EXT_gl_colorspace_bt2020_linear.txt | 28 +++- extensions/EXT/EGL_EXT_platform_device.txt | 2 +- extensions/EXT/EGL_EXT_protected_content.txt | 18 ++- ..._EXT_query_reset_notification_strategy.txt | 79 ++++++++++ extensions/EXT/EGL_EXT_yuv_surface.txt | 2 +- extensions/KHR/EGL_KHR_debug.txt | 2 +- extensions/KHR/EGL_KHR_platform_wayland.txt | 12 ++ index.php | 13 +- registry.tcl | 16 ++- sdk/docs/man/eglCreateContext.xml | 4 +- .../man/eglCreatePlatformPixmapSurface.xml | 15 +- .../man/eglCreatePlatformWindowSurface.xml | 12 +- sdk/docs/man/eglQueryAPI.xml | 2 +- sdk/docs/man/html/eglCreateContext.xhtml | 6 +- .../html/eglCreatePlatformPixmapSurface.xhtml | 17 +-- .../html/eglCreatePlatformWindowSurface.xhtml | 14 +- sdk/docs/man/html/eglQueryAPI.xhtml | 4 +- sdk/docs/man/html/start.html | 2 +- 24 files changed, 356 insertions(+), 88 deletions(-) create mode 100755 extensions/EXT/EGL_EXT_explicit_device.txt create mode 100755 extensions/EXT/EGL_EXT_query_reset_notification_strategy.txt diff --git a/README.md b/README.md index 1d01f54..b803c19 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The EGL-Registry repository contains the EGL API and Extension Registry, including specifications, reference pages and reference cards, and the enumerant registry. It is also used as a backing store for the web view of the registry at https://www.khronos.org/registry/egl/ ; commits to the -master branch of this repository will be reflected there. +main branch of this repository will be reflected there. In the past, the EGL registry was maintained in a public Subversion repository. The history in that repository has not been imported to github, @@ -33,17 +33,17 @@ Interesting files in this repository include: ## Reserving EGL Enumerant Ranges EGL enumerants are documented in api/egl.xml . New ranges can be allocated -by proposing a pull request to master modifying this file, following the +by proposing a pull request to main modifying this file, following the existing examples. Allocate ranges starting at the lowest free values available (search for "Reservable for future use"). Ranges are not -officially allocated until your pull request is *accepted* into master. At +officially allocated until your pull request is *accepted* into main. At that point you can use values from your assigned range for API extensions. ## Adding Extension Specifications Extension specification documents can be added by proposing a pull request -to master, adding the specification .txt file and related changes under +to main, adding the specification .txt file and related changes under extensions/\/filename.txt. Your pull request must also: * Allocate an extension number in registry.tcl (follow the existing diff --git a/api/EGL/egl.h b/api/EGL/egl.h index b9ec7c1..c58f552 100644 --- a/api/EGL/egl.h +++ b/api/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: 76c9410321 $ on $Git commit date: 2022-01-04 20:51:44 +0800 $ +** 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 20220105 */ +/* Generated on date 20231215 */ /* Generated C header for: * API: egl diff --git a/api/EGL/eglext.h b/api/EGL/eglext.h index 14e6902..e0f4b8e 100644 --- a/api/EGL/eglext.h +++ b/api/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: 76c9410321 $ on $Git commit date: 2022-01-04 20:51:44 +0800 $ +** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $ */ #include -#define EGL_EGLEXT_VERSION 20220105 +#define EGL_EGLEXT_VERSION 20231215 /* Generated C header for: * API: egl @@ -728,6 +728,15 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLi #define EGL_RENDERER_EXT 0x335F #endif /* EGL_EXT_device_query_name */ +#ifndef EGL_EXT_explicit_device +#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 @@ -924,6 +933,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); @@ -972,9 +985,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr #define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD #define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE #define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig *configs, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); #ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig *configs, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); #endif #endif /* EGL_EXT_surface_compression */ @@ -1212,12 +1225,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur #define EGL_STREAM_IMAGE_ADD_NV 0x3374 #define EGL_STREAM_IMAGE_REMOVE_NV 0x3375 #define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); #ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); diff --git a/api/egl.xml b/api/egl.xml index 06bc5b4..55d0018 100644 --- a/api/egl.xml +++ b/api/egl.xml @@ -1056,6 +1056,10 @@ + + + + @@ -1722,7 +1726,7 @@ EGLBoolean eglQuerySupportedCompressionRatesEXT EGLDisplay dpy - EGLConfig *configs + EGLConfig config const EGLAttrib *attrib_list EGLint *rates EGLint rate_size @@ -2001,8 +2005,8 @@ EGLDisplay dpy EGLStreamKHR stream EGLint num_modifiers - EGLuint64KHR *modifiers - EGLAttrib *attrib_list + const EGLuint64KHR *modifiers + const EGLAttrib *attrib_list EGLint eglQueryStreamConsumerEventNV @@ -2484,6 +2488,11 @@ + + + + + @@ -2656,6 +2665,7 @@ + @@ -3516,6 +3526,11 @@ + + + + + diff --git a/extensions/EXT/EGL_EXT_config_select_group.txt b/extensions/EXT/EGL_EXT_config_select_group.txt index 9721195..0da3dc5 100644 --- a/extensions/EXT/EGL_EXT_config_select_group.txt +++ b/extensions/EXT/EGL_EXT_config_select_group.txt @@ -79,7 +79,7 @@ Additions to the EGL 1.5 Specification override the default sorting rules, by collecting configurations into groups. It is not accepted by the parameter of eglChooseConfig, but it is accepted as the in - eglGetConfigAtrrib." + eglGetConfigAttrib." In section 3.4 "Configuration Management", under the "Sorting of EGLConfigs" heading, append to table 3.4 the following: diff --git a/extensions/EXT/EGL_EXT_explicit_device.txt b/extensions/EXT/EGL_EXT_explicit_device.txt new file mode 100755 index 0000000..2ba8834 --- /dev/null +++ b/extensions/EXT/EGL_EXT_explicit_device.txt @@ -0,0 +1,136 @@ +Name + + EXT_explicit_device + +Name Strings + + EGL_EXT_explicit_device + +Contributors + + Adam Jackson + Nicolai Haehnle + Daniel Stone + Kyle Brenneman + +Contacts + + Adam Jackson + +Status + + Complete + +Version + + Version 3, 2022-04-21 + +Number + + EGL Extension #148 + +Extension Type + + EGL client extension + +Dependencies + + Requires EGL_EXT_platform_base and EGL_EXT_device_enumeration. + + EGL_EXT_platform_device trivially interacts with this extension. + + This extension is written against the EGL 1.5 Specification. + +Overview + + A system may support rendering with multiple devices for the same + windowing system. In that case, an EGL implementation must select a + default device based on the native display. + + This extension allows an application to explicitly request a device + to use for rendering instead of the implementation's default. + + This differs from EGL_EXT_platform_device in that + EGL_EXT_platform_device uses an EGLDeviceEXT instead of a native + display. Thus, EGL_EXT_platform_device allows offscreen rendering + to a pbuffer or FBO, but it does not require or use a windowing + system, and thus does not allow pixmap or window surfaces. + + Using EGL_EXT_explicit_device with EGL_MESA_platform_surfaceless is + functionally identical to EGL_EXT_platform_device. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + None + +Additions to the EGL Specification + + None + +New Behavior + + If EGL_DEVICE_EXT is specified as an attribute for + eglGetPlatformDisplay, the value of the attribute is interpreted as + an EGLDeviceEXT as returned by eglQueryDevicesEXT. + + If the EGL_DEVICE_EXT attribute is EGL_NO_DEVICE_EXT, then the + implementation will select a device automatically, as it would + normally. + + If the EGL_DEVICE_EXT attribute is not EGL_NO_DEVICE_EXT, then the + implementation will use the specified device for rendering. If the + EGL_DEVICE_EXT attribute does not name a valid EGLDeviceEXT, then + EGL_BAD_DEVICE_EXT is generated. + + An implementation might not support all devices for all native + displays. If the device and native display are not compatible for + any reason, then EGL_BAD_MATCH is generated. + + If EGL_EXT_platform_device is supported, passing EGL_DEVICE_EXT as an + attribute to eglGetPlatformDisplay(EGL_PLATFORM_DEVICE_EXT) generates + EGL_BAD_ATTRIBUTE. + +Issues + + 1. Should we have a separate function to query whether a device is + compatible with a native display? + + RESOLVED: No. A separate query might require duplicating a lot of + the work that eglGetPlatformDisplay and eglInitialize would do, + which could be very slow. + + 2. If an implementation can't support a device with a particular + native display, then should it fail in eglGetPlatformDisplay, or + can it defer any compatibility checks until eglInitialize? + + RESOLVED: eglGetPlatformDisplay must check for compatibility and + should fail if the device and native display are not supported. + + Without a separate function to check for compatibility, the only + way for an application to know which devices can work with a + native display is to try to use each device and see if it gets an + error. If the error is in eglInitialize, then an application + would have to create (and leak) a bunch of EGLDisplay handles + that it never intends to use. + +Revision History + + Version 3, 2022-04-21 (Kyle Brenneman) + - Require eglGetPlatformDisplay (instead of eglInitialize) check + whether the device is supported with the native display. + + Version 2, 2017-08-08 (Adam Jackson) + - Renamed from MESA_platform_device to EXT_explicit_device + - Make it an error to use this new attribute in conjunction with + EGL_EXT_platform_device + + Version 1, 2017-07-14 (Adam Jackson) + - Initial version diff --git a/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt b/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt index 37eb6ba..10886d4 100644 --- a/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt +++ b/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt @@ -6,11 +6,13 @@ Name Strings EGL_EXT_gl_colorspace_bt2020_linear EGL_EXT_gl_colorspace_bt2020_pq + EGL_EXT_gl_colorspace_bt2020_hlg Contributors Tom Cooksey Andrew Garrard + Chris Glover Jesse Hall Mathias Heyer Lauri Hyvarinen @@ -35,7 +37,7 @@ Status Version - Version 7 - Nov 22, 2016 + Version 8 - April 19, 2023 Number @@ -75,6 +77,10 @@ New Tokens EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340 + [[ If EGL_EXT_gl_colorspace_bt2020_hlg is supported ]] + + EGL_GL_COLORSPACE_BT2020_HLG_EXT 0x3540 + Modifications to the EGL 1.5 Specification Insert below text in the 3rd paragraph on page 33 in 3.5.1 "Creating On- @@ -95,6 +101,15 @@ Modifications to the EGL 1.5 Specification ES supports PQ framebuffers. Applications utilizing this option need to ensure that PQ encoding is performed on the application side. + [[ If EGL_EXT_gl_colorspace_bt2020_hlg is supported ]] + + If its value is EGL_GL_COLORSPACE_BT2020_HLG_EXT, then a non-linear, HLG + (Hybrid Log Gamma) encoded BT.2020 color space is assumed, with a + corresponding GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING value of GL_LINEAR, + as neither OpenGL nor OpenGL ES supports HLG framebuffers. Applications + utilizing this option need to ensure that HLG encoding is performed on the + application side. + Modify the 4th paragraph on the same page: Note that the EGL_GL_COLORSPACE_SRGB attribute is used only by OpenGL and @@ -123,6 +138,14 @@ Modifications to the EGL 1.5 Specification in a display-referred range of [0.0, 1.0], where 0.0 corresponds to 0 nit and 1.0 corresponds to 10000 nits. + [[ If EGL_EXT_gl_colorspace_bt2020_hlg is supported ]] + + When using a floating-point EGL surface with EGL_GL_COLORSPACE_BT2020_HLG_- + EXT, to achieve the luminance range of 0 to 1000 nits (candela per square + meter) as defined by ITU-R Recommendation BT.2100, applications can output + values in a display-referred range of [0.0, 1.0], where 0.0 corresponds to + 0 nit and 1.0 corresponds to 1000 nits. + Errors Modify below error in the "Errors" section on page 34: @@ -173,3 +196,6 @@ Revision History Version 7, 2016/11/22 - Change status to complete + Version 8, 2023/04/19 + - Add EGL_EXT_gl_colorspace_bt2020_hlg + diff --git a/extensions/EXT/EGL_EXT_platform_device.txt b/extensions/EXT/EGL_EXT_platform_device.txt index ef6c5e9..45c4fe3 100644 --- a/extensions/EXT/EGL_EXT_platform_device.txt +++ b/extensions/EXT/EGL_EXT_platform_device.txt @@ -29,7 +29,7 @@ Number Extension Type - EGL device extension + EGL client extension Dependencies diff --git a/extensions/EXT/EGL_EXT_protected_content.txt b/extensions/EXT/EGL_EXT_protected_content.txt index 76a1ec3..2421161 100644 --- a/extensions/EXT/EGL_EXT_protected_content.txt +++ b/extensions/EXT/EGL_EXT_protected_content.txt @@ -34,7 +34,7 @@ Status Version - Version 12, April 14, 2016 + Version 13, December 6, 2021 Number @@ -82,9 +82,12 @@ New Procedures and Functions New Tokens - New EGLSurface attribute name: + Accepted as an attribute name in the parameter of + eglCreateContext, eglCreateWindowSurface, and eglCreateImageKHR; + and as an parameter of eglQuerySurface and eglQueryContext: EGL_PROTECTED_CONTENT_EXT 0x32C0 + Add a new section 2.7 entitled "Protected Content" at the end of Chapter 2 (EGL Operation) @@ -168,6 +171,11 @@ Additions to Chapter 3 of the EGL 1.4 Specification (Rendering Contexts) The default value of EGL_PROTECTED_CONTENT_EXT is EGL_FALSE." + Add the following paragraph in section 3.7.4 Context Queries. Add after + the last paragraph after eglQueryContext queries. + + "Querying EGL_PROTECTED_CONTENT_EXT returns the current value" + Additions to Chapter 3 of the EGL 1.4 Specification (Rendering Surfaces) Change the second paragraph in section 3.5 on p. 28 (describing @@ -200,6 +208,11 @@ Additions to Chapter 3 of the EGL 1.4 Specification (Rendering Surfaces) The default value of EGL_PROTECTED_CONTENT_EXT is EGL_FALSE." + Add the following paragraph in section 3.5.6 Surface Attributes. Add after + the last paragraph after eglQuerySurface attribute queries. + + "Querying EGL_PROTECTED_CONTENT_EXT returns the current value" + Additions to EGL_KHR_image_base extension specification Add to section 2.5.1 Table bbb: @@ -313,3 +326,4 @@ Revision History 12 04/14/16 Jon Leech Cleanup formatting, reflow paragraphs and quote additions consistently. Assign extension number. + 13 12/06/21 Jeff Vigil Add queries for protected content attribute. diff --git a/extensions/EXT/EGL_EXT_query_reset_notification_strategy.txt b/extensions/EXT/EGL_EXT_query_reset_notification_strategy.txt new file mode 100755 index 0000000..3c44f1c --- /dev/null +++ b/extensions/EXT/EGL_EXT_query_reset_notification_strategy.txt @@ -0,0 +1,79 @@ +Name + + EXT_query_reset_notification_strategy + +Name Strings + + EGL_EXT_query_reset_notification_strategy + +Contributors + + Simon Zeni + +Contact + + Simon Zeni + +Status + + Draft + +Version + + Version 0.1, 2023-11-01 + +Number + + EGL Extension #152 + +Extension Type + + Client + +Dependencies + + Requires EGL 1.4 and EXT_create_context_robustness. + + The extension is written against the wording of the EGL 1.5 + specification, but may be implemented against 1.4. + +Overview + + This extension complements EXT_create_context_robustness and enables + an application or framework to retrieve an existing context's reset + notification strategy in order to create a compatible shared context. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + None + +Specification modifications + + Append in section 3.7.4 (Context Queries), to the list of attributes + supported by eglQueryContext. + + Querying EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT + returns the reset notification strategy that was set for this + context. If no strategy was set, EGL_NO_RESET_NOTIFICATION_EXT + must be returned. + +Errors + + None + +Issues + + None + +Revision History + + Version 0.1, 2023-11-01 (Simon Zeni) + - Initial draft diff --git a/extensions/EXT/EGL_EXT_yuv_surface.txt b/extensions/EXT/EGL_EXT_yuv_surface.txt index 15b854e..6d97c1c 100644 --- a/extensions/EXT/EGL_EXT_yuv_surface.txt +++ b/extensions/EXT/EGL_EXT_yuv_surface.txt @@ -281,7 +281,7 @@ The following options should be added between options 9 and 10 in section Change option 10 in section 3.4.1.2 (EGL_NATIVE_VISUAL_TYPE) to: 11. Special: by EGL_NATIVE_VISUAL_TYPE (the actual sort order is - implementation-defined, depending on the meaning of native visual types). + implementation-defined, depending on the meaning of native visual types). New State diff --git a/extensions/KHR/EGL_KHR_debug.txt b/extensions/KHR/EGL_KHR_debug.txt index e839a9e..a32b085 100644 --- a/extensions/KHR/EGL_KHR_debug.txt +++ b/extensions/KHR/EGL_KHR_debug.txt @@ -460,7 +460,7 @@ Usage Examples EGLint result; // DEBUG_MSG_ERROR and CRITICAL are enabled by default - EGLAttrib debugAttribs = {EGL_DEBUG_MSG_WARN_KHR, EGL_TRUE, EGL_NONE}; + EGLAttrib debugAttribs[] = {EGL_DEBUG_MSG_WARN_KHR, EGL_TRUE, EGL_NONE}; // Start up debug messaging: result = eglDebugMessageControl(MyCallBack, debugAttribs); diff --git a/extensions/KHR/EGL_KHR_platform_wayland.txt b/extensions/KHR/EGL_KHR_platform_wayland.txt index b8a22bc..d7315b3 100644 --- a/extensions/KHR/EGL_KHR_platform_wayland.txt +++ b/extensions/KHR/EGL_KHR_platform_wayland.txt @@ -40,6 +40,9 @@ Dependencies This extension is written against the EGL 1.5 Specification (draft 20140122). + The behavior of part of this extension is different depending on whether + the EGL_EXT_buffer_age extension is also present. + Overview This extension defines how to create EGL resources from native Wayland @@ -85,6 +88,11 @@ New Behavior belongs to Wayland. Any such call fails and generates an EGL_BAD_PARAMETER error. + Rendering to the obtained EGLSurface or querying it with EGL_BUFFER_AGE_KHR + will lock its back buffer preventing it from being dropped or resized, + until the next buffer swap. The rationale behind this behavior is to keep + operations result accurate until the next swap. + Issues 1. Should this extension permit EGL_DEFAULT_DISPLAY as input to @@ -99,6 +107,10 @@ Issues RESOLVED. No. Wayland has no pixmap type. Revision History + Version 3, 2022/07/14 (Kirill Chibisov) + - Clarify EGLSurface back buffer locking behavior with regards to + rendering and surface querying operations. + - Add dependency on EGL_EXT_buffer_age. Version 2, 2014/02/18 (Chad Versace) - Change resolution of issue #1 from "no" to "yes". Now diff --git a/index.php b/index.php index 2a45ba5..5a5ed04 100644 --- a/index.php +++ b/index.php @@ -272,6 +272,7 @@ include_once("../../assets/static_pages/khr_page_top.php");
  • EGL_EXT_pixel_format_float
  • EGL_EXT_gl_colorspace_bt2020_linear +
    EGL_EXT_gl_colorspace_bt2020_hlg
    EGL_EXT_gl_colorspace_bt2020_pq
  • EGL_EXT_gl_colorspace_scrgb_linear @@ -361,6 +362,8 @@ include_once("../../assets/static_pages/khr_page_top.php");
  • EGL_EXT_surface_compression
  • +
  • EGL_EXT_explicit_device +
  • EGL_OHOS_image_native_buffer
  • EGL_KHR_platform_ohos @@ -371,16 +374,10 @@ include_once("../../assets/static_pages/khr_page_top.php");

    Khronos welcomes comments and bug reports. To provide feedback on the EGL registry itself (such as reporting missing content, bad links, - etc.), file an issue in the + etc.), or on the EGL API, extensions, and headers, file an issue in the + EGL-Registry Github project.

    -

    For the EGL API, extensions, and headers, file a bug on the Khronos Bugzilla . Make - sure to fill in the "Product" field in the bug entry form as - "EGL", and pick appropriate values for the Component and other - fields.

    - diff --git a/registry.tcl b/registry.tcl index 34d51de..7d66e86 100644 --- a/registry.tcl +++ b/registry.tcl @@ -762,14 +762,24 @@ extension EGL_EXT_surface_compression { flags public filename extensions/EXT/EGL_EXT_surface_compression.txt } -extension EGL_OHOS_image_native_buffer { +extension EGL_EXT_explicit_device { number 148 flags public + filename extensions/EXT/EGL_EXT_explicit_device.txt +} +extension EGL_OHOS_image_native_buffer { + number 149 + flags public filename extensions/OH/EGL_OHOS_image_native_buffer.txt } extension EGL_KHR_platform_ohos { - number 149 + number 150 flags public filename extensions/KHR/EGL_KHR_platform_ohos.txt } -# Next free extension number: 150 +extension EXT_query_reset_notification_strategy { + number 151 + flags public + filename extensions/EXT/EGL_EXT_query_reset_notification_strategy.txt +} +# Next free extension number: 151 diff --git a/sdk/docs/man/eglCreateContext.xml b/sdk/docs/man/eglCreateContext.xml index 73c54b6..b5892f3 100755 --- a/sdk/docs/man/eglCreateContext.xml +++ b/sdk/docs/man/eglCreateContext.xml @@ -62,9 +62,7 @@ attrib_list Specifies attributes and attribute values for the - context being created. Only the attribute - EGL_CONTEXT_CLIENT_VERSION may - be specified. + context being created. diff --git a/sdk/docs/man/eglCreatePlatformPixmapSurface.xml b/sdk/docs/man/eglCreatePlatformPixmapSurface.xml index 66de1c7..89151f1 100644 --- a/sdk/docs/man/eglCreatePlatformPixmapSurface.xml +++ b/sdk/docs/man/eglCreatePlatformPixmapSurface.xml @@ -163,6 +163,10 @@ Notes + + eglCreatePlatformPixmapSurface is supported only if + the EGL version is 1.5 or greater. + The EGL_MATCH_NATIVE_PIXMAP attribute of @@ -170,17 +174,6 @@ can be used to select a frame buffer configuration matching a specified native pixmap. - - Attribute EGL_GL_COLORSPACE is supported - only if the EGL version is 1.5 or greater. - - - Attributes - EGL_VG_ALPHA_FORMAT and - EGL_VG_COLORSPACE, and the - corresponding attribute values, are supported only if the - EGL version is 1.2 or greater. - The EGL_VG_ALPHA_FORMAT and diff --git a/sdk/docs/man/eglCreatePlatformWindowSurface.xml b/sdk/docs/man/eglCreatePlatformWindowSurface.xml index ee88467..bca7c3e 100644 --- a/sdk/docs/man/eglCreatePlatformWindowSurface.xml +++ b/sdk/docs/man/eglCreatePlatformWindowSurface.xml @@ -188,15 +188,8 @@ Notes - Attribute EGL_GL_COLORSPACE is supported - only if the EGL version is 1.5 or greater. - - - Attributes EGL_RENDER_BUFFER, - EGL_VG_ALPHA_FORMAT, and - EGL_VG_COLORSPACE, and the - corresponding attribute values, are supported only if the - EGL version is 1.2 or greater. + eglCreatePlatformWindowSurface is supported only if + the EGL version is 1.5 or greater. @@ -258,7 +251,6 @@ format of native_window does not correspond to the format, type, and size of the color buffers required by config. - EGL_BAD_MATCH is generated if the pixel EGL_BAD_MATCH is generated if diff --git a/sdk/docs/man/eglQueryAPI.xml b/sdk/docs/man/eglQueryAPI.xml index f83b6de..803e5b7 100644 --- a/sdk/docs/man/eglQueryAPI.xml +++ b/sdk/docs/man/eglQueryAPI.xml @@ -48,7 +48,7 @@ initial value is EGL_NONE (however, EGL_NONE is not a valid api parameter to - eglQueryAPI). + eglBindAPI). The current rendering API can be changed by calling diff --git a/sdk/docs/man/html/eglCreateContext.xhtml b/sdk/docs/man/html/eglCreateContext.xhtml index 3b60280..becbad1 100644 --- a/sdk/docs/man/html/eglCreateContext.xhtml +++ b/sdk/docs/man/html/eglCreateContext.xhtml @@ -3,7 +3,7 @@ eglCreateContext - EGL Reference Pages - +
    @@ -101,9 +101,7 @@

    Specifies attributes and attribute values for the - context being created. Only the attribute - EGL_CONTEXT_CLIENT_VERSION may - be specified. + context being created.

    diff --git a/sdk/docs/man/html/eglCreatePlatformPixmapSurface.xhtml b/sdk/docs/man/html/eglCreatePlatformPixmapSurface.xhtml index b58d4fe..850b07e 100644 --- a/sdk/docs/man/html/eglCreatePlatformPixmapSurface.xhtml +++ b/sdk/docs/man/html/eglCreatePlatformPixmapSurface.xhtml @@ -3,7 +3,7 @@ eglCreatePlatformPixmapSurface - EGL Reference Pages - +
    @@ -213,6 +213,10 @@

    Notes

    +

    + eglCreatePlatformPixmapSurface is supported only if + the EGL version is 1.5 or greater. +

    The EGL_MATCH_NATIVE_PIXMAP attribute of @@ -220,17 +224,6 @@ can be used to select a frame buffer configuration matching a specified native pixmap.

    -

    - Attribute EGL_GL_COLORSPACE is supported - only if the EGL version is 1.5 or greater. -

    -

    - Attributes - EGL_VG_ALPHA_FORMAT and - EGL_VG_COLORSPACE, and the - corresponding attribute values, are supported only if the - EGL version is 1.2 or greater. -

    The EGL_VG_ALPHA_FORMAT and EGL_VG_COLORSPACE attributes are used only diff --git a/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml b/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml index f95ab1f..c9916d1 100644 --- a/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml +++ b/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml @@ -3,7 +3,7 @@ eglCreatePlatformWindowSurface - EGL Reference Pages - +

    @@ -239,15 +239,8 @@

    Notes

    - Attribute EGL_GL_COLORSPACE is supported - only if the EGL version is 1.5 or greater. -

    -

    - Attributes EGL_RENDER_BUFFER, - EGL_VG_ALPHA_FORMAT, and - EGL_VG_COLORSPACE, and the - corresponding attribute values, are supported only if the - EGL version is 1.2 or greater. + eglCreatePlatformWindowSurface is supported only if + the EGL version is 1.5 or greater.

    The EGL_VG_ALPHA_FORMAT and @@ -309,7 +302,6 @@ format of native_window does not correspond to the format, type, and size of the color buffers required by config. - EGL_BAD_MATCH is generated if the pixel

    EGL_BAD_MATCH is generated if diff --git a/sdk/docs/man/html/eglQueryAPI.xhtml b/sdk/docs/man/html/eglQueryAPI.xhtml index 45e5a80..36c8203 100644 --- a/sdk/docs/man/html/eglQueryAPI.xhtml +++ b/sdk/docs/man/html/eglQueryAPI.xhtml @@ -3,7 +3,7 @@ eglQueryAPI - EGL Reference Pages - +

    @@ -57,7 +57,7 @@ initial value is EGL_NONE (however, EGL_NONE is not a valid api parameter to - eglQueryAPI). + eglBindAPI).

    The current rendering API can be changed by calling diff --git a/sdk/docs/man/html/start.html b/sdk/docs/man/html/start.html index 36c5528..d0b9c7f 100644 --- a/sdk/docs/man/html/start.html +++ b/sdk/docs/man/html/start.html @@ -31,7 +31,7 @@ versions (1.2, 1.3, and 1.4).

    A more detailed overview of EGL functionality and technical concepts can be found in the eglIntro + target="pagedisplay" href="eglIntro.xhtml">eglIntro page.

    -- Gitee