1Name 2 3 KHR_image 4 5Name Strings 6 7 EGL_KHR_image 8 9Contributors 10 11 Jeff Juliano 12 Gary King 13 Jon Leech 14 Jonathan Grant 15 Barthold Lichtenbelt 16 Aaftab Munshi 17 Acorn Pooley 18 Chris Wynn 19 20Contacts 21 22 Jon Leech (jon 'at' alumni.caltech.edu) 23 Gary King, NVIDIA Corporation (gking 'at' nvidia.com) 24 25Notice 26 27 Copyright (c) 2006-2013 The Khronos Group Inc. Copyright terms at 28 http://www.khronos.org/registry/speccopyright.html 29 30Status 31 32 Complete. 33 Approved by the Khronos Board of Promoters on February 11, 2008. 34 35 Rewritten in terms of split functionality in KHR_image_base and 36 KHR_image_pixmap, approved by the Khronos Technical Working Group 37 on November 19, 2008. 38 39Version 40 41 Version 11, November 12, 2008 42 43Number 44 45 EGL Extension #3 46 47Dependencies 48 49 EGL 1.2 is required. 50 51 An EGL client API, such as OpenGL ES or OpenVG, is required. 52 53 The specifications of EGL_KHR_image_base and EGL_KHR_image_pixmap are 54 required to determine the specification of this extension, although 55 those extentions may not be supported. 56 57 This extension is written against the wording of the EGL 1.2 58 Specification. 59 60Overview 61 62 This extension defines a new EGL resource type that is suitable for 63 sharing 2D arrays of image data between client APIs, the EGLImage, 64 and allows creating EGLImages from EGL native pixmaps. 65 66New Types 67 68 As defined by EGL_KHR_image_base. 69 70New Procedures and Functions 71 72 As defined by EGL_KHR_image_base. 73 74New Tokens 75 76 As defined by EGL_KHR_image_base and EGL_KHR_image_pixmap, with the 77 exception that EGL_IMAGE_PRESERVED_KHR is not defined by this 78 extension. 79 80Additions to Chapter 2 of the EGL 1.2 Specification (EGL Operation) 81 82 EGL_KHR_image is equivalent to the combination of the functionality 83 defined by EGL_KHR_image_base and EGL_KHR_image_pixmap, with the 84 exception that if EGL_KHR_image is supported and EGL_KHR_image_base 85 is not, the attribute EGL_IMAGE_PRESERVED_KHR is not accepted in 86 <attrib_list>, However, the default value of this attribute is still 87 EGL_FALSE. In this situation, image preservation is always disabled. 88 89Issues 90 91 None (but see the issues lists for EGL_KHR_image_base and 92 EGL_KHR_image_pixmap). 93 94Revision History 95 96#11 (Jon Leech, November 12, 2008) 97 - Clarified image preservation behavior when using this extension. 98#10 (Jon Leech, October 22, 2008) 99 - Update description of interactions with EGL_KHR_image_base now 100 that the default value of EGL_IMAGE_PRESERVED_KHR is always FALSE. 101#9 (Jon Leech, October 21, 2008) 102 - Split functionality into new extensions EGL_KHR_image_base and 103 EGL_KHR_image_pixmap, and defined legacy non-preserved image behavior 104 when this extension is supported. 105#8 (Jon Leech, October 8, 2008) 106 - Updated status (approved as part of OpenKODE 1.0) 107#7 (Jon Leech, November 20, 2007) 108 - Corrected 'enum' to 'EGLenum' in prototypes. 109#6 (Jon Leech, April 5, 2007) 110 - Assigned enumerant values 111 - Added OpenKODE 1.0 Provisional disclaimer 112#5 (Jon Leech, February 26, 2007) 113 - Add eglCreateImageKHR error if native pixmaps are not supported by 114 EGL. 115#4 (December 14, 2006) 116 - Replaced EGL_OUT_OF_MEMORY error with EGL_BAD_ALLOC 117 - add "egl" and "EGL" to names to be consistant with spec 118 - formatting to keep within 80 columns 119 - Changed requirement to egl 1.2 to include EGLClientBuffer type. 120 - clarified some unclear error cases 121 - added some new error cases related to <dpy> and <ctx> 122 - add <dpy> param to eglCreateImageKHR and eglDestroyImageKHR 123#3 (November 27, 2006) 124 - Converted OES token to KHR token 125#2 (October 20, 2006) 126 - Split out API-specific image source types (VG, GL, etc.) into 127 individual extensions. 128 - Merged CreateImage2DOES and CreateImage3DOES functions into 129 a single CreateImageOES function with an attribute-value list. 130 - Removed the minimum requirements section (2.5.3), since this 131 doesn't make sense without the client-API specific extensions. 132 The minimum requirements should be migrated to the client-API 133 specific extension specifications. 134 - Added EGL_NO_IMAGE_OES default object, used as return value for 135 CreateImage*OES functions in the event of error conditions. 136 - Reworded issue 5, to clarify that the buffer sub-object (i.e., 137 the unique resource specified by <ctx>, <target>, <buffer>, 138 and <attrib_list>) specified in CreateImage may not already be 139 an EGLImage sibling (either EGLImage source or EGLImage target). 140#1 Original release 141