Add the EGL_ANDROID_recordable spec.
Change-Id: I002177a68fafd6bb941aa64445c85fd5ff56223a
This commit is contained in:
parent
34d3f3810d
commit
bd3b6ef117
|
@ -0,0 +1,113 @@
|
||||||
|
Name
|
||||||
|
|
||||||
|
ANDROID_recordable
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
EGL_ANDROID_recordable
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
|
||||||
|
Jamie Gennis
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Jamie Gennis, Google Inc. (jgennis 'at' google.com)
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Draft.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
Version 1, July 8, 2011
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
EGL Extension #XXX
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
Requires EGL 1.0
|
||||||
|
|
||||||
|
This extension is written against the wording of the EGL 1.4 Specification
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
Android supports a number of different ANativeWindow implementations that
|
||||||
|
can be used to create an EGLSurface. One implementation, which records the
|
||||||
|
rendered image as a video each time eglSwapBuffers gets called, may have
|
||||||
|
some device-specific restrictions. Because of this, some EGLConfigs may be
|
||||||
|
incompatible with these ANativeWindows. This extension introduces a new
|
||||||
|
boolean EGLConfig attribute that indicates whether the EGLConfig supports
|
||||||
|
rendering to an ANativeWindow that records images to a video.
|
||||||
|
|
||||||
|
New Types
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <attribute> parameter of eglGetConfigAttrib and
|
||||||
|
the <attrib_list> parameter of eglChooseConfig:
|
||||||
|
|
||||||
|
EGL_RECORDABLE_ANDROID 0xXXXX
|
||||||
|
|
||||||
|
Changes to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
|
||||||
|
|
||||||
|
Section 3.4, Configuration Management, add a row to Table 3.1.
|
||||||
|
|
||||||
|
Attribute Type Notes
|
||||||
|
---------------------- ------- --------------------------
|
||||||
|
EGL_RECORDABLE_ANDROID boolean whether video recording is
|
||||||
|
supported
|
||||||
|
|
||||||
|
Section 3.4, Configuration Management, add a row to Table 3.4.
|
||||||
|
|
||||||
|
Attribute Default Selection Sort Sort
|
||||||
|
Criteria Order Priority
|
||||||
|
---------------------- ------------- --------- ----- --------
|
||||||
|
EGL_RECORDABLE_ANDROID EGL_DONT_CARE Exact None
|
||||||
|
|
||||||
|
Section 3.4, Configuration Management, add a paragraph at the end of the
|
||||||
|
subsection titled Other EGLConfig Attribute Descriptions.
|
||||||
|
|
||||||
|
EGL_RECORDABLE_ANDROID is a boolean indicating whether the config may
|
||||||
|
be used to create an EGLSurface from an ANativeWindow that is a video
|
||||||
|
recorder as indicated by the NATIVE_WINDOW_IS_VIDEO_RECORDER query on
|
||||||
|
the ANativeWindow.
|
||||||
|
|
||||||
|
Section 3.4.1, Querying Configurations, change the last paragraph as follow
|
||||||
|
|
||||||
|
EGLConfigs are not sorted with respect to the parameters
|
||||||
|
EGL_BIND_TO_TEXTURE_RGB, EGL_BIND_TO_TEXTURE_RGBA, EGL_CONFORMANT,
|
||||||
|
EGL_LEVEL, EGL_NATIVE_RENDERABLE, EGL_MAX_SWAP_INTERVAL,
|
||||||
|
EGL_MIN_SWAP_INTERVAL, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE,
|
||||||
|
EGL_TRANSPARENT_TYPE, EGL_TRANSPARENT_RED_VALUE,
|
||||||
|
EGL_TRANSPARENT_GREEN_VALUE, EGL_TRANSPARENT_BLUE_VALUE, and
|
||||||
|
EGL_RECORDABLE_ANDROID.
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
1. Should this functionality be exposed as a new attribute or as a bit in
|
||||||
|
the EGL_SURFACE_TYPE bitfield?
|
||||||
|
|
||||||
|
RESOLVED: It should be a new attribute. It does not make sense to use up a
|
||||||
|
bit in the limit-size bitfield for a platform-specific extension.
|
||||||
|
|
||||||
|
2. How should the new attribute affect the sorting of EGLConfigs?
|
||||||
|
|
||||||
|
RESOLVED: It should not affect sorting. Some implementations may not have
|
||||||
|
any drawback associated with using a recordable EGLConfig. Such
|
||||||
|
implementations should not have to double-up some of their configs to one sort earlier than .
|
||||||
|
Implementations that do have drawbacks can use the existing caveat
|
||||||
|
mechanism to report this drawback to the client.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
#1 (Jamie Gennis, July 8, 2011)
|
||||||
|
- Initial draft.
|
|
@ -0,0 +1,12 @@
|
||||||
|
This directory contains OpenGL ES and EGL extension specifications that have
|
||||||
|
been or are being defined for Android.
|
||||||
|
|
||||||
|
The table below tracks usage of EGL enumerant values that have been reserved
|
||||||
|
for use by Android extensions.
|
||||||
|
|
||||||
|
Value Extension
|
||||||
|
---------------- ----------------------------------
|
||||||
|
0x3140 EGL_ANDROID_image_native_buffer
|
||||||
|
0x3141 (unused)
|
||||||
|
0x3142 EGL_ANDROID_recordable
|
||||||
|
0x3143 - 0x314F (unused)
|
Loading…
Reference in New Issue