blob: 0d6a4c46fd662f28f704d0562f307abe97541e5f [file] [log] [blame]
Name
CHROMIUM_image
Name Strings
GL_CHROMIUM_image
Version
Last Modifed Date: May 13, 2015
Dependencies
OpenGL ES 2.0 is required.
EXT_texture_format_BGRA8888 affects the definition of this extension.
ARB_texture_rg affects the definition of this extension.
Overview
This extension defines a new resource type that is suitable for
sharing 2D arrays of image data between client APIs.
Issues
None
New Tokens
None
New Procedures and Functions
GLuint CreateImageCHROMIUM(ClientBuffer buffer,
GLsizei width,
GLsizei height,
GLenum internalformat)
Create an image from <buffer> with width equal to <width> and
height equal to <height> and format equal to <internalformat>.
Returns a unique identifier for the image that could be used in
subsequent operations.
INVALID_VALUE is generated if <width> or <height> is nonpositive.
INVALID_VALUE is generated if <internalformat> is not one of
RED, RGB, RGBA, BGRA_EXT, ATC_RGB_AMD, ATC_RGBA_INTERPOLATED_ALPHA_AMD,
COMPRESSED_RGB_S3TC_DXT1_EXT, COMPRESSED_RGBA_S3TC_DXT5_EXT or
ETC1_RGB8_OES.
void DestroyImageCHROMIUM(GLuint image_id)
Frees the image previously created by a call to CreateImageCHROMIUM.
INVALID_OPERATION is generated if <image_id> is not a valid image id.
void BindTexImage2DCHROMIUM(GLenum target, GLint image_id)
Binds the texture object currently bound to <target> to the image
<image_id> previously created by a call to CreateImageCHROMIUM.
INVALID_OPERATION is generated if no texture is bound to <target>.
INVALID_OPERATION is generated if <image_id> is not a valid image id.
void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
GLenum internalformat,
GLint image_id)
Behaves exactly like BindTexImage2DCHROMIUM, but forces the
texture to use the specified <internalformat> rather than the
default one. This function is provided solely as a workaround for
driver bugs on some platforms. BindTexImage2DCHROMIUM should be
used by almost all users.
void ReleaseTexImage2DCHROMIUM(GLenum target, GLint image_id)
Unbinds the texture object bound to <target> from the image
<image_id> previously created by a call to CreateImageCHROMIUM. If
the texture is not currently bound to the image, has no effect,
though may still generate errors.
INVALID_OPERATION is generated if no texture is bound to <target>.
INVALID_OPERATION is generated if <image_id> is not a valid image id.
Dependencies on EXT_texture_format_BGRA8888
If EXT_texture_format_BGRA8888 is not supported:
* delete any reference to the BGRA_EXT format.
Dependencies on ARB_texture_rg
If ARB_texture_rg is not supported:
* delete any reference to the RED format.
Dependencies on AMD_compressed_ATC_texture
If AMD_compressed_ATC_texture is not supported:
* delete any reference to the ATC_RGB_AMD and
ATC_RGBA_INTERPOLATED_ALPHA_AMD formats.
Dependencies on EXT_texture_compression_s3tc
If EXT_texture_compression_s3tc is not supported:
* delete any reference to the COMPRESSED_RGB_S3TC_DXT1_EXT and
COMPRESSED_RGBA_S3TC_DXT5_EXT formats.
Dependencies on OES_compressed_ETC1_RGB8_texture
If OES_compressed_ETC1_RGB8_texture is not supported:
* delete any reference to the ETC1_RGB8_OES format.
Errors
None.
New State
None.
Revision History
5/9/2013 Documented the extension
4/30/2014 Moved usage flag to creation function.
10/7/2014 Remove map/unmap API.
4/6/2015 Add BGRA_EXT format.
2/7/2015 Add R8 format.
5/13/2015 Add compressed formats.
11/5/2015 Change R8 format to RED.