Name KHR_platform_android Name Strings EGL_KHR_platform_android Contributors Jesse Hall The contributors to the EGL_KHR_platform_gbm extension, which this extension was based on. Contacts Jesse Hall Status Complete. Approved by the EGL Working Group on January 31, 2014. Ratified by the Khronos Board of Promoters on March 14, 2014. Version Version 1, 2014/01/27 Number EGL Extension #68 Extension Type EGL client extension Dependencies EGL 1.5 is required. This extension is written against the EGL 1.5 Specification (draft 20140122). Overview This extension defines how to create EGL resources from native Android resources using the EGL 1.5 platform functionality. New Types None New Procedures and Functions None New Tokens Accepted as the argument of eglGetPlatformDisplay: EGL_PLATFORM_ANDROID_KHR 0x3141 Additions to the EGL Specification None. New Behavior To determine if the EGL implementation supports this extension, clients should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY. To obtain an EGLDisplay for the Android device, call eglGetPlatformDisplay with set to EGL_PLATFORM_ANDROID_KHR and with set to EGL_DEFAULT_DISPLAY. For each EGLConfig that belongs to the Android platform, the EGL_NATIVE_VISUAL_ID attribute is an Android window format, such as WINDOW_FORMAT_RGBA_8888. To obtain a rendering surface from an Android native window, call eglCreatePlatformWindowSurface with a that belongs to the Android platform and a that points to a ANativeWindow. It is not valid to call eglCreatePlatformPixmapSurface with a that belongs to the Android platform. Any such call fails and generates an EGL_BAD_PARAMETER error. Issues 1. Should this extension even exist? Android devices only support one window system. RESOLUTION: Yes. Although the Android Open Source Project master branch only supports one window system, customized versions of Android could extend that to support other window systems. More importantly, having a platform extension allows EGL 1.5 applications to use the platform and non-platform Get*Display and Create*WindowSurface calls interchangeably. As a user of the API it would be confusing if that didn't work. Revision History Version 1, 2014/01/27 (Jesse Hall) - Initial draft.