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":
......
...@@ -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