| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 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.
 |