| Name |
| |
| QCOM_render_shared_exponent |
| |
| Name Strings |
| |
| GL_QCOM_render_shared_exponent |
| |
| Contributors |
| |
| Ashish Mathur |
| Tate Hornbeck |
| |
| Contact |
| |
| Jeff Leger - jleger 'at' qti.qualcomm.com |
| |
| Status |
| |
| Final |
| |
| Version |
| |
| Last Modified Date: Novemeber 24, 2020 |
| Revision: #3 |
| |
| Number |
| |
| OpenGL ES Extension #334 |
| |
| Dependencies |
| |
| OpenGL ES 3.0 is required. This extension is written against OpenGL ES 3.2. |
| |
| Overview |
| |
| OpenGL ES 3.2 supports a packed, shared exponent floating format RGB9_E5 |
| which is not color-renderable. |
| |
| This extension enables the packed, shared exponent floating type format RGB9_E5 |
| to be color-renderable using framebuffer objects. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <internalFormat> parameter of RenderbufferStorage: |
| GL_RGB9_E5 0x8C3D |
| |
| Additions to Chapter 8 of the OpenGL ES 3.2 Specification |
| (Textures and Samplers) |
| |
| Modification in Table 8.10, p.163, 164 |
| Convert the spaces under 'CR' and 'Req. rend.' to a 'check' for the |
| internal format RGB9_E5. |
| |
| Insert at the top (first) row in Table 8.14, p. 172. |
| Destination | Source | Source | Source | Source | Effective |
| Internal Format | Red Size | Green Size | Blue Size | Alpha Size | Internal Format |
| ----------------|----------|------------|-----------|------------|---------------- |
| any sized | 1<=R<=9 | 1<=G<=9 | 1<=B<=9 | A=0 | RGB9_E5 |
| |
| Additions to Chapter 9 of the OpenGL ES 3.2 Specification |
| (Framebuffers and Framebuffer Objects) |
| |
| Modification in section 9.2.5 Required Renderbuffer Formats p. 238 |
| Change the following bullet point from: |
| • For formats RGBA16F, R32F, RG32F and RGBA32F, one sample |
| to |
| • For formats RGB9_E5, RGBA16F, R32F, RG32F and RGBA32F one sample |
| |
| Modifications in section 9.6 Conversion to Framebuffer-Attachable Image Components p. 255 |
| Add the following sentence at the end of the section: |
| "If the format is RGB9E5 then the R, G, and B components, regardless of component masking |
| as described in section 15.2.2, may participate in the encoding process with the method |
| described in section 8.5.2." |
| |
| Modifications in section 9.7 Conversion to RGBA Values p. 255 |
| Add the following sentence at the end of the section: |
| "If the format is RGB9E5 then the R, G, and B components, regardless of component masking |
| as described in section 15.2.2, may participate in the decoding process with the method |
| described in section 8.22." |
| |
| Additions to Chapter 20 of the OpenGL ES 3.2 Specification |
| (Context State Queries) |
| |
| Modification in section 20.3.1 Internal Format Query Parameters p. 444 |
| In the bullet point NUM_SAMPLE_COUNTS change the following sub bullet point from: |
| – If internalformat is RGBA16F, R32F, RG32F, or RGBA32F, zero may be returned. |
| to |
| – If internalformat is RGB9_E5, RGBA16F, R32F, RG32F, or RGBA32F, zero may be returned. |
| |
| In the bullet point SAMPLES change the following sub bullet point from: |
| * A value less than or equal to the value of MAX_SAMPLES, if internalformat is |
| RGBA16F, R32F, RG32F, or RGBA32F. |
| to |
| * A value less than or equal to the value of MAX_SAMPLES, if internalformat is |
| RGB9_E5, RGBA16F, R32F, RG32F, or RGBA32F. |
| |
| Errors |
| |
| No new errors. |
| |
| Issues |
| |
| None |
| |
| Revision History: |
| |
| Revision: 1 2020-07-25 (asmathur) |
| initial revision |
| Revision: 2 2020-10-11 (asmathur) |
| version 2 |
| Revision: 3 2020-11-24 (asmathur) |
| version 3 |