• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3     EXT_texture_norm16
4
5Name Strings
6
7     GL_EXT_texture_norm16
8
9Contributors
10
11     Contributors to EXT_texture_snorm
12     Daniel Koch, NVIDIA
13     Jan-Harald Fredriksen, ARM
14
15Contact
16
17     Mathias Heyer, NVIDIA (mheyer [at] nvidia.com)
18
19Status
20
21     Complete
22
23Version
24
25     Last Modified Date:  2014-10-24
26     Revision:            5
27
28Number
29
30    OpenGL ES Extension #207
31
32Dependencies
33
34     OpenGL ES 3.1 is required.
35
36     This extension is written against the OpenGL ES 3.1 (June 4, 2014)
37     specification.
38
39     This extension interacts with EXT_texture_buffer.
40
41     This extension interacts with EXT_texture_view.
42
43     This extension interacts with OES_texture_storage_multisample_2d_array.
44
45     This extension interacts with EXT_copy_image.
46
47     This extension interacts with EXT_texture_compression_s3tc.
48
49     This extension interacts with EXT_texture_compression_rgtc.
50
51     This extension interacts with NV_texture_compression_s3tc.
52
53     This extension interacts with NV_sRGB_formats.
54
55Overview
56
57     OpenGL ES 3.1 supports 8-bit (signed) normalized textures.
58
59     This extension provides a set of new 16 bit signed normalized and
60     unsigned normalized fixed point texture, renderbuffer and
61     texture buffer formats.
62
63
64New Procedures and Functions
65
66     None
67
68New Tokens
69
70
71     Accepted by the <internalFormat> parameter of TexImage2D,TexImage3D,
72     TexStorage2D, TexStorage3D and TexStorage2DMultisample,
73     TexStorage3DMultisampleOES, TexBufferEXT, TexBufferRangeEXT,
74     TextureViewEXT, RenderbufferStorage and RenderbufferStorageMultisample:
75
76        R16_EXT                                     0x822A
77        RG16_EXT                                    0x822C
78        RGBA16_EXT                                  0x805B
79
80     Accepted by the <internalFormat> parameter of TexImage2D,TexImage3D,
81     TexStorage2D, TexStorage3D, TexStorage2DMultisample,
82     TexStorage3DMultisampleOES and TextureViewEXT:
83
84        RGB16_EXT                                   0x8054
85
86        R16_SNORM_EXT                               0x8F98
87        RG16_SNORM_EXT                              0x8F99
88        RGB16_SNORM_EXT                             0x8F9A
89        RGBA16_SNORM_EXT                            0x8F9B
90
91
92Additions to Chapter 8 of the OpenGL  ES 3.1 Specification
93(Textures and Samplers)
94
95    Add to Table 4.X.1 (introduced by EXT_copy_image) "Compatible internal
96    Formats  for copying between compressed and uncompressed...."
97
98        ------------------------------------------------------------------------------
99        | 64-bit  | RGBA16_EXT,          | COMPRESSED_RGB_S3TC_DXT1_EXT,             |
100        |         | RGBA16_SNORM_EXT     | COMPRESSED_SRGB_S3TC_DXT1_NV,             |
101        |         |                      | COMPRESSED_RGBA_S3TC_DXT1_EXT,            |
102        |         |                      | COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV,       |
103        |         |                      | COMPRESSED_RED_RGTC1_EXT,                 |
104        |         |                      | COMPRESSED_SIGNED_RED_RGTC1_EXT,          |
105        |         |                      | COMPRESSED_RGB8_ETC2,                     |
106        |         |                      | COMPRESSED_SRGB8_ETC2,                    |
107        |         |                      | COMPRESSED_R11_EAC,                       |
108        |         |                      | COMPRESSED_SIGNED_R11_EAC,                |
109        |         |                      | COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, |
110        |         |                      | COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
111        ------------------------------------------------------------------------------
112
113    Add a row to Table 8.2 "Valid combinations of format, type and sized
114    internal formats":
115
116        Format          Type            External Bytes  Internal Format
117                                        per Pixel
118        --------------- --------------- --------------- ---------------
119        RED             UNSIGNED_SHORT  2               R16_EXT
120        RG              UNSIGNED_SHORT  4               RG16_EXT
121        RGB             UNSIGNED_SHORT  6               RGB16_EXT
122        RGBA            UNSIGNED_SHORT  8               RGBA16_EXT
123
124        RED             SHORT           2               R16_SNORM_EXT
125        RG              SHORT           4               RG16_SNORM_EXT
126        RGB             SHORT           6               RGB16_SNORM_EXT
127        RGBA            SHORT           8               RGBA16_SNORM_EXT
128
129
130    Add to Table 8.13 "Correspondence of sized internal formats to base
131    internal formats,...":
132
133        Sized            Base            Bits/component              CR   TF  Req.  Req.
134        Internal         Internal        S are shared bits                    rend. tex.
135        Format           Format          R     G    B    A    S
136        ------------     -----------     ----  ---- ---- ---  ----   ---  --- ----  ---
137        R16_EXT          RED             16                           X    X   X     X
138        RG16_EXT         RG              16    16                     X    X   X     X
139        RGB16_EXT        RGB             16    16   16                -    X   -     X
140        RGBA16_EXT       RGBA            16    16   16   16           X    X   X     X
141
142        R16_SNORM_EXT    RED             s16                          -    X   -     X
143        RG16_SNORM_EXT   RG              s16   s16                    -    X   -     X
144        RGB16_SNORM_EXT  RGB             s16   s16  s16               -    X   -     X
145        RGBA16_SNORM_EXT RGBA            s16   s16  s16  s16          -    X   -     X
146
147    Add to Table 8.15: "ReadPixels format and type used during CopyTex*."
148
149        Read Buffer Format                     format  type
150        -------------------------------------  ------  --------------
151        16bit Unsigned Normalized Fixed-point  RGBA    UNSIGNED_SHORT
152
153
154    Add to Table 8.X.2 "Compatible internal formats for TextureViewEXT. ..."
155
156        --------------------------------------------------------------------------
157        | Class                      | Internal formats                          |
158        --------------------------------------------------------------------------
159        | VIEW_CLASS_64_BITS         | RGBA16_EXT, RGBA16_SNORM_EXT              |
160        --------------------------------------------------------------------------
161        | VIEW_CLASS_48_BITS         | RGB16_EXT, RGB16_SNORM_EXT                |
162        --------------------------------------------------------------------------
163        | VIEW_CLASS_32_BITS         | RG16_EXT, RG16_SNORM_EXT                  |
164        --------------------------------------------------------------------------
165        | VIEW_CLASS_16_BITS         | R16_EXT, R16_SNORM_EXT                    |
166        --------------------------------------------------------------------------
167
168        (If EXT_texture_view is not supported, this additions will apply to
169        Table 4.X.2 "Compatible internal formats for CopyImageSubDataEXT" as
170        introduced by EXT_copy_image)
171
172
173    Add to Table texbo1, "Internal Formats for Buffer Textures. ..."
174
175                                                            Component
176        Sized Internal Format Base Type  Components  Norm    0 1 2 3
177        --------------------- ---------  ----------  ----   ---------
178        R16_EXT               ushort      1           Yes    R 0 0 1
179        RG16_EXT              ushort      2           Yes    R G 0 1
180        RGBA16_EXT            ushort      4           Yes    R G B A
181
182
183Additions to Chapter 15 of the OpenGL ES 3.1 Specification
184(Writing Fragments and Samples to the Framebuffer)
185
186        Add to the second paragraph of Section 16.1.2 "ReadPixels":
187
188        "For 16bit unsigned normalized fixed-point rendering surfaces,
189         the combination format RGBA and type UNSIGNED_SHORT is accepted."
190
191Errors
192
193    No new errors.
194
195Interactions with EXT_texture_buffer
196
197    If EXT_texture_buffer is not supported, remove references to TexBufferEXT
198    and TexBufferRangeEXT. Also remove additions to Table textbo1.
199
200
201Interactions with EXT_texture_view
202
203    If EXT_texture_view is not supported, remove references to TextureViewEXT.
204    Also remove additions to Table 8.X.2.
205
206Interactions with OES_texture_storage_multisample_2d_array
207
208    If OES_texture_storage_multisample_2d_array is not supported, remove
209    references to TexStorage3DMultisampleOES
210
211Interactions with EXT_copy_image
212
213    If EXT_copy_image is not supported, remove additions to Table 8.X.2.
214    (If EXT_texture_view is not supported remove references to Table 4.X.2)
215
216Interactions with EXT_texture_compression_s3tc (or equivalent):
217
218    If EXT_texture_compression_s3tc or similar functionality (i.e.
219    NV_texture_compression_s3tc etc) is not supported, ignore references
220    to the following texture formats: COMPRESSED_RGB_S3TC_DXT1_EXT and
221    COMPRESSED_RGBA_S3TC_DXT1_EXT.
222
223Interactions with NV_sRGB_formats (or equivalent):
224
225    If NV_sRGB_formats or similar functionality is not
226    supported, ignore references to the following texture formats:
227    COMPRESSED_SRGB_S3TC_DXT1_NV and COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV.
228
229Interactions with EXT_texture_compression_rgtc (or equivalent):
230
231    If EXT_texture_compression_rgtc or equivalent functionality is not
232    supported, ignore references to the following texture formats:
233    COMPRESSED_RED_RGTC1_EXT, COMPRESSED_SIGNED_RED_RGTC1_EXT.
234
235Issues
236
237    None yet.
238
239Revision History:
240
241   Revision 1 2014-07-03 (mheyer)
242        initial revision
243   Revision 2 2014-07-18 (mheyer)
244        add EXT_texture_buffer, EXT_texture_view, EXT_copy_image and
245        OES_texture_storage_multisample_2d_array interactions
246   Revision 3 2014-07-18 (mheyer)
247        rename to NV_texture_norm16, mark SNORM formats as non color-renderable
248   Revision 4 2014-08-05 (mheyer)
249        rename to EXT_texture_norm16, added interactions with compressed
250        texture format extensions
251   Revision: 5 2014-10-24 (dkoch)
252        mark complete, publishing cleanup
253