• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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