EXT_compressed_ETC1_RGB8_sub_texture

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 bound to 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 is ETC1_RGB8_OES and any of the following conditions
  • occurs:
    • is not a multiple of four, and plus
  • is not equal to the texture width;
    • is not a multiple of four, and plus
  • is not equal to the texture height; or
    • or 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.