1Name 2 3 EXT_compressed_ETC1_RGB8_sub_texture 4 5Name Strings 6 7 GL_EXT_compressed_ETC1_RGB8_sub_texture 8 9Contact 10 11 Zeeshan Anwar (z.anwar 'at' samsung.com) 12 13Contributors 14 15 Jan-Harald Fredriksen (jan-harald.fredriksen 'at' arm.com) 16 Mythri Venugopal (mythri.venugopal 'at' samsung.com) 17 18Notice 19 20 None 21 22IP Status 23 24 See Ericsson's "IP Statement" 25 26Status 27 28 draft 29 30Version 31 32 0.3 33 34Number 35 36 OpenGL ES Extension #188 37 38Dependencies 39 40 OpenGL ES 1.1 is required. 41 42 OES_compressed_ETC1_RGB8_texture is required. 43 44 This extension is written based on the wording of the OpenGL ES 1.1 45 and 3.0 specification and the OES_compressed_ETC1_RGB8_texture 46 extension. 47 48 This extension borrows concepts and function names from the 49 OES_compressed_ETC1_RGB8_texture. 50 51Overview 52 53 The goal of this extension is to enable support for subimage 54 updates of textures using the Ericsson Texture Compression (ETC1) 55 format.The OES_compressed_ETC1_RGB8_texture specification does not 56 allow subimage updates using glCompressedTexSubImage2D, however, 57 since this compressed format is easily edited along 4 x 4 texel 58 boundaries, this restriction can be relaxed. 59 60 glCompressedTexSubImage2D can be used to update part of a compressed 61 texture atlas, e.g. fonts, to save bandwidth and improve efficiency. 62 63Issues 64 65 None. 66 67New Procedures and Functions 68 69 None 70 71New Tokens 72 73 None 74 75Interactions with OpenGL ES 3.0 76 77 Modify the paragraph 3 in p.146, If internalformat is one of the ... 78 79 "If internalformat is one of the ETC2/EAC formats described in 80* table 3.19 or ETC1_RGB8_OES, the compressed image data is stored 81* using one of the ETC2/EAC compressed texture image encodings 82* (see appendix C) or the ETC1_RGB8_OES compressed texture image 83* encoding. The ETC2/EAC and or ETC1_RGB8_OES texture compression 84* algorithms supports only two-dimensional images. If internalformat 85* is an ETC2/EAC format or ETC1_RGB8_OES, CompressedTexImage3D will 86* generate an INVALID_OPERATION error if target is not 87* TEXTURE_2D_ARRAY." 88 89 Modify penultimate paragraph, p.147, The contents of any 4 x 4 ... 90 91 "The contents of any 4 x 4 block of texels of an ETC2/EAC compressed 92* texture image or ETC1_RGB8_OES compressed texture image that does 93 not intersect the area being modified are preserved during valid 94 CompressedTexSubImage* calls." 95 96Errors 97 98 Modify Errors section of OES_compressed_ETC1_RGB8_texture: 99 100* "INVALID_OPERATION is generated by TexSubImage2D and 101 CopyTexSubImage2D if the texture image <level> bound to <target> 102 has internal format ETC1_RGB8_OES." 103 104 Add a new section under 3.7.3 (in the ES1.1 spec): 105 106+ "An INVALID_OPERATION error is generated [by CompressedTexSubImage2D] 107+ if <format> is ETC1_RGB8_OES and any of the following conditions 108+ occurs: 109+ - <width> is not a multiple of four, and <width> plus <xoffset> 110+ is not equal to the texture width; 111+ - <height> is not a multiple of four, and <height> plus <yoffset> 112+ is not equal to the texture height; or 113+ - <xoffset> or <yoffset> is not a multiple of four. 114 115Revision History 116 117#1 (Zeeshan Anwar, May, 2014) - Initial draft. 118#2 (Mythri Venugopal, June, 2014) - Modified Errors and added interactions 119 with OpenGL ES 3.0 120#3 (Jan-Harald Fredriksen, June, 2014)- Expanded error section. Formatting. 121