| Name |
| |
| EXT_texture_norm16 |
| |
| Name Strings |
| |
| GL_EXT_texture_norm16 |
| |
| Contributors |
| |
| Contributors to EXT_texture_snorm |
| Daniel Koch, NVIDIA |
| Jan-Harald Fredriksen, ARM |
| |
| Contact |
| |
| Mathias Heyer, NVIDIA (mheyer [at] nvidia.com) |
| |
| Status |
| |
| Complete |
| |
| Version |
| |
| Last Modified Date: 2014-10-24 |
| Revision: 5 |
| |
| Number |
| |
| OpenGL ES Extension #207 |
| |
| Dependencies |
| |
| OpenGL ES 3.1 is required. |
| |
| This extension is written against the OpenGL ES 3.1 (June 4, 2014) |
| specification. |
| |
| This extension interacts with EXT_texture_buffer. |
| |
| This extension interacts with EXT_texture_view. |
| |
| This extension interacts with OES_texture_storage_multisample_2d_array. |
| |
| This extension interacts with EXT_copy_image. |
| |
| This extension interacts with EXT_texture_compression_s3tc. |
| |
| This extension interacts with EXT_texture_compression_rgtc. |
| |
| This extension interacts with NV_texture_compression_s3tc. |
| |
| This extension interacts with NV_sRGB_formats. |
| |
| Overview |
| |
| OpenGL ES 3.1 supports 8-bit (signed) normalized textures. |
| |
| This extension provides a set of new 16 bit signed normalized and |
| unsigned normalized fixed point texture, renderbuffer and |
| texture buffer formats. |
| |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| |
| Accepted by the <internalFormat> parameter of TexImage2D,TexImage3D, |
| TexStorage2D, TexStorage3D and TexStorage2DMultisample, |
| TexStorage3DMultisampleOES, TexBufferEXT, TexBufferRangeEXT, |
| TextureViewEXT, RenderbufferStorage and RenderbufferStorageMultisample: |
| |
| R16_EXT 0x822A |
| RG16_EXT 0x822C |
| RGBA16_EXT 0x805B |
| |
| Accepted by the <internalFormat> parameter of TexImage2D,TexImage3D, |
| TexStorage2D, TexStorage3D, TexStorage2DMultisample, |
| TexStorage3DMultisampleOES and TextureViewEXT: |
| |
| RGB16_EXT 0x8054 |
| |
| R16_SNORM_EXT 0x8F98 |
| RG16_SNORM_EXT 0x8F99 |
| RGB16_SNORM_EXT 0x8F9A |
| RGBA16_SNORM_EXT 0x8F9B |
| |
| |
| Additions to Chapter 8 of the OpenGL ES 3.1 Specification |
| (Textures and Samplers) |
| |
| Add to Table 4.X.1 (introduced by EXT_copy_image) "Compatible internal |
| Formats for copying between compressed and uncompressed...." |
| |
| ------------------------------------------------------------------------------ |
| | 64-bit | RGBA16_EXT, | COMPRESSED_RGB_S3TC_DXT1_EXT, | |
| | | RGBA16_SNORM_EXT | COMPRESSED_SRGB_S3TC_DXT1_NV, | |
| | | | COMPRESSED_RGBA_S3TC_DXT1_EXT, | |
| | | | COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV, | |
| | | | COMPRESSED_RED_RGTC1_EXT, | |
| | | | COMPRESSED_SIGNED_RED_RGTC1_EXT, | |
| | | | COMPRESSED_RGB8_ETC2, | |
| | | | COMPRESSED_SRGB8_ETC2, | |
| | | | COMPRESSED_R11_EAC, | |
| | | | COMPRESSED_SIGNED_R11_EAC, | |
| | | | COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, | |
| | | | COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 | |
| ------------------------------------------------------------------------------ |
| |
| Add a row to Table 8.2 "Valid combinations of format, type and sized |
| internal formats": |
| |
| Format Type External Bytes Internal Format |
| per Pixel |
| --------------- --------------- --------------- --------------- |
| RED UNSIGNED_SHORT 2 R16_EXT |
| RG UNSIGNED_SHORT 4 RG16_EXT |
| RGB UNSIGNED_SHORT 6 RGB16_EXT |
| RGBA UNSIGNED_SHORT 8 RGBA16_EXT |
| |
| RED SHORT 2 R16_SNORM_EXT |
| RG SHORT 4 RG16_SNORM_EXT |
| RGB SHORT 6 RGB16_SNORM_EXT |
| RGBA SHORT 8 RGBA16_SNORM_EXT |
| |
| |
| Add to Table 8.13 "Correspondence of sized internal formats to base |
| internal formats,...": |
| |
| Sized Base Bits/component CR TF Req. Req. |
| Internal Internal S are shared bits rend. tex. |
| Format Format R G B A S |
| ------------ ----------- ---- ---- ---- --- ---- --- --- ---- --- |
| R16_EXT RED 16 X X X X |
| RG16_EXT RG 16 16 X X X X |
| RGB16_EXT RGB 16 16 16 - X - X |
| RGBA16_EXT RGBA 16 16 16 16 X X X X |
| |
| R16_SNORM_EXT RED s16 - X - X |
| RG16_SNORM_EXT RG s16 s16 - X - X |
| RGB16_SNORM_EXT RGB s16 s16 s16 - X - X |
| RGBA16_SNORM_EXT RGBA s16 s16 s16 s16 - X - X |
| |
| Add to Table 8.15: "ReadPixels format and type used during CopyTex*." |
| |
| Read Buffer Format format type |
| ------------------------------------- ------ -------------- |
| 16bit Unsigned Normalized Fixed-point RGBA UNSIGNED_SHORT |
| |
| |
| Add to Table 8.X.2 "Compatible internal formats for TextureViewEXT. ..." |
| |
| -------------------------------------------------------------------------- |
| | Class | Internal formats | |
| -------------------------------------------------------------------------- |
| | VIEW_CLASS_64_BITS | RGBA16_EXT, RGBA16_SNORM_EXT | |
| -------------------------------------------------------------------------- |
| | VIEW_CLASS_48_BITS | RGB16_EXT, RGB16_SNORM_EXT | |
| -------------------------------------------------------------------------- |
| | VIEW_CLASS_32_BITS | RG16_EXT, RG16_SNORM_EXT | |
| -------------------------------------------------------------------------- |
| | VIEW_CLASS_16_BITS | R16_EXT, R16_SNORM_EXT | |
| -------------------------------------------------------------------------- |
| |
| (If EXT_texture_view is not supported, this additions will apply to |
| Table 4.X.2 "Compatible internal formats for CopyImageSubDataEXT" as |
| introduced by EXT_copy_image) |
| |
| |
| Add to Table texbo1, "Internal Formats for Buffer Textures. ..." |
| |
| Component |
| Sized Internal Format Base Type Components Norm 0 1 2 3 |
| --------------------- --------- ---------- ---- --------- |
| R16_EXT ushort 1 Yes R 0 0 1 |
| RG16_EXT ushort 2 Yes R G 0 1 |
| RGBA16_EXT ushort 4 Yes R G B A |
| |
| |
| Additions to Chapter 15 of the OpenGL ES 3.1 Specification |
| (Writing Fragments and Samples to the Framebuffer) |
| |
| Add to the second paragraph of Section 16.1.2 "ReadPixels": |
| |
| "For 16bit unsigned normalized fixed-point rendering surfaces, |
| the combination format RGBA and type UNSIGNED_SHORT is accepted." |
| |
| Errors |
| |
| No new errors. |
| |
| Interactions with EXT_texture_buffer |
| |
| If EXT_texture_buffer is not supported, remove references to TexBufferEXT |
| and TexBufferRangeEXT. Also remove additions to Table textbo1. |
| |
| |
| Interactions with EXT_texture_view |
| |
| If EXT_texture_view is not supported, remove references to TextureViewEXT. |
| Also remove additions to Table 8.X.2. |
| |
| Interactions with OES_texture_storage_multisample_2d_array |
| |
| If OES_texture_storage_multisample_2d_array is not supported, remove |
| references to TexStorage3DMultisampleOES |
| |
| Interactions with EXT_copy_image |
| |
| If EXT_copy_image is not supported, remove additions to Table 8.X.2. |
| (If EXT_texture_view is not supported remove references to Table 4.X.2) |
| |
| Interactions with EXT_texture_compression_s3tc (or equivalent): |
| |
| If EXT_texture_compression_s3tc or similar functionality (i.e. |
| NV_texture_compression_s3tc etc) is not supported, ignore references |
| to the following texture formats: COMPRESSED_RGB_S3TC_DXT1_EXT and |
| COMPRESSED_RGBA_S3TC_DXT1_EXT. |
| |
| Interactions with NV_sRGB_formats (or equivalent): |
| |
| If NV_sRGB_formats or similar functionality is not |
| supported, ignore references to the following texture formats: |
| COMPRESSED_SRGB_S3TC_DXT1_NV and COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV. |
| |
| Interactions with EXT_texture_compression_rgtc (or equivalent): |
| |
| If EXT_texture_compression_rgtc or equivalent functionality is not |
| supported, ignore references to the following texture formats: |
| COMPRESSED_RED_RGTC1_EXT, COMPRESSED_SIGNED_RED_RGTC1_EXT. |
| |
| Issues |
| |
| None yet. |
| |
| Revision History: |
| |
| Revision 1 2014-07-03 (mheyer) |
| initial revision |
| Revision 2 2014-07-18 (mheyer) |
| add EXT_texture_buffer, EXT_texture_view, EXT_copy_image and |
| OES_texture_storage_multisample_2d_array interactions |
| Revision 3 2014-07-18 (mheyer) |
| rename to NV_texture_norm16, mark SNORM formats as non color-renderable |
| Revision 4 2014-08-05 (mheyer) |
| rename to EXT_texture_norm16, added interactions with compressed |
| texture format extensions |
| Revision: 5 2014-10-24 (dkoch) |
| mark complete, publishing cleanup |