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 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 Relaxation of INVALID_OPERATION errors -------------------------------------- CopyTex[Sub]Image* now accepts RGB9_E5 for 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