| 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. |