diff options
Diffstat (limited to 'opengl/specs')
-rw-r--r-- | opengl/specs/EGL_ANDROID_blob_cache.txt | 13 | ||||
-rw-r--r-- | opengl/specs/EGL_ANDROID_framebuffer_target.txt | 4 | ||||
-rw-r--r-- | opengl/specs/EGL_ANDROID_image_native_buffer.txt | 108 | ||||
-rw-r--r-- | opengl/specs/EGL_ANDROID_native_fence_sync.txt | 4 | ||||
-rw-r--r-- | opengl/specs/EGL_ANDROID_presentation_time.txt | 121 | ||||
-rw-r--r-- | opengl/specs/EGL_ANDROID_recordable.txt | 6 |
6 files changed, 244 insertions, 12 deletions
diff --git a/opengl/specs/EGL_ANDROID_blob_cache.txt b/opengl/specs/EGL_ANDROID_blob_cache.txt index 61f45d3..e984694 100644 --- a/opengl/specs/EGL_ANDROID_blob_cache.txt +++ b/opengl/specs/EGL_ANDROID_blob_cache.txt @@ -16,15 +16,15 @@ Contact Status - Draft. + Complete Version - Version 1, April 22, 2011 + Version 3, December 13, 2012 Number - EGL Extension #XXX + EGL Extension #48 Dependencies @@ -88,8 +88,8 @@ New Types New Procedures and Functions void eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, - EGLSetBlobFunc set, - EGLGetBlobFunc get); + EGLSetBlobFuncANDROID set, + EGLGetBlobFuncANDROID get); New Tokens @@ -200,6 +200,9 @@ Issues Revision History +#3 (Jon Leech, December 13, 2012) + - Fix typo in New Functions section & assign extension #. + #2 (Jamie Gennis, April 25, 2011) - Swapped the order of the size and pointer arguments to the get and set functions. diff --git a/opengl/specs/EGL_ANDROID_framebuffer_target.txt b/opengl/specs/EGL_ANDROID_framebuffer_target.txt index 273414c..a15dfa8 100644 --- a/opengl/specs/EGL_ANDROID_framebuffer_target.txt +++ b/opengl/specs/EGL_ANDROID_framebuffer_target.txt @@ -16,7 +16,7 @@ Contact Status - Draft. + Complete Version @@ -24,7 +24,7 @@ Version Number - EGL Extension #XXX + EGL Extension #47 Dependencies diff --git a/opengl/specs/EGL_ANDROID_image_native_buffer.txt b/opengl/specs/EGL_ANDROID_image_native_buffer.txt new file mode 100644 index 0000000..7392d4f --- /dev/null +++ b/opengl/specs/EGL_ANDROID_image_native_buffer.txt @@ -0,0 +1,108 @@ +Name + + ANDROID_image_native_buffer + +Name Strings + + EGL_ANDROID_image_native_buffer + +Contributors + + Mathias Agopian + Jamie Gennis + Jesse Hall + +Contact + + Jesse Hall, Google Inc. (jessehall 'at' google.com) + +Status + + Complete + +Version + + Version 1, November 28, 2012 + +Number + + EGL Extension #49 + +Dependencies + + EGL 1.2 is required. + + EGL_KHR_image_base is required. + + This extension is written against the wording of the EGL 1.2 + Specification. + +Overview + + This extension enables using an Android window buffer (struct + ANativeWindowBuffer) as an EGLImage source. + +New Types + + None. + +New Procedures and Functions + + None. + +New Tokens + + Accepted by the <target> parameter of eglCreateImageKHR: + + EGL_NATIVE_BUFFER_ANDROID 0x3140 + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add to section 2.5.1 "EGLImage Specification" (as defined by the + EGL_KHR_image_base specification), in the description of + eglCreateImageKHR: + + "Values accepted for <target> are listed in Table aaa, below. + + +----------------------------+-----------------------------------------+ + | <target> | Notes | + +----------------------------+-----------------------------------------+ + | EGL_NATIVE_BUFFER_ANDROID | Used for ANativeWindowBuffer objects | + +----------------------------+-----------------------------------------+ + Table aaa. Legal values for eglCreateImageKHR <target> parameter + + ... + + If <target> is EGL_NATIVE_BUFFER_ANDROID, <dpy> must be a valid display, + <ctx> must be EGL_NO_CONTEXT, <buffer> must be a pointer to a valid + ANativeWindowBuffer object (cast into the type EGLClientBuffer), and + attributes other than EGL_IMAGE_PRESERVED_KHR are ignored." + + Add to the list of error conditions for eglCreateImageKHR: + + "* If <target> is EGL_NATIVE_BUFFER_ANDROID and <buffer> is not a + pointer to a valid ANativeWindowBuffer, the error EGL_BAD_PARAMETER + is generated. + + * If <target> is EGL_NATIVE_BUFFER_ANDROID and <ctx> is not + EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated. + + * If <target> is EGL_NATIVE_BUFFER_ANDROID and <buffer> was created + with properties (format, usage, dimensions, etc.) not supported by + the EGL implementation, the error EGL_BAD_PARAMETER is generated." + +Issues + + 1. Should this extension define what combinations of ANativeWindowBuffer + properties implementations are required to support? + + RESOLVED: No. + + The requirements have evolved over time and will continue to change with + future Android releases. The minimum requirements for a given Android + version should be documented by that version. + +Revision History + +#1 (Jesse Hall, November 28, 2012) + - Initial draft. diff --git a/opengl/specs/EGL_ANDROID_native_fence_sync.txt b/opengl/specs/EGL_ANDROID_native_fence_sync.txt index ee05b40..d72edd7 100644 --- a/opengl/specs/EGL_ANDROID_native_fence_sync.txt +++ b/opengl/specs/EGL_ANDROID_native_fence_sync.txt @@ -16,7 +16,7 @@ Contact Status - Draft. + Complete Version @@ -24,7 +24,7 @@ Version Number - EGL Extension #XXX + EGL Extension #50 Dependencies diff --git a/opengl/specs/EGL_ANDROID_presentation_time.txt b/opengl/specs/EGL_ANDROID_presentation_time.txt new file mode 100644 index 0000000..09b3938 --- /dev/null +++ b/opengl/specs/EGL_ANDROID_presentation_time.txt @@ -0,0 +1,121 @@ +Name + + ANDROID_presentation_time + +Name Strings + + EGL_ANDROID_presentation_time + +Contributors + + Jamie Gennis + Andy McFadden + +Contact + + Jamie Gennis, Google Inc. (jgennis 'at' google.com) + +Status + + Draft + +Version + + Version 2, April 1, 2013 + +Number + + EGL Extension #XXX + +Dependencies + + Requires EGL 1.1 + + This extension is written against the wording of the EGL 1.4 Specification + +Overview + + Often when rendering a sequence of images, there is some time at which each + image is intended to be presented to the viewer. This extension allows + this desired presentation time to be specified for each frame rendered to + an EGLSurface, allowing the native window system to use it. + +New Types + + /* + * EGLnsecsANDROID is a signed integer type for representing a time in + * nanoseconds. + */ + #include <khrplatform.h> + typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + + +New Procedures and Functions + + EGLboolean eglPresentationTimeANDROID( + EGLDisplay dpy, + EGLSurface sur, + EGLnsecsANDROID time); + +New Tokens + + None. + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add a new subsection before Section 3.9.4, page 53 (Posting Errors) + + "3.9.4 Presentation Time + + The function + + EGLboolean eglPresentationTimeANDROID(EGLDisplay dpy, EGLSurface + surface, EGLnsecsANDROID time); + + specifies the time at which the current color buffer of surface should be + presented to the viewer. The time parameter should be a time in + nanoseconds, but the exact meaning of the time depends on the native + window system's use of the presentation time. In situations where + an absolute time is needed such as displaying the color buffer on a + display device, the time should correspond to the system monotonic up-time + clock. For situations in which an absolute time is not needed such as + using the color buffer for video encoding, the presentation time of the + first frame may be arbitrarily chosen and those of subsequent frames + chosen relative to that of the first frame. + + The presentation time may be set multiple times, with each call to + eglPresentationTimeANDROID overriding prior calls. Setting the + presentation time alone does not cause the color buffer to be made + visible, but if the color buffer is subsequently posted to a native window + or copied to a native pixmap then the presentation time of the surface at + that time may be passed along for the native window system to use. + + If the surface presentation time is successfully set, EGL_TRUE is + returned. Otherwise EGL_FALSE is returned and an appropriate error is + set. + +Issues + + 1. How is the presentation time used? + + RESOLVED: The uses of the presentation time are intentionally not specified + in this extension. Some possible uses include Audio/Video synchronization, + video frame timestamps for video encoding, display latency metrics, and + display latency control. + + 2. How can the current value of the clock that should be used for the + presentation time when an absolute time is needed be queried on Android? + + RESOLVED: The current clock value can be queried from the Java + System.nanoTime() method, or from the native clock_gettime function by + passing CLOCK_MONOTONIC as the clock identifier. + +Revision History + +#1 (Jamie Gennis, April 1, 2013) + - Clarified how uses that either do or do not need an absolute time should + be handled. + - Specified the eglPresentationTimeANDROID return value. + +#1 (Jamie Gennis, January 8, 2013) + - Initial draft. diff --git a/opengl/specs/EGL_ANDROID_recordable.txt b/opengl/specs/EGL_ANDROID_recordable.txt index 8dbd26f..d21094e 100644 --- a/opengl/specs/EGL_ANDROID_recordable.txt +++ b/opengl/specs/EGL_ANDROID_recordable.txt @@ -16,15 +16,15 @@ Contact Status - Draft. + Complete Version - Version 1, July 8, 2011 + Version 2, July 15, 2011 Number - EGL Extension #XXX + EGL Extension #51 Dependencies |