OSDN Git Service

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