diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt')
-rw-r--r-- | glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt b/glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt new file mode 100644 index 0000000..35841dc --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt @@ -0,0 +1,156 @@ +Name + + IMG_image_plane_attribs + +Name Strings + + EGL_IMG_image_plane_attribs + +Contributors + + Ben Bowman + Alistair Strachan + +Contacts + + Tobias Hector, Imagination Technologies (tobias 'dot' hector 'at' + imgtec 'dot' com) + +Status + + Complete + +Version + + Version 0.4, October 18, 2015 + +Number + + EGL Extension #95 + +Dependencies + + EGL_KHR_image_base is required. + + One of EGL_KHR_image, EGL_KHR_image_pixmap or + EGL_ANDROID_image_native_buffer is required. + + This extension is written against the wording of the EGL 1.2 + Specification as modified by EGL_KHR_image_base, + EGL_ANDROID_image_native_buffer and EGL_KHR_image_pixmap. + This extension interacts with GL_OES_EGL_image and GL_EXT_texture_rg. + +Overview + + This extension allows creating an EGLImage from a single plane of a + multi-planar Android native image buffer (ANativeWindowBuffer) or + a native pixmap (EGLNativePixmap). + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + Accepted by the <attrib_list> parameter of eglCreateImageKHR: + + EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105 + EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106 + +Additions to Chapter 2 of the EGL 1.2 Specification (EGL Operation) + + Add to section 2.5.1 "EGLImage Specification" (as defined by the + EGL_KHR_image_base specification), in the description of + eglCreateImageKHR: + + Add the following to Table bbb (Legal attributes for eglCreateImageKHR + <attr_list> parameter), Section 2.5.1 (EGLImage Specification) + + +-----------------------------+-------------------------+---------------------------+---------------+ + | Attribute | Description | Valid <target>s | Default Value | + +-----------------------------+-------------------------+---------------------------+---------------+ + | EGL_NATIVE_BUFFER_MULTI | Whether a multiplane | EGL_NATIVE_BUFFER_ANDROID | EGL_FALSE | + | PLANE_SEPARATE_IMG | native buffer should be | EGL_NATIVE_PIXMAP_KHR | | + | | treated as separate | | | + | | buffers | | | + | | | | | + | EGL_NATIVE_BUFFER_ | Which plane of a multi- | EGL_NATIVE_BUFFER_ANDROID | 0 | + | PLANE_OFFSET_IMG | plane native buffer is | EGL_NATIVE_PIXMAP_KHR | | + | | used as the EGLImage | | | + | | source | | | + +-----------------------------+-------------------------+---------------------------+---------------+ + Table bbb. Legal attributes for eglCreateImageKHR <attrib_list> parameter + + ... + + If <target> is EGL_NATIVE_BUFFER_ANDROID or EGL_NATIVE_PIXMAP_KHR, and + <buffer> is a handle to a valid multi-planar surface, such as a YUV420 2 or + 3 planar video surface, an EGLImage will be created from only one of the + planes, as opposed to a single image representing all of the planes as is + normally the case. The intention of this extension is that a call to + glEGLImageTargetTexture2DOES or EGLImageTargetRenderbufferStorageOES with an + EGLImage created from a single plane of a multiplanar buffer will result in + a GL_RED or GL_RG texture or renderbuffer, depending on the format of the + multiplanar buffer. This allows an application to work directly in the YUV + colorspace, rather than forcing a conversion to the linear RGB colorspace, + potentially losing precision. + + The size of each image will represent the actual size of the data buffer + for that plane which may mean that the size of an EGLImage created from + plane 0 of a multi-planar buffer may not be the same as that of one + created from plane 1, which is determined by the YUV's sampling ratio (e.g. + a 420 will have planes 1 and 2, if present, represented by an image of half + the width). + + Add to the list of error conditions for eglCreateImageKHR: + + "* If EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG is EGL_TRUE, and <target> + is not EGL_NATIVE_BUFFER_ANDROID or EGL_NATIVE_PIXMAP_KHR, the error + EGL_BAD_PARAMETER is generated. + + * If EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG is EGL_TRUE, and + EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG is greater than or equal to the + number of planes in <buffer>, the error EGL_BAD_MATCH is generated. + + * If EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG is EGL_FALSE, and + EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG is greater than 0, the error + EGL_BAD_PARAMETER is generated. + + * If EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG is EGL_TRUE, and the + format of <buffer> is not supported by the implementation, + EGL_BAD_PARAMETER is generated." + +Dependencies on EGL_KHR_image_pixmap or EGL_KHR_image + + If neither of these extensions are supported, remove all references to + native pixmaps and EGL_NATIVE_PIXMAP_KHR. + +Dependencies on EGL_ANDROID_image_native_buffer + + If this extension is not supported, remove all references to + ANativeWindowBuffer and EGL_NATIVE_BUFFER_ANDROID. + +Issues + + None + +Revision History + +#0.4 (Tobias Hector, October, 2015) + - Add interactions with EGL_KHR_image_pixmap/EGL_KHR_image + - Added error language for unsupported formats +#0.3 (Jon Leech, June 13, 2013) + - Add a "Valid Targets" column to table bbb for new attributes, matching + proposed changes in EGL_KHR_image_base (Bug 10151). Note that this + change implies a new error will be generated when <target> is not + EGL_NATIVE_BUFFER_ANDROID and EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG is + specified in <attrib_list>; this falls out from the generic + target-attribute matching error added to EGL_KHR_image_base. +#0.2 (Ben Bowman, May 30, 2012) + - Fixed some typos +#0.1 (Ben Bowman, May 30, 2012) + - First draft of extension . |