1Name 2 3 QCOM_render_shared_exponent 4 5Name Strings 6 7 GL_QCOM_render_shared_exponent 8 9Contributors 10 11 Ashish Mathur 12 Tate Hornbeck 13 14Contact 15 16 Jeff Leger - jleger 'at' qti.qualcomm.com 17 18Status 19 20 Final 21 22Version 23 24 Last Modified Date: Novemeber 24, 2020 25 Revision: #3 26 27Number 28 29 OpenGL ES Extension #334 30 31Dependencies 32 33 OpenGL ES 3.0 is required. This extension is written against OpenGL ES 3.2. 34 35Overview 36 37 OpenGL ES 3.2 supports a packed, shared exponent floating format RGB9_E5 38 which is not color-renderable. 39 40 This extension enables the packed, shared exponent floating type format RGB9_E5 41 to be color-renderable using framebuffer objects. 42 43New Procedures and Functions 44 45 None 46 47New Tokens 48 49 Accepted by the <internalFormat> parameter of RenderbufferStorage: 50 GL_RGB9_E5 0x8C3D 51 52Additions to Chapter 8 of the OpenGL ES 3.2 Specification 53(Textures and Samplers) 54 55 Modification in Table 8.10, p.163, 164 56 Convert the spaces under 'CR' and 'Req. rend.' to a 'check' for the 57 internal format RGB9_E5. 58 59 Insert at the top (first) row in Table 8.14, p. 172. 60 Destination | Source | Source | Source | Source | Effective 61 Internal Format | Red Size | Green Size | Blue Size | Alpha Size | Internal Format 62 ----------------|----------|------------|-----------|------------|---------------- 63 any sized | 1<=R<=9 | 1<=G<=9 | 1<=B<=9 | A=0 | RGB9_E5 64 65Additions to Chapter 9 of the OpenGL ES 3.2 Specification 66(Framebuffers and Framebuffer Objects) 67 68 Modification in section 9.2.5 Required Renderbuffer Formats p. 238 69 Change the following bullet point from: 70 • For formats RGBA16F, R32F, RG32F and RGBA32F, one sample 71 to 72 • For formats RGB9_E5, RGBA16F, R32F, RG32F and RGBA32F one sample 73 74 Modifications in section 9.6 Conversion to Framebuffer-Attachable Image Components p. 255 75 Add the following sentence at the end of the section: 76 "If the format is RGB9E5 then the R, G, and B components, regardless of component masking 77 as described in section 15.2.2, may participate in the encoding process with the method 78 described in section 8.5.2." 79 80 Modifications in section 9.7 Conversion to RGBA Values p. 255 81 Add the following sentence at the end of the section: 82 "If the format is RGB9E5 then the R, G, and B components, regardless of component masking 83 as described in section 15.2.2, may participate in the decoding process with the method 84 described in section 8.22." 85 86Additions to Chapter 20 of the OpenGL ES 3.2 Specification 87(Context State Queries) 88 89 Modification in section 20.3.1 Internal Format Query Parameters p. 444 90 In the bullet point NUM_SAMPLE_COUNTS change the following sub bullet point from: 91 – If internalformat is RGBA16F, R32F, RG32F, or RGBA32F, zero may be returned. 92 to 93 – If internalformat is RGB9_E5, RGBA16F, R32F, RG32F, or RGBA32F, zero may be returned. 94 95 In the bullet point SAMPLES change the following sub bullet point from: 96 * A value less than or equal to the value of MAX_SAMPLES, if internalformat is 97 RGBA16F, R32F, RG32F, or RGBA32F. 98 to 99 * A value less than or equal to the value of MAX_SAMPLES, if internalformat is 100 RGB9_E5, RGBA16F, R32F, RG32F, or RGBA32F. 101 102Errors 103 104 No new errors. 105 106Issues 107 108 None 109 110Revision History: 111 112 Revision: 1 2020-07-25 (asmathur) 113 initial revision 114 Revision: 2 2020-10-11 (asmathur) 115 version 2 116 Revision: 3 2020-11-24 (asmathur) 117 version 3 118