Clarify EGL_EXT_image_dma_buf_import / EXT_EGL_image_storage interactions
diff --git a/extensions/EXT/EXT_EGL_image_storage.txt b/extensions/EXT/EXT_EGL_image_storage.txt
index d8614ab..38fbb49 100644
@@ -17,6 +17,7 @@
Jesse Hall, Google
Jan-Harald Fredriksen, ARM
Daniel Koch, Nvidia
+ Gurchetan Singh, Google
@@ -24,7 +25,7 @@
- February 7, 2018 (version 7)
+ August 22, 2019 (version 8)
@@ -40,9 +41,10 @@
The EGL_KHR_gl_texture_2D_image, EGL_KHR_gl_texture_cubemap_image,
- EGL_KHR_vg_parent_image, and EGL_ANDROID_get_native_client_buffer
- extensions provide additional functionality layered on EGL_KHR_image_base
- and related to this extension.
+ EGL_KHR_vg_parent_image, EGL_ANDROID_get_native_client_buffer,
+ EGL_EXT_image_dma_buf_import and EGL_EXT_image_gl_colorspace extensions
+ provide additional functionality layered on EGL_KHR_image_base and
+ related to this extension.
EXT_direct_state_access, ARB_direct_state_access, and OpenGL 4.5 affect
the definition of this extension.
@@ -140,6 +142,18 @@
eglImageOES, or <target> is GL_TEXTURE_2D but <image> contains a cube map),
the error INVALID_OPERATION is generated.
+ If the EGL image was created using EGL_EXT_image_dma_buf_import, then the
+ following applies:
+ - <target> must be GL_TEXTURE_2D or GL_TEXTURE_EXTERNAL_OES. Otherwise,
+ the error INVALID_OPERATION is generated.
+ - if <target> is GL_TEXTURE_2D, then the resultant texture must have a
+ sized internal format which is colorspace and size compatible with the
+ dma-buf. If the GL is unable to determine such a format, the error
+ INVALID_OPERATION is generated.
+ - if <target> is GL_TEXTURE_EXTERNAL_OES, the internal format of the
+ texture is implementation defined.
If <attrib_list> is neither NULL nor a pointer to the value GL_NONE, the
error INVALID_VALUE is generated.
@@ -201,6 +215,8 @@
+ #8 (August 22, 2019) - Clarify interaction with EGL_EXT_image_dma_buf_import.
#7 (February 7, 2018) - Amend the explanation of the attrib_list parameter.
#6 (February 2, 2018) - Add attrib_list parameter to both entry points.