blob: 6568b643b73d1149cd68229e83c112bfc6532868 [file] [log] [blame]
Name
KHR_platform_android
Name Strings
EGL_KHR_platform_android
Contributors
Jesse Hall <jessehall 'at' google.com>
The contributors to the EGL_KHR_platform_gbm extension, which this
extension was based on.
Contacts
Jesse Hall <jessehall 'at' google.com>
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 <platform> 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 <platform> set to EGL_PLATFORM_ANDROID_KHR and with <native_display>
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 <dpy> that belongs to the Android
platform and a <native_window> that points to a ANativeWindow.
It is not valid to call eglCreatePlatformPixmapSurface with a <dpy> 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.