summaryrefslogtreecommitdiff
path: root/chromium/third_party/angle/extensions
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/third_party/angle/extensions
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/angle/extensions')
-rw-r--r--chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt15
-rw-r--r--chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt51
2 files changed, 65 insertions, 1 deletions
diff --git a/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt b/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
index 69f8dbc17fd..c9f8a5062ae 100644
--- a/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
+++ b/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
@@ -81,6 +81,13 @@ New Tokens
EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x345E
+ Accepted as values for the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
+ attribute:
+
+ EGL_PLATFORM_X11_EXT 0x31D5
+ EGL_PLATFORM_DEVICE_EXT 0x313F
+ EGL_PLATFORM_SURFACELESS_MESA 0x31DD
+
Additions to the EGL Specification
None.
@@ -137,6 +144,12 @@ New Behavior
default setting depends on the implementation. Any value other than these
will result in an error.
+ EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE is an additional optional
+ attribute that helps ANGLE to identify what native underlaying platform
+ it should use. If no display matching the requested type of native platform
+ found, EGL_NO_DISPLAY should be returned. if no <attrib_list> is specified
+ to eglGetPlatformDisplayEXT, ANGLE is free to make the choice.
+
Issues
1) Should the validation layers default to on, off, or no guarantee?
@@ -161,3 +174,5 @@ Revision History
- Add a debug layers enabled attribute to control runtime validation.
Version 5, 2017-12-28 (Jamie Madill)
- Expose device type selection.
+ Version 6, 2020-05-28 (Maksim Sisov)
+ - Add EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE attribute.
diff --git a/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt b/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
index 43bdc959bd0..455495d933b 100644
--- a/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
+++ b/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
@@ -42,7 +42,13 @@ New Types
New Procedures and Functions
- None
+ void eglReleaseHighPowerGPUANGLE(
+ EGLDisplay dpy,
+ EGLContext context);
+ void eglReacquireHighPowerGPUANGLE(
+ EGLDisplay dpy,
+ EGLContext context);
+ void eglHandleGPUSwitchANGLE(EGLDisplay dpy);
New Tokens
@@ -74,6 +80,46 @@ Additions to the EGL 1.4 Specification
NSSupportsAutomaticGraphicsSwitching attribute to true in its
Info.plist in order for this extension to operate as advertised.
+ eglReleaseHighPowerGPUANGLE, when passed an EGLContext allocated
+ with the EGL_POWER_PREFERENCE_ANGLE context creation attribute set
+ to EGL_HIGH_POWER_ANGLE, will cause that context to release its
+ hold on the high-power GPU.
+
+ eglReacquireHighPowerGPUANGLE, when passed an EGLContext allocated
+ with the EGL_POWER_PREFERENCE_ANGLE context creation attribute set
+ to EGL_HIGH_POWER_ANGLE and which was previously released via
+ eglReleaseHighPowerGPUANGLE, will cause that context to reacquire
+ its hold on the high-power GPU.
+
+ eglReleaseHighPowerGPUANGLE and eglReacquireHighPowerGPUANGLE have
+ no effect on contexts that were allocated with the
+ EGL_LOW_POWER_ANGLE preference, or contexts not allocated with
+ either preference.
+
+ For either eglReleaseHighPowerGPUANGLE or
+ eglReacquireHighPowerGPUANGLE:
+
+ If |dpy| is not a valid display, an EGL_BAD_DISPLAY error is
+ generated.
+
+ if |dpy| is an uninitialized display, an EGL_NOT_INITIALIZED error
+ is generated.
+
+ If |context| is not a valid context, an EGL_BAD_CONTEXT error is
+ generated.
+
+ eglHandleGPUSwitchANGLE should be called in response to a display
+ reconfiguration callback (registered via
+ CGDisplayRegisterReconfigurationCallback) in order to complete
+ transitions between the low-power and high-power GPUs. For calls
+ to this function:
+
+ If |dpy| is not a valid display, an EGL_BAD_DISPLAY error is
+ generated.
+
+ if |dpy| is an uninitialized display, an EGL_NOT_INITIALIZED error
+ is generated.
+
Issues
None yet.
@@ -83,3 +129,6 @@ Revision History
Rev. Date Author Changes
---- ------------- --------- ----------------------------------------
1 Apr 16, 2019 kbr Initial version
+ 2 June 5, 2020 kbr Add eglReleaseHighPowerGPUANGLE,
+ eglReacquireHighPowerGPUANGLE, and
+ eglHandleGPUSwitchANGLE