This looks like a quirk existing due to historical reasons but may still be worth clarifying.
- WebGL 1.0, Section 2.2 guarantees that the default renderbuffer has at least 8 bits per component.
- OpenGL ES 2.0, Section 4.4.3 allows only
RGBA4/RGB5_A1/RGB565 internal formats for renderbuffer color attachments. 8-bit renderbuffers are provided only by OES_rgb8_rgba8.
- WebGL
EXT_sRGB extension is based on GL_EXT_sRGB that requires OES_rgb8_rgba8.
Given 1-3, it seems quite counter-intuitive that WebGL 1.0 renderbuffers can have SRGB8_ALPHA8_EXT or floating-point formats but not RGBA8.
At the very least, we should add a note to EXT_sRGB clarifying the ignored dependency. Optionally, WebGL 1.0 renderbuffers may be allowed to have RGB8/ RGBA8 internal formats (aliased as their unsized counterparts, similar to DEPTH_STENCIL) as if OES_rgb8_rgba8 is always enabled.
Maybe related: #3364.
/cc @kenrussell @kdashg
This looks like a quirk existing due to historical reasons but may still be worth clarifying.
RGBA4/RGB5_A1/RGB565internal formats for renderbuffer color attachments. 8-bit renderbuffers are provided only byOES_rgb8_rgba8.EXT_sRGBextension is based onGL_EXT_sRGBthat requiresOES_rgb8_rgba8.Given 1-3, it seems quite counter-intuitive that WebGL 1.0 renderbuffers can have
SRGB8_ALPHA8_EXTor floating-point formats but notRGBA8.At the very least, we should add a note to
EXT_sRGBclarifying the ignored dependency. Optionally, WebGL 1.0 renderbuffers may be allowed to haveRGB8/RGBA8internal formats (aliased as their unsized counterparts, similar toDEPTH_STENCIL) as ifOES_rgb8_rgba8is always enabled.Maybe related: #3364.
/cc @kenrussell @kdashg