Commit 108b759e by Xiaoxuan Liu Committed by Commit Bot

EGL: Update EGL headers/xml

The new EGL headers introduced 'EGL_NO_X11' which we could use for ANGLE vulkan display/headless backend. Changes in CL: 1. Updated include/EGL/egl*.h and scripts/egl.xml based on latest EGL repo: https://github.com/KhronosGroup/EGL-Registry Note: local modifications to the file were preserved in eglext.h, search keyword 'eglext_angle.h' for detail 2. run scripts to update entry_points/loader scripts/generate_entry_points.py scripts/generate_loader.py scripts/run_code_generation.py 3. Update ANGLE code on API 'eglSwapBuffersWithDamage' 4. Format with 'git cl format' Bug: angleproject:5260 Change-Id: I70ed0dccecf0426929ef8b4775605554d66c5724 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
parent 32f1a8e8
...@@ -6,34 +6,15 @@ extern "C" { ...@@ -6,34 +6,15 @@ extern "C" {
#endif #endif
/* /*
** Copyright (c) 2013-2017 The Khronos Group Inc. ** Copyright 2013-2020 The Khronos Group Inc.
** SPDX-License-Identifier: Apache-2.0
** **
** 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.
*/
/*
** This header is generated from the Khronos EGL XML API Registry. ** This header is generated from the Khronos EGL XML API Registry.
** The current version of the Registry, generator scripts ** The current version of the Registry, generator scripts
** used to make the header, and the header can be found at ** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl ** http://www.khronos.org/registry/egl
** **
** Khronos $Git commit SHA1: cb927ca98d $ on $Git commit date: 2019-08-08 01:05:38 -0700 $ ** Khronos $Git commit SHA1: 5a9a7e3fcb $ on $Git commit date: 2020-08-24 11:05:32 -0700 $
*/ */
#include <EGL/eglplatform.h> #include <EGL/eglplatform.h>
...@@ -42,7 +23,7 @@ extern "C" { ...@@ -42,7 +23,7 @@ extern "C" {
#define EGL_EGL_PROTOTYPES 1 #define EGL_EGL_PROTOTYPES 1
#endif #endif
/* Generated on date 20190808 */ /* Generated on date 20201001 */
/* Generated C header for: /* Generated C header for:
* API: egl * API: egl
......
...@@ -6,39 +6,20 @@ extern "C" { ...@@ -6,39 +6,20 @@ extern "C" {
#endif #endif
/* /*
** Copyright (c) 2013-2017 The Khronos Group Inc. ** Copyright 2013-2020 The Khronos Group Inc.
** SPDX-License-Identifier: Apache-2.0
** **
** 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.
*/
/*
** This header is generated from the Khronos EGL XML API Registry. ** This header is generated from the Khronos EGL XML API Registry.
** The current version of the Registry, generator scripts ** The current version of the Registry, generator scripts
** used to make the header, and the header can be found at ** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl ** http://www.khronos.org/registry/egl
** **
** Khronos $Git commit SHA1: cb927ca98d $ on $Git commit date: 2019-08-08 01:05:38 -0700 $ ** Khronos $Git commit SHA1: 5a9a7e3fcb $ on $Git commit date: 2020-08-24 11:05:32 -0700 $
*/ */
#include <EGL/eglplatform.h> #include <EGL/eglplatform.h>
#define EGL_EGLEXT_VERSION 20190808 #define EGL_EGLEXT_VERSION 20201001
/* Generated C header for: /* Generated C header for:
* API: egl * API: egl
...@@ -443,9 +424,9 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, ...@@ -443,9 +424,9 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy,
#ifndef EGL_KHR_swap_buffers_with_damage #ifndef EGL_KHR_swap_buffers_with_damage
#define EGL_KHR_swap_buffers_with_damage 1 #define EGL_KHR_swap_buffers_with_damage 1
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
#ifdef EGL_EGLEXT_PROTOTYPES #ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
#endif #endif
#endif /* EGL_KHR_swap_buffers_with_damage */ #endif /* EGL_KHR_swap_buffers_with_damage */
...@@ -598,6 +579,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSu ...@@ -598,6 +579,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSu
#define EGL_FIXED_SIZE_ANGLE 0x3201 #define EGL_FIXED_SIZE_ANGLE 0x3201
#endif /* EGL_ANGLE_window_fixed_size */ #endif /* EGL_ANGLE_window_fixed_size */
#ifndef EGL_ARM_image_format
#define EGL_ARM_image_format 1
#define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
#define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
#endif /* EGL_ARM_image_format */
#ifndef EGL_ARM_implicit_external_sync #ifndef EGL_ARM_implicit_external_sync
#define EGL_ARM_implicit_external_sync 1 #define EGL_ARM_implicit_external_sync 1
#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A #define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
...@@ -701,6 +688,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a ...@@ -701,6 +688,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
#define EGL_EXT_device_query 1 #define EGL_EXT_device_query 1
#endif /* EGL_EXT_device_query */ #endif /* EGL_EXT_device_query */
#ifndef EGL_EXT_device_query_name
#define EGL_EXT_device_query_name 1
#define EGL_RENDERER_EXT 0x335F
#endif /* EGL_EXT_device_query_name */
#ifndef EGL_EXT_gl_colorspace_bt2020_linear #ifndef EGL_EXT_gl_colorspace_bt2020_linear
#define EGL_EXT_gl_colorspace_bt2020_linear 1 #define EGL_EXT_gl_colorspace_bt2020_linear 1
#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
...@@ -877,6 +869,12 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, ...@@ -877,6 +869,12 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy,
#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 #define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
#endif /* EGL_EXT_platform_x11 */ #endif /* EGL_EXT_platform_x11 */
#ifndef EGL_EXT_platform_xcb
#define EGL_EXT_platform_xcb 1
#define EGL_PLATFORM_XCB_EXT 0x31DC
#define EGL_PLATFORM_XCB_SCREEN_EXT 0x31DE
#endif /* EGL_EXT_platform_xcb */
#ifndef EGL_EXT_protected_content #ifndef EGL_EXT_protected_content
#define EGL_EXT_protected_content 1 #define EGL_EXT_protected_content 1
#define EGL_PROTECTED_CONTENT_EXT 0x32C0 #define EGL_PROTECTED_CONTENT_EXT 0x32C0
...@@ -917,9 +915,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr ...@@ -917,9 +915,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr
#ifndef EGL_EXT_swap_buffers_with_damage #ifndef EGL_EXT_swap_buffers_with_damage
#define EGL_EXT_swap_buffers_with_damage 1 #define EGL_EXT_swap_buffers_with_damage 1
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
#ifdef EGL_EGLEXT_PROTOTYPES #ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
#endif #endif
#endif /* EGL_EXT_swap_buffers_with_damage */ #endif /* EGL_EXT_swap_buffers_with_damage */
...@@ -1143,6 +1141,24 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur ...@@ -1143,6 +1141,24 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur
#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C #define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
#endif /* EGL_NV_robustness_video_memory_purge */ #endif /* EGL_NV_robustness_video_memory_purge */
#ifndef EGL_NV_stream_consumer_eglimage
#define EGL_NV_stream_consumer_eglimage 1
#define EGL_STREAM_CONSUMER_IMAGE_NV 0x3373
#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 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 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);
#endif
#endif /* EGL_NV_stream_consumer_eglimage */
#ifndef EGL_NV_stream_consumer_gltexture_yuv #ifndef EGL_NV_stream_consumer_gltexture_yuv
#define EGL_NV_stream_consumer_gltexture_yuv 1 #define EGL_NV_stream_consumer_gltexture_yuv 1
#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C
...@@ -1362,6 +1378,40 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); ...@@ -1362,6 +1378,40 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
#define EGL_NATIVE_SURFACE_TIZEN 0x32A1 #define EGL_NATIVE_SURFACE_TIZEN 0x32A1
#endif /* EGL_TIZEN_image_native_surface */ #endif /* EGL_TIZEN_image_native_surface */
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
#define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
#define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
#define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
struct wl_display;
struct wl_resource;
#define EGL_WAYLAND_BUFFER_WL 0x31D5
#define EGL_WAYLAND_PLANE_WL 0x31D6
#define EGL_TEXTURE_Y_U_V_WL 0x31D7
#define EGL_TEXTURE_Y_UV_WL 0x31D8
#define EGL_TEXTURE_Y_XUXV_WL 0x31D9
#define EGL_TEXTURE_EXTERNAL_WL 0x31DA
#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
#endif
#endif /* EGL_WL_bind_wayland_display */
#ifndef EGL_WL_create_wayland_buffer_from_image
#define EGL_WL_create_wayland_buffer_from_image 1
#define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
struct wl_buffer;
typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
#endif
#endif /* EGL_WL_create_wayland_buffer_from_image */
/* ANGLE EGL extensions */ /* ANGLE EGL extensions */
#include "eglext_angle.h" #include "eglext_angle.h"
......
...@@ -2,36 +2,17 @@ ...@@ -2,36 +2,17 @@
#define __eglplatform_h_ #define __eglplatform_h_
/* /*
** Copyright (c) 2007-2016 The Khronos Group Inc. ** Copyright 2007-2020 The Khronos Group Inc.
** ** SPDX-License-Identifier: Apache-2.0
** 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.
*/ */
/* Platform-specific types and definitions for egl.h /* 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. * 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 * 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 * 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 an issue or pull request on the public Khronos EGL Registry, at
* by filing a bug against product "EGL" component "Registry". * https://www.github.com/KhronosGroup/EGL-Registry/
*/ */
#include <KHR/khrplatform.h> #include <KHR/khrplatform.h>
...@@ -67,7 +48,13 @@ ...@@ -67,7 +48,13 @@
* implementations. * 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 #ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1 #define WIN32_LEAN_AND_MEAN 1
#endif #endif
...@@ -83,6 +70,12 @@ typedef HWND EGLNativeWindowType; ...@@ -83,6 +70,12 @@ typedef HWND EGLNativeWindowType;
typedef IInspectable* EGLNativeWindowType; typedef IInspectable* EGLNativeWindowType;
#endif #endif
#elif defined(__EMSCRIPTEN__)
typedef int EGLNativeDisplayType;
typedef int EGLNativePixmapType;
typedef int EGLNativeWindowType;
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
typedef int EGLNativeDisplayType; typedef int EGLNativeDisplayType;
...@@ -110,17 +103,17 @@ typedef void* EGLNativeDisplayType; ...@@ -110,17 +103,17 @@ typedef void* EGLNativeDisplayType;
typedef struct egl_native_pixmap_t* EGLNativePixmapType; typedef struct egl_native_pixmap_t* EGLNativePixmapType;
typedef struct ANativeWindow* EGLNativeWindowType; typedef struct ANativeWindow* EGLNativeWindowType;
#elif defined(USE_OZONE) || defined(USE_SYSTEM_EGL) #elif defined(USE_OZONE)
typedef intptr_t EGLNativeDisplayType; typedef intptr_t EGLNativeDisplayType;
typedef intptr_t EGLNativePixmapType; typedef intptr_t EGLNativePixmapType;
typedef intptr_t EGLNativeWindowType; typedef intptr_t EGLNativeWindowType;
#elif defined(__ggp__) #elif defined(__unix__) && defined(EGL_NO_X11)
typedef intptr_t EGLNativeDisplayType; typedef void *EGLNativeDisplayType;
typedef intptr_t EGLNativePixmapType; typedef khronos_uintptr_t EGLNativePixmapType;
typedef intptr_t EGLNativeWindowType; typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__unix__) || defined(USE_X11) #elif defined(__unix__) || defined(USE_X11)
...@@ -148,9 +141,9 @@ typedef khronos_uintptr_t EGLNativeWindowType; ...@@ -148,9 +141,9 @@ typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__Fuchsia__) #elif defined(__Fuchsia__)
typedef int EGLNativeDisplayType; typedef void *EGLNativeDisplayType;
typedef void *EGLNativePixmapType; typedef khronos_uintptr_t EGLNativePixmapType;
typedef void *EGLNativeWindowType typedef khronos_uintptr_t EGLNativeWindowType;
#else #else
#error "Platform not recognized" #error "Platform not recognized"
......
{ {
"scripts/egl.xml": "scripts/egl.xml":
"4e5911cfe91274cc5112ff2f70092376", "013c552e6c523abdcf268268ea47e9fe",
"scripts/egl_angle_ext.xml": "scripts/egl_angle_ext.xml":
"91f7718effe50d444f8d81ce285721db", "5bcc01462b355d933cf3ada15198fb68",
"scripts/generate_loader.py": "scripts/generate_loader.py":
"ef16088fdf3e7e97132f7737d20f563a", "ef16088fdf3e7e97132f7737d20f563a",
"scripts/gl.xml": "scripts/gl.xml":
......
{ {
"scripts/egl.xml": "scripts/egl.xml":
"4e5911cfe91274cc5112ff2f70092376", "013c552e6c523abdcf268268ea47e9fe",
"scripts/egl_angle_ext.xml": "scripts/egl_angle_ext.xml":
"91f7718effe50d444f8d81ce285721db", "5bcc01462b355d933cf3ada15198fb68",
"scripts/entry_point_packed_egl_enums.json": "scripts/entry_point_packed_egl_enums.json":
"0175304f39aec0f1816760c6460b6d62", "0175304f39aec0f1816760c6460b6d62",
"scripts/entry_point_packed_gl_enums.json": "scripts/entry_point_packed_gl_enums.json":
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
"src/libANGLE/validationGL4_autogen.h": "src/libANGLE/validationGL4_autogen.h":
"db77968c46394c58896f085265182ffa", "db77968c46394c58896f085265182ffa",
"src/libEGL/libEGL_autogen.cpp": "src/libEGL/libEGL_autogen.cpp":
"e6a94332f3bbea212b9a5df9654b59f8", "01cc619c8493952c24f77ac4fa5d7d8a",
"src/libEGL/libEGL_autogen.def": "src/libEGL/libEGL_autogen.def":
"3f504d6280dc1d847bc2dedc51fa2640", "3f504d6280dc1d847bc2dedc51fa2640",
"src/libGL/entry_points_gl_1_autogen.cpp": "src/libGL/entry_points_gl_1_autogen.cpp":
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
"src/libGL/libGL_autogen.def": "src/libGL/libGL_autogen.def":
"2789d87b05eea9f53d52e2aff499b785", "2789d87b05eea9f53d52e2aff499b785",
"src/libGLESv2/egl_ext_stubs_autogen.h": "src/libGLESv2/egl_ext_stubs_autogen.h":
"aeb007419aaab7b5e52b084d83dda77c", "2ef3b8d087f2a97f7270b96077c93856",
"src/libGLESv2/egl_get_labeled_object_data.json": "src/libGLESv2/egl_get_labeled_object_data.json":
"2f4148b2ddf34e62670e32c5e6da4937", "2f4148b2ddf34e62670e32c5e6da4937",
"src/libGLESv2/egl_stubs_autogen.h": "src/libGLESv2/egl_stubs_autogen.h":
...@@ -128,9 +128,9 @@ ...@@ -128,9 +128,9 @@
"src/libGLESv2/entry_points_egl_autogen.h": "src/libGLESv2/entry_points_egl_autogen.h":
"3bc7a8df9deadd7cfd615d0cfad0c6a8", "3bc7a8df9deadd7cfd615d0cfad0c6a8",
"src/libGLESv2/entry_points_egl_ext_autogen.cpp": "src/libGLESv2/entry_points_egl_ext_autogen.cpp":
"5397ab40e9cbe1d7aa3faf91154a837a", "f6a18ab7478277d6c2f026684801af3a",
"src/libGLESv2/entry_points_egl_ext_autogen.h": "src/libGLESv2/entry_points_egl_ext_autogen.h":
"9154781afd9bd6354ec6fc201b43c790", "5ae83ea21ee98991b68847f66793553f",
"src/libGLESv2/entry_points_gles_1_0_autogen.cpp": "src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"7d62e6f5a013b303c11a6b78b39ff3fb", "7d62e6f5a013b303c11a6b78b39ff3fb",
"src/libGLESv2/entry_points_gles_1_0_autogen.h": "src/libGLESv2/entry_points_gles_1_0_autogen.h":
......
{ {
"scripts/egl.xml": "scripts/egl.xml":
"4e5911cfe91274cc5112ff2f70092376", "013c552e6c523abdcf268268ea47e9fe",
"scripts/egl_angle_ext.xml": "scripts/egl_angle_ext.xml":
"91f7718effe50d444f8d81ce285721db", "5bcc01462b355d933cf3ada15198fb68",
"scripts/gen_proc_table.py": "scripts/gen_proc_table.py":
"1843f52355a9c573a4e39e33e3505c71", "1843f52355a9c573a4e39e33e3505c71",
"scripts/gl.xml": "scripts/gl.xml":
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<registry> <registry>
<!-- <!--
Copyright (c) 2013-2017 The Khronos Group Inc. Copyright 2013-2020 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
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.
--> -->
<!-- <!--
This file, egl.xml, is the EGL API Registry. The older ".spec" file This file, egl.xml, is the EGL API Registry. The older ".spec" file
...@@ -49,6 +31,9 @@ ...@@ -49,6 +31,9 @@
<type name="NativePixmapType" requires="eglplatform"/> <type name="NativePixmapType" requires="eglplatform"/>
<type name="NativeWindowType" requires="eglplatform"/> <type name="NativeWindowType" requires="eglplatform"/>
<type>struct <name>AHardwareBuffer</name>;</type> <type>struct <name>AHardwareBuffer</name>;</type>
<type>struct <name>wl_buffer</name>;</type>
<type>struct <name>wl_display</name>;</type>
<type>struct <name>wl_resource</name>;</type>
<!-- Dummy placeholders for non-EGL types --> <!-- Dummy placeholders for non-EGL types -->
<type name="Bool"/> <type name="Bool"/>
<!-- These are actual EGL types. --> <!-- These are actual EGL types. -->
...@@ -89,7 +74,13 @@ ...@@ -89,7 +74,13 @@
EGLint iHeight; EGLint iHeight;
EGLint iStride; EGLint iStride;
};</type> };</type>
<!-- Backwards-compatibility hack: Downstream implementations shipped
incorrect function pointer names for some years. -->
<type>typedef void (<apientry/> *<name>EGLDEBUGPROCKHR</name>)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);</type> <type>typedef void (<apientry/> *<name>EGLDEBUGPROCKHR</name>)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);</type>
<type>#define <name>PFNEGLBINDWAYLANDDISPLAYWL</name> PFNEGLBINDWAYLANDDISPLAYWLPROC</type>
<type>#define <name>PFNEGLUNBINDWAYLANDDISPLAYWL</name> PFNEGLUNBINDWAYLANDDISPLAYWLPROC</type>
<type>#define <name>PFNEGLQUERYWAYLANDBUFFERWL</name> PFNEGLQUERYWAYLANDBUFFERWLPROC</type>
<type>#define <name>PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL</name> PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC</type>
</types> </types>
<!-- SECTION: EGL enumerant (token) definitions. --> <!-- SECTION: EGL enumerant (token) definitions. -->
...@@ -468,8 +459,20 @@ ...@@ -468,8 +459,20 @@
<unused start="0x3111" end="0x311F"/> <unused start="0x3111" end="0x311F"/>
</enums> </enums>
<enums namespace="EGL" start="0x3120" end="0x312F" vendor="AMD" comment="Reserved for David Garcia (Khronos bug 5149)"> <enums namespace="EGL" start="0x3120" end="0x312F" vendor="QCOM" comment="EGL_QCOM_create_image">
<unused start="0x3120" end="0x312F"/> <enum value="0x3120" name="EGL_NEW_IMAGE_QCOM"/>
<enum value="0x3121" name="EGL_IMAGE_FORMAT_QCOM"/>
<enum value="0x3122" name="EGL_FORMAT_RGBA_8888_QCOM"/>
<enum value="0x3123" name="EGL_FORMAT_RGB_565_QCOM"/>
<enum value="0x3124" name="EGL_FORMAT_YUYV_QCOM"/>
<enum value="0x3125" name="EGL_FORMAT_UYVY_QCOM"/>
<enum value="0x3126" name="EGL_FORMAT_YV12_QCOM"/>
<enum value="0x3127" name="EGL_FORMAT_NV21_QCOM"/>
<enum value="0x3128" name="EGL_FORMAT_NV12_TILED_QCOM"/>
<enum value="0x3129" name="EGL_FORMAT_BGRA_8888_QCOM"/>
<enum value="0x312A" name="EGL_FORMAT_BGRX_8888_QCOM"/>
<unused start="0x312B" end="0x312E"/>
<enum value="0x312F" name="EGL_FORMAT_RGBX_8888_QCOM"/>
</enums> </enums>
<enums namespace="EGL" start="0x3130" end="0x313F" vendor="NV" comment="Reserved for Greg Prisament (Khronos bug 5166)"> <enums namespace="EGL" start="0x3130" end="0x313F" vendor="NV" comment="Reserved for Greg Prisament (Khronos bug 5166)">
...@@ -536,8 +539,23 @@ ...@@ -536,8 +539,23 @@
<enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_EXT" alias="EGL_LOSE_CONTEXT_ON_RESET"/> <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_EXT" alias="EGL_LOSE_CONTEXT_ON_RESET"/>
</enums> </enums>
<enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec TBD"> <enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec">
<unused start="0x31C0" end="0x31CF"/> <enum value="0x31C0" name="EGL_FORMAT_R8_QCOM"/>
<enum value="0x31C1" name="EGL_FORMAT_RG88_QCOM"/>
<enum value="0x31C2" name="EGL_FORMAT_NV12_QCOM"/>
<enum value="0x31C3" name="EGL_FORMAT_SRGBX_8888_QCOM"/>
<enum value="0x31C4" name="EGL_FORMAT_SRGBA_8888_QCOM"/>
<enum value="0x31C5" name="EGL_FORMAT_YVYU_QCOM"/>
<enum value="0x31C6" name="EGL_FORMAT_VYUY_QCOM"/>
<enum value="0x31C7" name="EGL_FORMAT_IYUV_QCOM"/>
<enum value="0x31C8" name="EGL_FORMAT_RGB_888_QCOM"/>
<enum value="0x31C9" name="EGL_FORMAT_RGBA_5551_QCOM"/>
<enum value="0x31CA" name="EGL_FORMAT_RGBA_4444_QCOM"/>
<enum value="0x31CB" name="EGL_FORMAT_R_16_FLOAT_QCOM"/>
<enum value="0x31CC" name="EGL_FORMAT_RG_1616_FLOAT_QCOM"/>
<enum value="0x31CD" name="EGL_FORMAT_RGBA_16_FLOAT_QCOM"/>
<enum value="0x31CE" name="EGL_FORMAT_RGBA_1010102_QCOM"/>
<enum value="0x31CF" name="EGL_FORMAT_FLAG_QCOM"/>
</enums> </enums>
<enums namespace="EGL" start="0x31D0" end="0x31DF" vendor="MESA" comment="Reserved for Kristian H&#248;gsberg (Khronos bug 6757)"> <enums namespace="EGL" start="0x31D0" end="0x31DF" vendor="MESA" comment="Reserved for Kristian H&#248;gsberg (Khronos bug 6757)">
...@@ -554,9 +572,26 @@ ...@@ -554,9 +572,26 @@
<enum value="0x31D7" name="EGL_PLATFORM_GBM_MESA" alias="EGL_PLATFORM_GBM_KHR"/> <enum value="0x31D7" name="EGL_PLATFORM_GBM_MESA" alias="EGL_PLATFORM_GBM_KHR"/>
<enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_KHR"/> <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_KHR"/>
<enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_EXT" alias="EGL_PLATFORM_WAYLAND_KHR"/> <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_EXT" alias="EGL_PLATFORM_WAYLAND_KHR"/>
<unused start="0x31D9" end="0x31DC"/> <enum value="0x31DC" name="EGL_PLATFORM_XCB_EXT"/>
<enum value="0x31DD" name="EGL_PLATFORM_SURFACELESS_MESA"/> <enum value="0x31DD" name="EGL_PLATFORM_SURFACELESS_MESA"/>
<unused start="0x31DE" end="0x31DF"/> <enum value="0x31DE" name="EGL_PLATFORM_XCB_SCREEN_EXT"/>
<unused start="0x31DF" end="0x31DF"/>
</enums>
<!-- Due to an oversight in development, these enums alias the above MESA
vendor range for EGL the X11/GBM/Wayland/surfaceless platforms.
They are both currently in wide use and cannot be changed, however
the tokens cannot be used in the same contexts and the aliasing is
therefore harmless. Future Wayland tokens should not create further
aliasing in this range.-->
<enums namespace="EGL" start="0x31D5" end="0x31DB" vendor="WL" comment="EGL_WL_bind_wayland_display">
<enum value="0x31D5" name="EGL_WAYLAND_BUFFER_WL"/>
<enum value="0x31D6" name="EGL_WAYLAND_PLANE_WL"/>
<enum value="0x31D7" name="EGL_TEXTURE_Y_U_V_WL"/>
<enum value="0x31D8" name="EGL_TEXTURE_Y_UV_WL"/>
<enum value="0x31D9" name="EGL_TEXTURE_Y_XUXV_WL"/>
<enum value="0x31DA" name="EGL_TEXTURE_EXTERNAL_WL"/>
<enum value="0x31DB" name="EGL_WAYLAND_Y_INVERTED_WL"/>
</enums> </enums>
<enums namespace="EGL" start="0x31E0" end="0x31EF" vendor="HI" comment="Reserved for Mark Callow (Khronos bug 6799)"> <enums namespace="EGL" start="0x31E0" end="0x31EF" vendor="HI" comment="Reserved for Mark Callow (Khronos bug 6799)">
...@@ -617,7 +652,9 @@ ...@@ -617,7 +652,9 @@
<enum value="0x322D" name="EGL_BAD_OUTPUT_LAYER_EXT"/> <enum value="0x322D" name="EGL_BAD_OUTPUT_LAYER_EXT"/>
<enum value="0x322E" name="EGL_BAD_OUTPUT_PORT_EXT"/> <enum value="0x322E" name="EGL_BAD_OUTPUT_PORT_EXT"/>
<enum value="0x322F" name="EGL_SWAP_INTERVAL_EXT"/> <enum value="0x322F" name="EGL_SWAP_INTERVAL_EXT"/>
<unused start="0x3230" end="0x3232"/> <enum value="0x3230" name="EGL_TRIPLE_BUFFER_NV"/>
<enum value="0x3231" name="EGL_QUADRUPLE_BUFFER_NV"/>
<unused start="0x3232"/>
<enum value="0x3233" name="EGL_DRM_DEVICE_FILE_EXT"/> <enum value="0x3233" name="EGL_DRM_DEVICE_FILE_EXT"/>
<enum value="0x3234" name="EGL_DRM_CRTC_EXT"/> <enum value="0x3234" name="EGL_DRM_CRTC_EXT"/>
<enum value="0x3235" name="EGL_DRM_PLANE_EXT"/> <enum value="0x3235" name="EGL_DRM_PLANE_EXT"/>
...@@ -690,7 +727,9 @@ ...@@ -690,7 +727,9 @@
<enum value="0x3284" name="EGL_YUV_CHROMA_SITING_0_EXT"/> <enum value="0x3284" name="EGL_YUV_CHROMA_SITING_0_EXT"/>
<enum value="0x3285" name="EGL_YUV_CHROMA_SITING_0_5_EXT"/> <enum value="0x3285" name="EGL_YUV_CHROMA_SITING_0_5_EXT"/>
<enum value="0x3286" name="EGL_DISCARD_SAMPLES_ARM"/> <enum value="0x3286" name="EGL_DISCARD_SAMPLES_ARM"/>
<unused start="0x3287" end="0x3289"/> <enum value="0x3287" name="EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM"/>
<enum value="0x3288" name="EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM"/>
<unused start="0x3289" end="0x3289"/>
<enum value="0x328A" name="EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM"/> <enum value="0x328A" name="EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM"/>
<unused start="0x328B" end="0x328F"/> <unused start="0x328B" end="0x328F"/>
</enums> </enums>
...@@ -705,8 +744,23 @@ ...@@ -705,8 +744,23 @@
<unused start="0x32A2" end="0x32AF"/> <unused start="0x32A2" end="0x32AF"/>
</enums> </enums>
<enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image spec TBD"> <enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image2 spec">
<unused start="0x32B0" end="0x32BF"/> <enum value="0x32B0" name="EGL_IMAGE_NUM_PLANES_QCOM"/>
<enum value="0x32B1" name="EGL_IMAGE_PLANE_PITCH_0_QCOM"/>
<enum value="0x32B2" name="EGL_IMAGE_PLANE_PITCH_1_QCOM"/>
<enum value="0x32B3" name="EGL_IMAGE_PLANE_PITCH_2_QCOM"/>
<enum value="0x32B4" name="EGL_IMAGE_PLANE_DEPTH_0_QCOM"/>
<enum value="0x32B5" name="EGL_IMAGE_PLANE_DEPTH_1_QCOM"/>
<enum value="0x32B6" name="EGL_IMAGE_PLANE_DEPTH_2_QCOM"/>
<enum value="0x32B7" name="EGL_IMAGE_PLANE_WIDTH_0_QCOM"/>
<enum value="0x32B8" name="EGL_IMAGE_PLANE_WIDTH_1_QCOM"/>
<enum value="0x32B9" name="EGL_IMAGE_PLANE_WIDTH_2_QCOM"/>
<enum value="0x32BA" name="EGL_IMAGE_PLANE_HEIGHT_0_QCOM"/>
<enum value="0x32BB" name="EGL_IMAGE_PLANE_HEIGHT_1_QCOM"/>
<enum value="0x32BC" name="EGL_IMAGE_PLANE_HEIGHT_2_QCOM"/>
<enum value="0x32BD" name="EGL_IMAGE_PLANE_POINTER_0_QCOM"/>
<enum value="0x32BE" name="EGL_IMAGE_PLANE_POINTER_1_QCOM"/>
<enum value="0x32BF" name="EGL_IMAGE_PLANE_POINTER_2_QCOM"/>
</enums> </enums>
<enums namespace="EGL" start="0x32C0" end="0x32CF" vendor="Vivante" comment="Reserved for Yanjun Zhang (Bug 11498)"> <enums namespace="EGL" start="0x32C0" end="0x32CF" vendor="Vivante" comment="Reserved for Yanjun Zhang (Bug 11498)">
...@@ -714,8 +768,10 @@ ...@@ -714,8 +768,10 @@
<unused start="0x32C1" end="0x32CF"/> <unused start="0x32C1" end="0x32CF"/>
</enums> </enums>
<enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec TBD + Bug 12286 - EGL_QCOM_content_protection spec TBD"> <enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec">
<unused start="0x32D0" end="0x32EF"/> <enum value="0x32D0" name="EGL_GPU_PERF_HINT_QCOM"/>
<enum value="0x32D1" name="EGL_HINT_PERSISTENT_QCOM"/>
<unused start="0x32D2" end="0x32EF"/>
</enums> </enums>
<enums namespace="EGL" start="0x32F0" end="0x32FF" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Bug 12870)"> <enums namespace="EGL" start="0x32F0" end="0x32FF" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Bug 12870)">
...@@ -797,14 +853,32 @@ ...@@ -797,14 +853,32 @@
<enum value="0x3352" name="EGL_TRACK_REFERENCES_KHR"/> <enum value="0x3352" name="EGL_TRACK_REFERENCES_KHR"/>
<unused start="0x3353" end="0x3356"/> <unused start="0x3353" end="0x3356"/>
<enum value="0x3357" name="EGL_CONTEXT_PRIORITY_REALTIME_NV"/> <enum value="0x3357" name="EGL_CONTEXT_PRIORITY_REALTIME_NV"/>
<unused start="0x3358" end="0x335F"/> <unused start="0x3358" end="0x335E"/>
<enum value="0x335F" name="EGL_RENDERER_EXT"/>
<enum value="0x3360" name="EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT"/> <enum value="0x3360" name="EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT"/>
<enum value="0x3361" name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/> <enum value="0x3361" name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/>
<enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/> <enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
<enum value="0x3363" name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/> <enum value="0x3363" name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
<enum value="0x3364" name="EGL_SYNC_CLIENT_EXT"/> <enum value="0x3364" name="EGL_SYNC_CLIENT_EXT"/>
<enum value="0x3365" name="EGL_SYNC_CLIENT_SIGNAL_EXT"/> <enum value="0x3365" name="EGL_SYNC_CLIENT_SIGNAL_EXT"/>
<unused start="0x3366" end="0x339F"/> <enum value="0x3366" name="EGL_STREAM_FRAME_ORIGIN_X_NV"/>
<enum value="0x3367" name="EGL_STREAM_FRAME_ORIGIN_Y_NV"/>
<enum value="0x3368" name="EGL_STREAM_FRAME_MAJOR_AXIS_NV"/>
<enum value="0x3369" name="EGL_CONSUMER_AUTO_ORIENTATION_NV"/>
<enum value="0x336A" name="EGL_PRODUCER_AUTO_ORIENTATION_NV"/>
<enum value="0x336B" name="EGL_LEFT_NV"/>
<enum value="0x336C" name="EGL_RIGHT_NV"/>
<enum value="0x336D" name="EGL_TOP_NV"/>
<enum value="0x336E" name="EGL_BOTTOM_NV"/>
<enum value="0x336F" name="EGL_X_AXIS_NV"/>
<enum value="0x3370" name="EGL_Y_AXIS_NV"/>
<enum value="0x3371" name="EGL_STREAM_DMA_NV"/>
<enum value="0x3372" name="EGL_STREAM_DMA_SERVER_NV"/>
<enum value="0x3373" name="EGL_STREAM_CONSUMER_IMAGE_NV"/>
<enum value="0x3374" name="EGL_STREAM_IMAGE_ADD_NV"/>
<enum value="0x3375" name="EGL_STREAM_IMAGE_REMOVE_NV"/>
<enum value="0x3376" name="EGL_STREAM_IMAGE_AVAILABLE_NV"/>
<unused start="0x3377" end="0x339F"/>
</enums> </enums>
<enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)"> <enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)">
...@@ -834,8 +908,54 @@ ...@@ -834,8 +908,54 @@
<unused start="0x33C0" end="0x33DF"/> <unused start="0x33C0" end="0x33DF"/>
</enums> </enums>
<enums namespace="EGL" start="0x33E0" end="0x342F" vendor="QCOM" comment="Reserved for Jeff Vigil (Bugs 10663,13364)"> <enums namespace="EGL" start="0x33E0" end="0x342F" vendor="QCOM" comment="EGL_QCOM_create_image and EGL_QCOM_lock_image2">
<unused start="0x33E0" end="0x342F"/> <enum value="0x33E0" name="EGL_FORMAT_FLAG_UBWC_QCOM"/>
<enum value="0x33E1" name="EGL_FORMAT_FLAG_MACROTILE_QCOM"/>
<enum value="0x33E2" name="EGL_FORMAT_ASTC_4X4_QCOM"/>
<enum value="0x33E3" name="EGL_FORMAT_ASTC_5X4_QCOM"/>
<enum value="0x33E4" name="EGL_FORMAT_ASTC_5X5_QCOM"/>
<enum value="0x33E5" name="EGL_FORMAT_ASTC_6X5_QCOM"/>
<enum value="0x33E6" name="EGL_FORMAT_ASTC_6X6_QCOM"/>
<enum value="0x33E7" name="EGL_FORMAT_ASTC_8X5_QCOM"/>
<enum value="0x33E8" name="EGL_FORMAT_ASTC_8X6_QCOM"/>
<enum value="0x33E9" name="EGL_FORMAT_ASTC_8X8_QCOM"/>
<enum value="0x33EA" name="EGL_FORMAT_ASTC_10X5_QCOM"/>
<enum value="0x33EB" name="EGL_FORMAT_ASTC_10X6_QCOM"/>
<enum value="0x33EC" name="EGL_FORMAT_ASTC_10X8_QCOM"/>
<enum value="0x33ED" name="EGL_FORMAT_ASTC_10X10_QCOM"/>
<enum value="0x33EE" name="EGL_FORMAT_ASTC_12X10_QCOM"/>
<enum value="0x33EF" name="EGL_FORMAT_ASTC_12X12_QCOM"/>
<enum value="0x3400" name="EGL_FORMAT_ASTC_4X4_SRGB_QCOM"/>
<enum value="0x3401" name="EGL_FORMAT_ASTC_5X4_SRGB_QCOM"/>
<enum value="0x3402" name="EGL_FORMAT_ASTC_5X5_SRGB_QCOM"/>
<enum value="0x3403" name="EGL_FORMAT_ASTC_6X5_SRGB_QCOM"/>
<enum value="0x3404" name="EGL_FORMAT_ASTC_6X6_SRGB_QCOM"/>
<enum value="0x3405" name="EGL_FORMAT_ASTC_8X5_SRGB_QCOM"/>
<enum value="0x3406" name="EGL_FORMAT_ASTC_8X6_SRGB_QCOM"/>
<enum value="0x3407" name="EGL_FORMAT_ASTC_8X8_SRGB_QCOM"/>
<enum value="0x3408" name="EGL_FORMAT_ASTC_10X5_SRGB_QCOM"/>
<enum value="0x3409" name="EGL_FORMAT_ASTC_10X6_SRGB_QCOM"/>
<enum value="0x340A" name="EGL_FORMAT_ASTC_10X8_SRGB_QCOM"/>
<enum value="0x340B" name="EGL_FORMAT_ASTC_10X10_SRGB_QCOM"/>
<enum value="0x340C" name="EGL_FORMAT_ASTC_12X10_SRGB_QCOM"/>
<enum value="0x340D" name="EGL_FORMAT_ASTC_12X12_SRGB_QCOM"/>
<enum value="0x340E" name="EGL_FORMAT_TP10_QCOM"/>
<enum value="0x340F" name="EGL_FORMAT_NV12_Y_QCOM"/>
<enum value="0x3410" name="EGL_FORMAT_NV12_UV_QCOM"/>
<enum value="0x3411" name="EGL_FORMAT_NV21_VU_QCOM"/>
<enum value="0x3412" name="EGL_FORMAT_NV12_4R_QCOM"/>
<enum value="0x3413" name="EGL_FORMAT_NV12_4R_Y_QCOM"/>
<enum value="0x3414" name="EGL_FORMAT_NV12_4R_UV_QCOM"/>
<enum value="0x3415" name="EGL_FORMAT_P010_QCOM"/>
<enum value="0x3416" name="EGL_FORMAT_P010_Y_QCOM"/>
<enum value="0x3417" name="EGL_FORMAT_P010_UV_QCOM"/>
<enum value="0x3418" name="EGL_FORMAT_TP10_Y_QCOM"/>
<enum value="0x3419" name="EGL_FORMAT_TP10_UV_QCOM"/>
<unused start="0x341A" end="0x341F"/>
<enum value="0x3420" name="EGL_GENERIC_TOKEN_1_QCOM"/>
<enum value="0x3421" name="EGL_GENERIC_TOKEN_2_QCOM"/>
<enum value="0x3422" name="EGL_GENERIC_TOKEN_3_QCOM"/>
<unused start="0x3423" end="0x342F"/>
</enums> </enums>
<enums namespace="EGL" start="0x3430" end="0x343F" vendor="ANDROID" comment="Reserved for Pablo Ceballos (Bug 15874)"> <enums namespace="EGL" start="0x3430" end="0x343F" vendor="ANDROID" comment="Reserved for Pablo Ceballos (Bug 15874)">
...@@ -893,6 +1013,17 @@ ...@@ -893,6 +1013,17 @@
<enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE" comment="Reserved for Courtney Goeltzenleuchter - ANGLE (gitlab EGL bug 7)"> <enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE" comment="Reserved for Courtney Goeltzenleuchter - ANGLE (gitlab EGL bug 7)">
<unused start="0x3480" end="0x348F"/> <unused start="0x3480" end="0x348F"/>
</enums> </enums>
<enums namespace="EGL" start="0x3490" end="0x349F" vendor="EXT" comment="Reserved for Courtney Goeltzenleuchter - Android (gitlab EGL bug 69)">
<enum value="0x3490" name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
<unused start="0x3491" end="0x349F"/>
</enums>
<enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE" comment="Reserved for Ken Russell - ANGLE (via github pull request)">
<unused start="0x34A0" end="0x34AF"/>
</enums>
<enums namespace="EGL" start="0x34B0" end="0x34BF" vendor="ARM" comment="Reserved for Jan-Harald Fredriksen (via github pull request)">
<unused start="0x34B0" end="0x34BF"/>
</enums>
<!-- Please remember that new enumerant allocations must be obtained by <!-- Please remember that new enumerant allocations must be obtained by
request to the Khronos API registrar (see comments at the top of this request to the Khronos API registrar (see comments at the top of this
...@@ -903,8 +1034,8 @@ ...@@ -903,8 +1034,8 @@
<!-- Reservable for future use. To generate a new range, allocate multiples <!-- Reservable for future use. To generate a new range, allocate multiples
of 16 starting at the lowest available point in this block. --> of 16 starting at the lowest available point in this block. -->
<enums namespace="EGL" start="0x3490" end="0x3FFF" vendor="KHR" comment="Reserved for future use"> <enums namespace="EGL" start="0x34C0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
<unused start="0x3490" end="0x3FFF"/> <unused start="0x34C0" end="0x3FFF"/>
</enums> </enums>
<enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL."> <enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
...@@ -1224,6 +1355,14 @@ ...@@ -1224,6 +1355,14 @@
<param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param> <param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param>
</command> </command>
<command> <command>
<proto>char *<name>eglGetDisplayDriverConfig</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
</command>
<command>
<proto>const char *<name>eglGetDisplayDriverName</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglGetError</name></proto> <proto><ptype>EGLint</ptype> <name>eglGetError</name></proto>
</command> </command>
<command> <command>
...@@ -1679,14 +1818,14 @@ ...@@ -1679,14 +1818,14 @@
<proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageEXT</name></proto> <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageEXT</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param> <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param> <param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLint</ptype> *<name>rects</name></param> <param>const <ptype>EGLint</ptype> *<name>rects</name></param>
<param><ptype>EGLint</ptype> <name>n_rects</name></param> <param><ptype>EGLint</ptype> <name>n_rects</name></param>
</command> </command>
<command> <command>
<proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageKHR</name></proto> <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageKHR</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param> <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param> <param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLint</ptype> *<name>rects</name></param> <param>const <ptype>EGLint</ptype> *<name>rects</name></param>
<param><ptype>EGLint</ptype> <name>n_rects</name></param> <param><ptype>EGLint</ptype> <name>n_rects</name></param>
</command> </command>
<command> <command>
...@@ -1783,6 +1922,58 @@ ...@@ -1783,6 +1922,58 @@
<param><ptype>EGLint</ptype> <name>external_win_id</name></param> <param><ptype>EGLint</ptype> <name>external_win_id</name></param>
<param><ptype>EGLint</ptype> <name>policy</name></param> <param><ptype>EGLint</ptype> <name>policy</name></param>
</command> </command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglBindWaylandDisplayWL</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param>struct <ptype>wl_display</ptype> *<name>display</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglUnbindWaylandDisplayWL</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param>struct <ptype>wl_display</ptype> *<name>display</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglQueryWaylandBufferWL</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param>struct <ptype>wl_resource</ptype> *<name>buffer</name></param>
<param><ptype>EGLint</ptype> <name>attribute</name></param>
<param><ptype>EGLint</ptype> *<name>value</name></param>
</command>
<command>
<proto>struct <ptype>wl_buffer</ptype> *<name>eglCreateWaylandBufferFromImageWL</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLImageKHR</ptype> <name>image</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamImageConsumerConnectNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param><ptype>EGLint</ptype> <name>num_modifiers</name></param>
<param><ptype>EGLuint64KHR</ptype> *<name>modifiers</name></param>
<param><ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglQueryStreamConsumerEventNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param><ptype>EGLTime</ptype> <name>timeout</name></param>
<param><ptype>EGLenum</ptype> *<name>event</name></param>
<param><ptype>EGLAttrib</ptype> *<name>aux</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamAcquireImageNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param><ptype>EGLImage</ptype> *<name>pImage</name></param>
<param><ptype>EGLSync</ptype> <name>sync</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamReleaseImageNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param><ptype>EGLImage</ptype> <name>image</name></param>
<param><ptype>EGLSync</ptype> <name>sync</name></param>
</command>
</commands> </commands>
<!-- SECTION: EGL API interface definitions. --> <!-- SECTION: EGL API interface definitions. -->
...@@ -2127,21 +2318,12 @@ ...@@ -2127,21 +2318,12 @@
<enum name="EGL_RECORDABLE_ANDROID"/> <enum name="EGL_RECORDABLE_ANDROID"/>
</require> </require>
</extension> </extension>
<extension name="EGL_ANDROID_GLES_layers" supported="egl"/>
<extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl"> <extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
<require> <require>
<enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/> <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
</require> </require>
</extension> </extension>
<extension name="EGL_ANGLE_display_semaphore_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_display_texture_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_device_d3d" supported="egl"> <extension name="EGL_ANGLE_device_d3d" supported="egl">
<require> <require>
<enum name="EGL_D3D9_DEVICE_ANGLE"/> <enum name="EGL_D3D9_DEVICE_ANGLE"/>
...@@ -2261,6 +2443,11 @@ ...@@ -2261,6 +2443,11 @@
<enum name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/> <enum name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
</require> </require>
</extension> </extension>
<extension name="EGL_EXT_gl_colorspace_display_p3_passthrough" supported="egl">
<require>
<enum name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_image_dma_buf_import" supported="egl"> <extension name="EGL_EXT_image_dma_buf_import" supported="egl">
<require> <require>
<enum name="EGL_LINUX_DMA_BUF_EXT"/> <enum name="EGL_LINUX_DMA_BUF_EXT"/>
...@@ -2377,6 +2564,12 @@ ...@@ -2377,6 +2564,12 @@
<enum name="EGL_PLATFORM_X11_SCREEN_EXT"/> <enum name="EGL_PLATFORM_X11_SCREEN_EXT"/>
</require> </require>
</extension> </extension>
<extension name="EGL_EXT_platform_xcb" supported="egl">
<require>
<enum name="EGL_PLATFORM_XCB_EXT"/>
<enum name="EGL_PLATFORM_XCB_SCREEN_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_protected_content" supported="egl"> <extension name="EGL_EXT_protected_content" supported="egl">
<require> <require>
<enum name="EGL_PROTECTED_CONTENT_EXT"/> <enum name="EGL_PROTECTED_CONTENT_EXT"/>
...@@ -2853,6 +3046,12 @@ ...@@ -2853,6 +3046,12 @@
<enum name="EGL_PLATFORM_SURFACELESS_MESA"/> <enum name="EGL_PLATFORM_SURFACELESS_MESA"/>
</require> </require>
</extension> </extension>
<extension name="EGL_MESA_query_driver" supported="egl">
<require>
<command name="eglGetDisplayDriverConfig"/>
<command name="eglGetDisplayDriverName"/>
</require>
</extension>
<extension name="EGL_NOK_swap_region" supported="egl"> <extension name="EGL_NOK_swap_region" supported="egl">
<require> <require>
<command name="eglSwapBuffersRegionNOK"/> <command name="eglSwapBuffersRegionNOK"/>
...@@ -2927,6 +3126,11 @@ ...@@ -2927,6 +3126,11 @@
<command name="eglPostSubBufferNV"/> <command name="eglPostSubBufferNV"/>
</require> </require>
</extension> </extension>
<extension name="EGL_NV_quadruple_buffer" supported="egl">
<require>
<enum name="EGL_QUADRUPLE_BUFFER_NV"/>
</require>
</extension>
<extension name="EGL_NV_robustness_video_memory_purge" supported="egl"> <extension name="EGL_NV_robustness_video_memory_purge" supported="egl">
<require> <require>
<enum name="EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV"/> <enum name="EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV"/>
...@@ -2967,6 +3171,24 @@ ...@@ -2967,6 +3171,24 @@
<enum name="EGL_STREAM_CROSS_SYSTEM_NV"/> <enum name="EGL_STREAM_CROSS_SYSTEM_NV"/>
</require> </require>
</extension> </extension>
<extension name="EGL_NV_stream_dma" supported="egl">
<require>
<enum name="EGL_STREAM_DMA_NV"/>
<enum name="EGL_STREAM_DMA_SERVER_NV"/>
</require>
</extension>
<extension name="EGL_NV_stream_consumer_eglimage" supported="egl">
<require>
<enum name="EGL_STREAM_CONSUMER_IMAGE_NV"/>
<enum name="EGL_STREAM_IMAGE_ADD_NV"/>
<enum name="EGL_STREAM_IMAGE_REMOVE_NV"/>
<enum name="EGL_STREAM_IMAGE_AVAILABLE_NV"/>
<command name="eglStreamImageConsumerConnectNV"/>
<command name="eglQueryStreamConsumerEventNV"/>
<command name="eglStreamAcquireImageNV"/>
<command name="eglStreamReleaseImageNV"/>
</require>
</extension>
<extension name="EGL_NV_stream_fifo_next" supported="egl"> <extension name="EGL_NV_stream_fifo_next" supported="egl">
<require> <require>
<enum name="EGL_PENDING_FRAME_NV"/> <enum name="EGL_PENDING_FRAME_NV"/>
...@@ -3084,6 +3306,11 @@ ...@@ -3084,6 +3306,11 @@
<command name="eglGetSystemTimeNV"/> <command name="eglGetSystemTimeNV"/>
</require> </require>
</extension> </extension>
<extension name="EGL_NV_triple_buffer" supported="egl">
<require>
<enum name="EGL_TRIPLE_BUFFER_NV"/>
</require>
</extension>
<extension name="EGL_TIZEN_image_native_buffer" supported="egl"> <extension name="EGL_TIZEN_image_native_buffer" supported="egl">
<require> <require>
<enum name="EGL_NATIVE_BUFFER_TIZEN"/> <enum name="EGL_NATIVE_BUFFER_TIZEN"/>
...@@ -3128,5 +3355,55 @@ ...@@ -3128,5 +3355,55 @@
<enum name="EGL_FRONT_BUFFER_EXT"/> <enum name="EGL_FRONT_BUFFER_EXT"/>
</require> </require>
</extension> </extension>
<extension name="EGL_NV_stream_origin" supported="egl">
<require>
<enum name="EGL_STREAM_FRAME_ORIGIN_X_NV"/>
<enum name="EGL_STREAM_FRAME_ORIGIN_Y_NV"/>
<enum name="EGL_STREAM_FRAME_MAJOR_AXIS_NV"/>
<enum name="EGL_CONSUMER_AUTO_ORIENTATION_NV"/>
<enum name="EGL_PRODUCER_AUTO_ORIENTATION_NV"/>
<enum name="EGL_LEFT_NV"/>
<enum name="EGL_RIGHT_NV"/>
<enum name="EGL_TOP_NV"/>
<enum name="EGL_BOTTOM_NV"/>
<enum name="EGL_X_AXIS_NV"/>
<enum name="EGL_Y_AXIS_NV"/>
</require>
</extension>
<extension name="EGL_WL_bind_wayland_display" supported="egl">
<require>
<enum name="EGL_WAYLAND_BUFFER_WL"/>
<enum name="EGL_WAYLAND_PLANE_WL"/>
<enum name="EGL_TEXTURE_Y_U_V_WL"/>
<enum name="EGL_TEXTURE_Y_UV_WL"/>
<enum name="EGL_TEXTURE_Y_XUXV_WL"/>
<enum name="EGL_TEXTURE_EXTERNAL_WL"/>
<enum name="EGL_WAYLAND_Y_INVERTED_WL"/>
<command name="eglBindWaylandDisplayWL"/>
<command name="eglUnbindWaylandDisplayWL"/>
<command name="eglQueryWaylandBufferWL"/>
<type name="PFNEGLBINDWAYLANDDISPLAYWL"/>
<type name="PFNEGLUNBINDWAYLANDDISPLAYWL"/>
<type name="PFNEGLQUERYWAYLANDBUFFERWL"/>
</require>
</extension>
<extension name="EGL_WL_create_wayland_buffer_from_image" supported="egl">
<require>
<command name="eglCreateWaylandBufferFromImageWL"/>
<type name="PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL"/>
</require>
</extension>
<extension name="EGL_ARM_image_format" supported="egl">
<require>
<enum name="EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM"/>
<enum name="EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM"/>
</require>
</extension>
<extension name="EGL_EXT_device_query_name" supported="egl">
<require>
<enum name="EGL_RENDERER_EXT"/>
</require>
</extension>
</extensions> </extensions>
</registry> </registry>
...@@ -165,5 +165,15 @@ ...@@ -165,5 +165,15 @@
<command name="eglHandleGPUSwitchANGLE"/> <command name="eglHandleGPUSwitchANGLE"/>
</require> </require>
</extension> </extension>
<extension name="EGL_ANGLE_display_semaphore_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_display_texture_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
</extensions> </extensions>
</registry> </registry>
...@@ -297,7 +297,7 @@ Error Surface::swap(const gl::Context *context) ...@@ -297,7 +297,7 @@ Error Surface::swap(const gl::Context *context)
return NoError(); return NoError();
} }
Error Surface::swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects) Error Surface::swapWithDamage(const gl::Context *context, const EGLint *rects, EGLint n_rects)
{ {
ANGLE_TRACE_EVENT0("gpu.angle", "egl::Surface::swapWithDamage"); ANGLE_TRACE_EVENT0("gpu.angle", "egl::Surface::swapWithDamage");
context->onPreSwap(); context->onPreSwap();
......
...@@ -75,7 +75,7 @@ class Surface : public LabeledObject, public gl::FramebufferAttachmentObject ...@@ -75,7 +75,7 @@ class Surface : public LabeledObject, public gl::FramebufferAttachmentObject
Error makeCurrent(const gl::Context *context); Error makeCurrent(const gl::Context *context);
Error unMakeCurrent(const gl::Context *context); Error unMakeCurrent(const gl::Context *context);
Error swap(const gl::Context *context); Error swap(const gl::Context *context);
Error swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects); Error swapWithDamage(const gl::Context *context, const EGLint *rects, EGLint n_rects);
Error swapWithFrameToken(const gl::Context *context, EGLFrameTokenANGLE frameToken); Error swapWithFrameToken(const gl::Context *context, EGLFrameTokenANGLE frameToken);
Error postSubBuffer(const gl::Context *context, Error postSubBuffer(const gl::Context *context,
EGLint x, EGLint x,
......
...@@ -33,7 +33,7 @@ class MockSurfaceImpl : public rx::SurfaceImpl ...@@ -33,7 +33,7 @@ class MockSurfaceImpl : public rx::SurfaceImpl
MOCK_METHOD2(createDefaultFramebuffer, MOCK_METHOD2(createDefaultFramebuffer,
rx::FramebufferImpl *(const gl::Context *, const gl::FramebufferState &data)); rx::FramebufferImpl *(const gl::Context *, const gl::FramebufferState &data));
MOCK_METHOD1(swap, egl::Error(const gl::Context *)); MOCK_METHOD1(swap, egl::Error(const gl::Context *));
MOCK_METHOD3(swapWithDamage, egl::Error(const gl::Context *, EGLint *, EGLint)); MOCK_METHOD3(swapWithDamage, egl::Error(const gl::Context *, const EGLint *, EGLint));
MOCK_METHOD5(postSubBuffer, egl::Error(const gl::Context *, EGLint, EGLint, EGLint, EGLint)); MOCK_METHOD5(postSubBuffer, egl::Error(const gl::Context *, EGLint, EGLint, EGLint, EGLint));
MOCK_METHOD2(querySurfacePointerANGLE, egl::Error(EGLint, void **)); MOCK_METHOD2(querySurfacePointerANGLE, egl::Error(EGLint, void **));
MOCK_METHOD3(bindTexImage, egl::Error(const gl::Context *context, gl::Texture *, EGLint)); MOCK_METHOD3(bindTexImage, egl::Error(const gl::Context *context, gl::Texture *, EGLint));
......
...@@ -25,7 +25,9 @@ egl::Error SurfaceImpl::unMakeCurrent(const gl::Context *context) ...@@ -25,7 +25,9 @@ egl::Error SurfaceImpl::unMakeCurrent(const gl::Context *context)
return egl::NoError(); return egl::NoError();
} }
egl::Error SurfaceImpl::swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects) egl::Error SurfaceImpl::swapWithDamage(const gl::Context *context,
const EGLint *rects,
EGLint n_rects)
{ {
UNREACHABLE(); UNREACHABLE();
return egl::EglBadSurface() << "swapWithDamage implementation missing."; return egl::EglBadSurface() << "swapWithDamage implementation missing.";
......
...@@ -56,7 +56,9 @@ class SurfaceImpl : public FramebufferAttachmentObjectImpl ...@@ -56,7 +56,9 @@ class SurfaceImpl : public FramebufferAttachmentObjectImpl
virtual egl::Error makeCurrent(const gl::Context *context); virtual egl::Error makeCurrent(const gl::Context *context);
virtual egl::Error unMakeCurrent(const gl::Context *context); virtual egl::Error unMakeCurrent(const gl::Context *context);
virtual egl::Error swap(const gl::Context *context) = 0; virtual egl::Error swap(const gl::Context *context) = 0;
virtual egl::Error swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects); virtual egl::Error swapWithDamage(const gl::Context *context,
const EGLint *rects,
EGLint n_rects);
virtual egl::Error swapWithFrameToken(const gl::Context *context, virtual egl::Error swapWithFrameToken(const gl::Context *context,
EGLFrameTokenANGLE frameToken); EGLFrameTokenANGLE frameToken);
virtual egl::Error postSubBuffer(const gl::Context *context, virtual egl::Error postSubBuffer(const gl::Context *context,
......
...@@ -441,7 +441,7 @@ EGLint FunctionsEGL::waitSyncKHR(EGLSyncKHR sync, EGLint flags) const ...@@ -441,7 +441,7 @@ EGLint FunctionsEGL::waitSyncKHR(EGLSyncKHR sync, EGLint flags) const
} }
EGLBoolean FunctionsEGL::swapBuffersWithDamageKHR(EGLSurface surface, EGLBoolean FunctionsEGL::swapBuffersWithDamageKHR(EGLSurface surface,
EGLint *rects, const EGLint *rects,
EGLint n_rects) const EGLint n_rects) const
{ {
return mFnPtrs->swapBuffersWithDamageKHRPtr(mEGLDisplay, surface, rects, n_rects); return mFnPtrs->swapBuffersWithDamageKHRPtr(mEGLDisplay, surface, rects, n_rects);
......
...@@ -78,7 +78,9 @@ class FunctionsEGL ...@@ -78,7 +78,9 @@ class FunctionsEGL
EGLint waitSyncKHR(EGLSyncKHR sync, EGLint flags) const; EGLint waitSyncKHR(EGLSyncKHR sync, EGLint flags) const;
EGLBoolean swapBuffersWithDamageKHR(EGLSurface surface, EGLint *rects, EGLint n_rects) const; EGLBoolean swapBuffersWithDamageKHR(EGLSurface surface,
const EGLint *rects,
EGLint n_rects) const;
EGLBoolean presentationTimeANDROID(EGLSurface surface, EGLnsecsANDROID time) const; EGLBoolean presentationTimeANDROID(EGLSurface surface, EGLnsecsANDROID time) const;
......
...@@ -46,7 +46,9 @@ egl::Error SurfaceEGL::swap(const gl::Context *context) ...@@ -46,7 +46,9 @@ egl::Error SurfaceEGL::swap(const gl::Context *context)
return egl::NoError(); return egl::NoError();
} }
egl::Error SurfaceEGL::swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects) egl::Error SurfaceEGL::swapWithDamage(const gl::Context *context,
const EGLint *rects,
EGLint n_rects)
{ {
EGLBoolean success; EGLBoolean success;
if (mHasSwapBuffersWithDamage) if (mHasSwapBuffersWithDamage)
......
...@@ -25,7 +25,9 @@ class SurfaceEGL : public SurfaceGL ...@@ -25,7 +25,9 @@ class SurfaceEGL : public SurfaceGL
egl::Error makeCurrent(const gl::Context *context) override; egl::Error makeCurrent(const gl::Context *context) override;
egl::Error swap(const gl::Context *context) override; egl::Error swap(const gl::Context *context) override;
egl::Error swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects) override; egl::Error swapWithDamage(const gl::Context *context,
const EGLint *rects,
EGLint n_rects) override;
egl::Error postSubBuffer(const gl::Context *context, egl::Error postSubBuffer(const gl::Context *context,
EGLint x, EGLint x,
EGLint y, EGLint y,
......
...@@ -1218,7 +1218,7 @@ FramebufferImpl *WindowSurfaceVk::createDefaultFramebuffer(const gl::Context *co ...@@ -1218,7 +1218,7 @@ FramebufferImpl *WindowSurfaceVk::createDefaultFramebuffer(const gl::Context *co
} }
egl::Error WindowSurfaceVk::swapWithDamage(const gl::Context *context, egl::Error WindowSurfaceVk::swapWithDamage(const gl::Context *context,
EGLint *rects, const EGLint *rects,
EGLint n_rects) EGLint n_rects)
{ {
DisplayVk *displayVk = vk::GetImpl(context->getDisplay()); DisplayVk *displayVk = vk::GetImpl(context->getDisplay());
...@@ -1263,7 +1263,7 @@ angle::Result WindowSurfaceVk::computePresentOutOfDate(vk::Context *context, ...@@ -1263,7 +1263,7 @@ angle::Result WindowSurfaceVk::computePresentOutOfDate(vk::Context *context,
} }
angle::Result WindowSurfaceVk::present(ContextVk *contextVk, angle::Result WindowSurfaceVk::present(ContextVk *contextVk,
EGLint *rects, const EGLint *rects,
EGLint n_rects, EGLint n_rects,
const void *pNextChain, const void *pNextChain,
bool *presentOutOfDate) bool *presentOutOfDate)
...@@ -1373,7 +1373,7 @@ angle::Result WindowSurfaceVk::present(ContextVk *contextVk, ...@@ -1373,7 +1373,7 @@ angle::Result WindowSurfaceVk::present(ContextVk *contextVk,
EGLint width = getWidth(); EGLint width = getWidth();
EGLint height = getHeight(); EGLint height = getHeight();
EGLint *eglRects = rects; const EGLint *eglRects = rects;
presentRegion.rectangleCount = n_rects; presentRegion.rectangleCount = n_rects;
vkRects.resize(n_rects); vkRects.resize(n_rects);
for (EGLint i = 0; i < n_rects; i++) for (EGLint i = 0; i < n_rects; i++)
...@@ -1418,7 +1418,7 @@ angle::Result WindowSurfaceVk::present(ContextVk *contextVk, ...@@ -1418,7 +1418,7 @@ angle::Result WindowSurfaceVk::present(ContextVk *contextVk,
} }
angle::Result WindowSurfaceVk::swapImpl(const gl::Context *context, angle::Result WindowSurfaceVk::swapImpl(const gl::Context *context,
EGLint *rects, const EGLint *rects,
EGLint n_rects, EGLint n_rects,
const void *pNextChain) const void *pNextChain)
{ {
......
...@@ -188,7 +188,9 @@ class WindowSurfaceVk : public SurfaceVk ...@@ -188,7 +188,9 @@ class WindowSurfaceVk : public SurfaceVk
FramebufferImpl *createDefaultFramebuffer(const gl::Context *context, FramebufferImpl *createDefaultFramebuffer(const gl::Context *context,
const gl::FramebufferState &state) override; const gl::FramebufferState &state) override;
egl::Error swap(const gl::Context *context) override; egl::Error swap(const gl::Context *context) override;
egl::Error swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects) override; egl::Error swapWithDamage(const gl::Context *context,
const EGLint *rects,
EGLint n_rects) override;
egl::Error postSubBuffer(const gl::Context *context, egl::Error postSubBuffer(const gl::Context *context,
EGLint x, EGLint x,
EGLint y, EGLint y,
...@@ -241,7 +243,7 @@ class WindowSurfaceVk : public SurfaceVk ...@@ -241,7 +243,7 @@ class WindowSurfaceVk : public SurfaceVk
protected: protected:
angle::Result swapImpl(const gl::Context *context, angle::Result swapImpl(const gl::Context *context,
EGLint *rects, const EGLint *rects,
EGLint n_rects, EGLint n_rects,
const void *pNextChain); const void *pNextChain);
...@@ -278,7 +280,7 @@ class WindowSurfaceVk : public SurfaceVk ...@@ -278,7 +280,7 @@ class WindowSurfaceVk : public SurfaceVk
VkResult result, VkResult result,
bool *presentOutOfDate); bool *presentOutOfDate);
angle::Result present(ContextVk *contextVk, angle::Result present(ContextVk *contextVk,
EGLint *rects, const EGLint *rects,
EGLint n_rects, EGLint n_rects,
const void *pNextChain, const void *pNextChain,
bool *presentOutOfDate); bool *presentOutOfDate);
......
...@@ -797,7 +797,7 @@ EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR ...@@ -797,7 +797,7 @@ EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR
// EGL_KHR_swap_buffers_with_damage // EGL_KHR_swap_buffers_with_damage
EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR(EGLDisplay dpy, EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR(EGLDisplay dpy,
EGLSurface surface, EGLSurface surface,
EGLint *rects, const EGLint *rects,
EGLint n_rects) EGLint n_rects)
{ {
EnsureEGLLoaded(); EnsureEGLLoaded();
......
...@@ -574,7 +574,7 @@ EGLBoolean StreamConsumerReleaseKHR(Thread *thread, Display *display, Stream *st ...@@ -574,7 +574,7 @@ EGLBoolean StreamConsumerReleaseKHR(Thread *thread, Display *display, Stream *st
EGLBoolean SwapBuffersWithDamageKHR(Thread *thread, EGLBoolean SwapBuffersWithDamageKHR(Thread *thread,
Display *display, Display *display,
Surface *eglSurface, Surface *eglSurface,
EGLint *rects, const EGLint *rects,
EGLint n_rects) EGLint n_rects)
{ {
ANGLE_EGL_TRY_RETURN(thread, display->prepareForCall(), "eglSwapBuffersWithDamageEXT", ANGLE_EGL_TRY_RETURN(thread, display->prepareForCall(), "eglSwapBuffersWithDamageEXT",
......
...@@ -167,7 +167,7 @@ EGLBoolean StreamConsumerReleaseKHR(Thread *thread, egl::Display *dpyPacked, Str ...@@ -167,7 +167,7 @@ EGLBoolean StreamConsumerReleaseKHR(Thread *thread, egl::Display *dpyPacked, Str
EGLBoolean SwapBuffersWithDamageKHR(Thread *thread, EGLBoolean SwapBuffersWithDamageKHR(Thread *thread,
egl::Display *dpyPacked, egl::Display *dpyPacked,
Surface *surfacePacked, Surface *surfacePacked,
EGLint *rects, const EGLint *rects,
EGLint n_rects); EGLint n_rects);
EGLint WaitSyncKHR(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked, EGLint flags); EGLint WaitSyncKHR(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked, EGLint flags);
EGLDeviceEXT CreateDeviceANGLE(Thread *thread, EGLDeviceEXT CreateDeviceANGLE(Thread *thread,
......
...@@ -1036,7 +1036,7 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR ...@@ -1036,7 +1036,7 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR
// EGL_KHR_swap_buffers_with_damage // EGL_KHR_swap_buffers_with_damage
EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy,
EGLSurface surface, EGLSurface surface,
EGLint *rects, const EGLint *rects,
EGLint n_rects) EGLint n_rects)
{ {
ANGLE_SCOPED_GLOBAL_LOCK(); ANGLE_SCOPED_GLOBAL_LOCK();
......
...@@ -217,7 +217,7 @@ ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, ...@@ -217,7 +217,7 @@ ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy,
// EGL_KHR_swap_buffers_with_damage // EGL_KHR_swap_buffers_with_damage
ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy,
EGLSurface surface, EGLSurface surface,
EGLint *rects, const EGLint *rects,
EGLint n_rects); EGLint n_rects);
// EGL_KHR_wait_sync // EGL_KHR_wait_sync
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment