1b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangName 2b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 3b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang ANGLE_platform_angle 4b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 5b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangName Strings 6b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 7b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_ANGLE_platform_angle 8b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 9b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangContributors 10b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 11b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Scott Graham, Google 12b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Shannon Woods, Google 13b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Geoff Lang, Google 14b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 15b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangContacts 16b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 17b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Scott Graham, Google (scottmg 'at' google 'dot' com) 18b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 19b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangStatus 20b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 21b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Draft 22b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 23b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangVersion 24b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 25b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Version 2, 2014-06-05 26b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 27b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangNumber 28b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 29b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL Extension XXX 30b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 31b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangExtension Type 32b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 33b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL client extension 34b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 35b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangDependencies 36b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 37b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Requires EGL_EXT_client_extensions to query its existence without 38b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang a display. 39b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 40b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Requires EGL_EXT_platform_base. 41b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 42b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang This extension is written against the wording of version 9 of the 43b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_EXT_platform_base specification. 44b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 45b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang ANGLE_platform_angle_d3d affects the definition of this extension. 46b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang ANGLE_platform_angle_opengl affects the definition of this extension. 47b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 48b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangOverview 49b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 50b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang This extension defines how to create EGL resources from resources using 51b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang the functions defined by EGL_EXT_platform_base. 52b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 53b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangNew Types 54b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 55b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang None 56b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 57b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangNew Procedures and Functions 58b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 59b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang None 60b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 61b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangNew Tokens 62b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 63b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Accepted as the <platform> argument of eglGetPlatformDisplayEXT: 64b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 65b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_ANGLE 0x3201 66b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 67b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Accepted as an attribute name in the <attrib_list> argument of 68b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang eglGetPlatformDisplayEXT: 69b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 70b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3202 71b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 72b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute: 73b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 74b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3203 75b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 76b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangAdditions to the EGL Specification 77b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 78b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang None. 79b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 80b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangNew Behavior 81b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 82b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang To determine if the EGL implementation supports this extension, clients 83b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY. 84b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 85b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang To obtain an EGLDisplay backed by a ANGLE display, call 86b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang eglGetPlatformDisplayEXT with <platform> set to EGL_PLATFORM_ANGLE_ANGLE. 87b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 88b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang The <native_display> parameter is of type EGLNativeDisplayType. If 89b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang <native_display> is EGL_DEFAULT_DISPLAY a default display is returned. 90b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Multiple calls with the same <native_display> will return the same 91b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGLDisplay handle. The value of EGL_PLATFORM_ANGLE_TYPE_ANGLE, if any, 92b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang is ignored if there was previously a EGLDisplay successfully created for a 93b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang given value of EGLNativeDisplayType. 94b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 95b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang If no <attrib_list> is specified, the value of 96b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_ANGLE is implicitly set to 97b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE. Otherwise, the value of 98b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_ANGLE should be: 99b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE for an implementation dependent 100b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang display, equivalent to using a <native_display> of EGL_DEFAULT_DISPLAY, 101b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE for a D3D9 display which translates 102b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang to OpenGL ES, 103b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE for a D3D11 display which 104b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang translates to OpenGL ES, 105b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE a D3D11 WARP display which 106b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang translates to OpenGL ES, 107b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE for an OpenGL display which 108b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang translates to OpenGL ES, 109b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE for a native OpenGL ES display 110b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 111b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang If no display matching the requested <native_display> or of the type 112b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang requested by the value of EGL_PLATFORM_ANGLE_TYPE_ANGLE is available, 113b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_NO_DISPLAY is returned. No error condition is raised in this case. 114b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 115b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangDependencies on ANGLE_platform_angle_d3d 116b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 117b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang The EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE, 118b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE and 119b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE <native_display> parameters to 120b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_d3d is 121b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang supported. 122b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 123b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangDependencies on ANGLE_platform_angle_opengl 124b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 125b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang The EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE and 126b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE <native_display> parameters to 127b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_opengl is 128b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang supported. 129b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 130b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangIssues 131b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 132b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang None 133b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 134b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff LangRevision History 135b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang 136b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Version 1, 2014-02-04 (Scott Graham) 137b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - Initial draft 138b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang Version 2, 2014-06-05 (Geoff Lang) 139b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - Rename extension from ANGLE_platform_angle_d3d to 140b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang ANGLE_platform_angle. 141b9f240b1c3fc25f4497a75d1e47c09bf86875328Geoff Lang - Add sub-extensions for specific platforms. 142