EGL_ANDROID_image_native_buffer.txt revision 721192ed0d0a87385095d4d153d78b5adef06b0a
1Name
2
3    ANDROID_image_native_buffer
4
5Name Strings
6
7    EGL_ANDROID_image_native_buffer
8
9Contributors
10
11    Jamie Gennis
12    Jesse Hall
13
14Contact
15
16    Jesse Hall, Google Inc. (jessehall 'at' google.com)
17
18Status
19
20    Draft.
21
22Version
23
24    Version 1, November 28, 2012
25
26Number
27
28    EGL Extension #XXX
29
30Dependencies
31
32    EGL 1.2 is required.
33
34    EGL_KHR_image_base is required.
35
36    This extension is written against the wording of the EGL 1.2
37    Specification.
38
39Overview
40
41    This extension enables using an Android window buffer (struct
42    ANativeWindowBuffer) as an EGLImage source.
43
44New Types
45
46    None.
47
48New Procedures and Functions
49
50    None.
51
52New Tokens
53
54    Accepted by the <target> parameter of eglCreateImageKHR:
55
56    EGL_NATIVE_BUFFER_ANDROID              0x3140
57
58Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
59
60    Add to section 2.5.1 "EGLImage Specification" (as defined by the
61    EGL_KHR_image_base specification), in the description of
62    eglCreateImageKHR:
63
64   "Values accepted for <target> are listed in Table aaa, below.
65
66      +----------------------------+-----------------------------------------+
67      |  <target>                  |  Notes                                  |
68      +----------------------------+-----------------------------------------+
69      |  EGL_NATIVE_BUFFER_ANDROID |  Used for ANativeWindowBuffer objects   |
70      +----------------------------+-----------------------------------------+
71       Table aaa.  Legal values for eglCreateImageKHR <target> parameter
72
73    ...
74
75    If <target> is EGL_NATIVE_BUFFER_ANDROID, <dpy> must be a valid display,
76    <ctx> must be EGL_NO_CONTEXT, <buffer> must be a pointer to a valid
77    ANativeWindowBuffer object (cast into the type EGLClientBuffer), and
78    attributes other than EGL_IMAGE_PRESERVED_KHR are ignored."
79
80    Add to the list of error conditions for eglCreateImageKHR:
81
82      "* If <target> is EGL_NATIVE_BUFFER_ANDROID and <buffer> is not a
83         pointer to a valid ANativeWindowBuffer, the error EGL_BAD_PARAMETER
84         is generated.
85
86       * If <target> is EGL_NATIVE_BUFFER_ANDROID and <ctx> is not
87         EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated.
88
89       * If <target> is EGL_NATIVE_BUFFER_ANDROID and <buffer> was created
90         with properties (format, usage, dimensions, etc.) not supported by
91         the EGL implementation, the error EGL_BAD_PARAMETER is generated."
92
93Issues
94
95    1. Should this extension define what combinations of ANativeWindowBuffer
96    properties implementations are required to support?
97
98    RESOLVED: No.
99
100    The requirements have evolved over time and will continue to change with
101    future Android releases. The minimum requirements for a given Android
102    version should be documented by that version.
103
104Revision History
105
106#1 (Jesse Hall, November 28, 2012)
107    - Initial draft.
108