102f4aeb0Sopenharmony_ciName
202f4aeb0Sopenharmony_ci
302f4aeb0Sopenharmony_ci    KHR_image
402f4aeb0Sopenharmony_ci
502f4aeb0Sopenharmony_ciName Strings
602f4aeb0Sopenharmony_ci
702f4aeb0Sopenharmony_ci    EGL_KHR_image
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ciContributors
1002f4aeb0Sopenharmony_ci
1102f4aeb0Sopenharmony_ci    Jeff Juliano
1202f4aeb0Sopenharmony_ci    Gary King
1302f4aeb0Sopenharmony_ci    Jon Leech
1402f4aeb0Sopenharmony_ci    Jonathan Grant
1502f4aeb0Sopenharmony_ci    Barthold Lichtenbelt
1602f4aeb0Sopenharmony_ci    Aaftab Munshi
1702f4aeb0Sopenharmony_ci    Acorn Pooley
1802f4aeb0Sopenharmony_ci    Chris Wynn
1902f4aeb0Sopenharmony_ci
2002f4aeb0Sopenharmony_ciContacts
2102f4aeb0Sopenharmony_ci
2202f4aeb0Sopenharmony_ci    Jon Leech (jon 'at' alumni.caltech.edu)
2302f4aeb0Sopenharmony_ci    Gary King, NVIDIA Corporation (gking 'at' nvidia.com)
2402f4aeb0Sopenharmony_ci
2502f4aeb0Sopenharmony_ciNotice
2602f4aeb0Sopenharmony_ci
2702f4aeb0Sopenharmony_ci    Copyright (c) 2006-2013 The Khronos Group Inc. Copyright terms at
2802f4aeb0Sopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
2902f4aeb0Sopenharmony_ci
3002f4aeb0Sopenharmony_ciStatus
3102f4aeb0Sopenharmony_ci
3202f4aeb0Sopenharmony_ci    Complete.
3302f4aeb0Sopenharmony_ci    Approved by the Khronos Board of Promoters on February 11, 2008.
3402f4aeb0Sopenharmony_ci
3502f4aeb0Sopenharmony_ci    Rewritten in terms of split functionality in KHR_image_base and
3602f4aeb0Sopenharmony_ci    KHR_image_pixmap, approved by the Khronos Technical Working Group
3702f4aeb0Sopenharmony_ci    on November 19, 2008.
3802f4aeb0Sopenharmony_ci
3902f4aeb0Sopenharmony_ciVersion
4002f4aeb0Sopenharmony_ci
4102f4aeb0Sopenharmony_ci    Version 11, November 12, 2008
4202f4aeb0Sopenharmony_ci
4302f4aeb0Sopenharmony_ciNumber
4402f4aeb0Sopenharmony_ci
4502f4aeb0Sopenharmony_ci    EGL Extension #3
4602f4aeb0Sopenharmony_ci
4702f4aeb0Sopenharmony_ciDependencies
4802f4aeb0Sopenharmony_ci
4902f4aeb0Sopenharmony_ci    EGL 1.2 is required.
5002f4aeb0Sopenharmony_ci
5102f4aeb0Sopenharmony_ci    An EGL client API, such as OpenGL ES or OpenVG, is required.
5202f4aeb0Sopenharmony_ci
5302f4aeb0Sopenharmony_ci    The specifications of EGL_KHR_image_base and EGL_KHR_image_pixmap are
5402f4aeb0Sopenharmony_ci    required to determine the specification of this extension, although
5502f4aeb0Sopenharmony_ci    those extentions may not be supported.
5602f4aeb0Sopenharmony_ci
5702f4aeb0Sopenharmony_ci    This extension is written against the wording of the EGL 1.2
5802f4aeb0Sopenharmony_ci    Specification.
5902f4aeb0Sopenharmony_ci
6002f4aeb0Sopenharmony_ciOverview
6102f4aeb0Sopenharmony_ci
6202f4aeb0Sopenharmony_ci    This extension defines a new EGL resource type that is suitable for
6302f4aeb0Sopenharmony_ci    sharing 2D arrays of image data between client APIs, the EGLImage,
6402f4aeb0Sopenharmony_ci    and allows creating EGLImages from EGL native pixmaps.
6502f4aeb0Sopenharmony_ci
6602f4aeb0Sopenharmony_ciNew Types
6702f4aeb0Sopenharmony_ci
6802f4aeb0Sopenharmony_ci    As defined by EGL_KHR_image_base.
6902f4aeb0Sopenharmony_ci
7002f4aeb0Sopenharmony_ciNew Procedures and Functions
7102f4aeb0Sopenharmony_ci
7202f4aeb0Sopenharmony_ci    As defined by EGL_KHR_image_base.
7302f4aeb0Sopenharmony_ci
7402f4aeb0Sopenharmony_ciNew Tokens
7502f4aeb0Sopenharmony_ci
7602f4aeb0Sopenharmony_ci    As defined by EGL_KHR_image_base and EGL_KHR_image_pixmap, with the
7702f4aeb0Sopenharmony_ci    exception that EGL_IMAGE_PRESERVED_KHR is not defined by this
7802f4aeb0Sopenharmony_ci    extension.
7902f4aeb0Sopenharmony_ci
8002f4aeb0Sopenharmony_ciAdditions to Chapter 2 of the EGL 1.2 Specification (EGL Operation)
8102f4aeb0Sopenharmony_ci
8202f4aeb0Sopenharmony_ci    EGL_KHR_image is equivalent to the combination of the functionality
8302f4aeb0Sopenharmony_ci    defined by EGL_KHR_image_base and EGL_KHR_image_pixmap, with the
8402f4aeb0Sopenharmony_ci    exception that if EGL_KHR_image is supported and EGL_KHR_image_base
8502f4aeb0Sopenharmony_ci    is not, the attribute EGL_IMAGE_PRESERVED_KHR is not accepted in
8602f4aeb0Sopenharmony_ci    <attrib_list>, However, the default value of this attribute is still
8702f4aeb0Sopenharmony_ci    EGL_FALSE. In this situation, image preservation is always disabled.
8802f4aeb0Sopenharmony_ci
8902f4aeb0Sopenharmony_ciIssues
9002f4aeb0Sopenharmony_ci
9102f4aeb0Sopenharmony_ci    None (but see the issues lists for EGL_KHR_image_base and
9202f4aeb0Sopenharmony_ci    EGL_KHR_image_pixmap).
9302f4aeb0Sopenharmony_ci
9402f4aeb0Sopenharmony_ciRevision History
9502f4aeb0Sopenharmony_ci
9602f4aeb0Sopenharmony_ci#11 (Jon Leech, November 12, 2008)
9702f4aeb0Sopenharmony_ci    - Clarified image preservation behavior when using this extension.
9802f4aeb0Sopenharmony_ci#10 (Jon Leech, October 22, 2008)
9902f4aeb0Sopenharmony_ci    - Update description of interactions with EGL_KHR_image_base now
10002f4aeb0Sopenharmony_ci      that the default value of EGL_IMAGE_PRESERVED_KHR is always FALSE.
10102f4aeb0Sopenharmony_ci#9  (Jon Leech, October 21, 2008)
10202f4aeb0Sopenharmony_ci    - Split functionality into new extensions EGL_KHR_image_base and
10302f4aeb0Sopenharmony_ci      EGL_KHR_image_pixmap, and defined legacy non-preserved image behavior
10402f4aeb0Sopenharmony_ci      when this extension is supported.
10502f4aeb0Sopenharmony_ci#8  (Jon Leech, October 8, 2008)
10602f4aeb0Sopenharmony_ci    - Updated status (approved as part of OpenKODE 1.0)
10702f4aeb0Sopenharmony_ci#7  (Jon Leech, November 20, 2007)
10802f4aeb0Sopenharmony_ci    - Corrected 'enum' to 'EGLenum' in prototypes.
10902f4aeb0Sopenharmony_ci#6  (Jon Leech, April 5, 2007)
11002f4aeb0Sopenharmony_ci    - Assigned enumerant values
11102f4aeb0Sopenharmony_ci    - Added OpenKODE 1.0 Provisional disclaimer
11202f4aeb0Sopenharmony_ci#5  (Jon Leech, February 26, 2007)
11302f4aeb0Sopenharmony_ci    - Add eglCreateImageKHR error if native pixmaps are not supported by
11402f4aeb0Sopenharmony_ci      EGL.
11502f4aeb0Sopenharmony_ci#4  (December 14, 2006)
11602f4aeb0Sopenharmony_ci    - Replaced EGL_OUT_OF_MEMORY error with EGL_BAD_ALLOC
11702f4aeb0Sopenharmony_ci    - add "egl" and "EGL" to names to be consistant with spec
11802f4aeb0Sopenharmony_ci    - formatting to keep within 80 columns
11902f4aeb0Sopenharmony_ci    - Changed requirement to egl 1.2 to include EGLClientBuffer type.
12002f4aeb0Sopenharmony_ci    - clarified some unclear error cases
12102f4aeb0Sopenharmony_ci    - added some new error cases related to <dpy> and <ctx>
12202f4aeb0Sopenharmony_ci    - add <dpy> param to eglCreateImageKHR and eglDestroyImageKHR
12302f4aeb0Sopenharmony_ci#3  (November 27, 2006)
12402f4aeb0Sopenharmony_ci    - Converted OES token to KHR token
12502f4aeb0Sopenharmony_ci#2  (October 20, 2006)
12602f4aeb0Sopenharmony_ci    - Split out API-specific image source types (VG, GL, etc.) into
12702f4aeb0Sopenharmony_ci      individual extensions.
12802f4aeb0Sopenharmony_ci    - Merged CreateImage2DOES and CreateImage3DOES functions into
12902f4aeb0Sopenharmony_ci      a single CreateImageOES function with an attribute-value list.
13002f4aeb0Sopenharmony_ci    - Removed the minimum requirements section (2.5.3), since this
13102f4aeb0Sopenharmony_ci      doesn't make sense without the client-API specific extensions.
13202f4aeb0Sopenharmony_ci      The minimum requirements should be migrated to the client-API
13302f4aeb0Sopenharmony_ci      specific extension specifications.
13402f4aeb0Sopenharmony_ci    - Added EGL_NO_IMAGE_OES default object, used as return value for
13502f4aeb0Sopenharmony_ci      CreateImage*OES functions in the event of error conditions.
13602f4aeb0Sopenharmony_ci    - Reworded issue 5, to clarify that the buffer sub-object (i.e.,
13702f4aeb0Sopenharmony_ci      the unique resource specified by <ctx>, <target>, <buffer>,
13802f4aeb0Sopenharmony_ci      and <attrib_list>) specified in CreateImage may not already be
13902f4aeb0Sopenharmony_ci      an EGLImage sibling (either EGLImage source or EGLImage target).
14002f4aeb0Sopenharmony_ci#1  Original release
141