Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / gpu / GLES2 / extensions / CHROMIUM / CHROMIUM_image.txt
blob7118391a94d94985e654d0630b35b9eb776d408f
1 Name
3     CHROMIUM_image
5 Name Strings
7     GL_CHROMIUM_image
9 Version
11     Last Modifed Date: May 13, 2015
13 Dependencies
15     OpenGL ES 2.0 is required.
17     EXT_texture_format_BGRA8888 affects the definition of this extension.
18     ARB_texture_rg affects the definition of this extension.
20 Overview
22     This extension defines a new resource type that is suitable for
23     sharing 2D arrays of image data between client APIs.
25 Issues
27     None
29 New Tokens
31     None
33 New Procedures and Functions
35     GLuint CreateImageCHROMIUM(ClientBuffer buffer,
36                                GLsizei width,
37                                GLsizei height,
38                                GLenum internalformat)
40     Create an image from <buffer> with width equal to <width> and
41     height equal to <height> and format equal to <internalformat>.
43     Returns a unique identifier for the image that could be used in
44     subsequent operations.
46     INVALID_VALUE is generated if <width> or <height> is nonpositive.
48     INVALID_VALUE is generated if <internalformat> is not one of
49     R8, RGB, RGBA, BGRA_EXT, ATC_RGB_AMD, ATC_RGBA_INTERPOLATED_ALPHA_AMD,
50     COMPRESSED_RGB_S3TC_DXT1_EXT, COMPRESSED_RGBA_S3TC_DXT5_EXT or
51     ETC1_RGB8_OES.
53     void DestroyImageCHROMIUM(GLuint image_id)
55     Frees the image previously created by a call to CreateImageCHROMIUM.
57     INVALID_OPERATION is generated if <image_id> is not a valid image id.
59 Dependencies on EXT_texture_format_BGRA8888
61     If EXT_texture_format_BGRA8888 is not supported:
62      * delete any reference to the BGRA_EXT format.
64 Dependencies on ARB_texture_rg
66     If ARB_texture_rg is not supported:
67      * delete any reference to the R8 format.
69 Dependencies on AMD_compressed_ATC_texture
71     If AMD_compressed_ATC_texture is not supported:
72      * delete any reference to the ATC_RGB_AMD and
73        ATC_RGBA_INTERPOLATED_ALPHA_AMD formats.
75 Dependencies on EXT_texture_compression_s3tc
77     If EXT_texture_compression_s3tc is not supported:
78      * delete any reference to the COMPRESSED_RGB_S3TC_DXT1_EXT and
79        COMPRESSED_RGBA_S3TC_DXT5_EXT formats.
81 Dependencies on OES_compressed_ETC1_RGB8_texture
83     If OES_compressed_ETC1_RGB8_texture is not supported:
84      * delete any reference to the ETC1_RGB8_OES format.
86 Errors
88     None.
90 New State
92     None.
94 Revision History
96     5/9/2013    Documented the extension
97     4/30/2014   Moved usage flag to creation function.
98     10/7/2014   Remove map/unmap API.
99     4/6/2015    Add BGRA_EXT format.
100     2/7/2015    Add R8 format.
101     5/13/2015   Add compressed formats.