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