Name ANGLE_platform_angle_device_context_volatile_cgl Name Strings EGL_ANGLE_platform_angle_device_context_volatile_cgl Contributors Kimmo Kinnunen, Apple Kenneth Russell, Google Contacts Kimmo Kinnunen, Apple (kkinnunen 'at' apple 'dot' org) Kenneth Russell, Google (kbr 'at' chromium 'dot' org) Status Draft Version Version 1, 2020-09-30 Number EGL Extension XXX Extension Type EGL client extension Dependencies Requires ANGLE_platform_angle. Overview This extension allows the client to request a Display that internally is able to function even if client changes current CGL context of the thread. Requesting a volatile device context contexts may impact performance. The extension is useful for using EGL in a library that cannot guarantee which platform APIs its clients will use. New Types None New Procedures and Functions None New Tokens Accepted as an attribute name in the argument of eglGetPlatformDisplayEXT: EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE 0x34A3 Additions to the EGL Specification None. New Behavior To request a display that internally supports the feature, use the attribute EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE. EGL_TRUE enables volatile CGL device context and EGL_FALSE disables it. Any value other than these will result in an error. The default value for EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE is EGL_FALSE. When the device context of the display is set as volatile CGL, then each EGL function will change the current CGL context state accordingly to use the internal device context, if needed. If the internal device context is not using CGL, the property has no effect. Calls to OpenGL or OpenGL ES functions will not ensure the underlying device context is correct. If the state of the current CGL context is unknown, clients should call MakeCurrent to ensure that the internal device context is made current. Issues None Revision History Version 1, 2020-09-30 (Kimmo Kinnunen) - Initial draft