blob: 752ea98b93a575c38f416f96c850619571186d84 [file] [log] [blame]
Name
EXT_compressed_ETC1_RGB8_sub_texture
Name Strings
GL_EXT_compressed_ETC1_RGB8_sub_texture
Contact
Zeeshan Anwar (z.anwar 'at' samsung.com)
Contributors
Jan-Harald Fredriksen (jan-harald.fredriksen 'at' arm.com)
Mythri Venugopal (mythri.venugopal 'at' samsung.com)
Notice
None
IP Status
See Ericsson's "IP Statement"
Status
draft
Version
0.3
Number
OpenGL ES Extension #188
Dependencies
OpenGL ES 1.1 is required.
OES_compressed_ETC1_RGB8_texture is required.
This extension is written based on the wording of the OpenGL ES 1.1
and 3.0 specification and the OES_compressed_ETC1_RGB8_texture
extension.
This extension borrows concepts and function names from the
OES_compressed_ETC1_RGB8_texture.
Overview
The goal of this extension is to enable support for subimage
updates of textures using the Ericsson Texture Compression (ETC1)
format.The OES_compressed_ETC1_RGB8_texture specification does not
allow subimage updates using glCompressedTexSubImage2D, however,
since this compressed format is easily edited along 4 x 4 texel
boundaries, this restriction can be relaxed.
glCompressedTexSubImage2D can be used to update part of a compressed
texture atlas, e.g. fonts, to save bandwidth and improve efficiency.
Issues
None.
New Procedures and Functions
None
New Tokens
None
Interactions with OpenGL ES 3.0
Modify the paragraph 3 in p.146, If internalformat is one of the ...
"If internalformat is one of the ETC2/EAC formats described in
* table 3.19 or ETC1_RGB8_OES, the compressed image data is stored
* using one of the ETC2/EAC compressed texture image encodings
* (see appendix C) or the ETC1_RGB8_OES compressed texture image
* encoding. The ETC2/EAC and or ETC1_RGB8_OES texture compression
* algorithms supports only two-dimensional images. If internalformat
* is an ETC2/EAC format or ETC1_RGB8_OES, CompressedTexImage3D will
* generate an INVALID_OPERATION error if target is not
* TEXTURE_2D_ARRAY."
Modify penultimate paragraph, p.147, The contents of any 4 x 4 ...
"The contents of any 4 x 4 block of texels of an ETC2/EAC compressed
* texture image or ETC1_RGB8_OES compressed texture image that does
not intersect the area being modified are preserved during valid
CompressedTexSubImage* calls."
Errors
Modify Errors section of OES_compressed_ETC1_RGB8_texture:
* "INVALID_OPERATION is generated by TexSubImage2D and
CopyTexSubImage2D if the texture image <level> bound to <target>
has internal format ETC1_RGB8_OES."
Add a new section under 3.7.3 (in the ES1.1 spec):
+ "An INVALID_OPERATION error is generated [by CompressedTexSubImage2D]
+ if <format> is ETC1_RGB8_OES and any of the following conditions
+ occurs:
+ - <width> is not a multiple of four, and <width> plus <xoffset>
+ is not equal to the texture width;
+ - <height> is not a multiple of four, and <height> plus <yoffset>
+ is not equal to the texture height; or
+ - <xoffset> or <yoffset> is not a multiple of four.
Revision History
#1 (Zeeshan Anwar, May, 2014) - Initial draft.
#2 (Mythri Venugopal, June, 2014) - Modified Errors and added interactions
with OpenGL ES 3.0
#3 (Jan-Harald Fredriksen, June, 2014)- Expanded error section. Formatting.