OpenGL ES 2.0 only requires 1 combination of framebuffer attachments to work. In other words, it can fail to allow rendering to an GL_RGBA4 renderbuffer as well as a GL_RGBA/UNSIGNED_BYTE texture as long as it say allows rendering to a GL_ALPHA/UNSIGNED_BYTE texture. Â
This makes it really hard to write conformance tests for FBOs because there's no guarantee that any specific format will work alone nor any 2 or more formats will work together.
So for example, it turns out, Chrome was not allowing DEPTH_STENCIL + COLOR attachments and the conformance tests was not able to point this out since by the spec that combination might not work on some platforms and so the test has to pass.
The spec requires that it's possible to create a DEPTH_STENCIL and that it's possible to attach it but the spec does NOT require that you have to be able to render do it or be able use it with any other attachments.
What if any platforms would break if we required certain combinations to work? Specifically
Â Â COLOR_ATTACHMENT0 = RGBA/UNSIGNED_BYTE texture
Â Â COLOR_ATTACHMENT0Â= RGBA/UNSIGNED_BYTE texture + DEPTH_ATTACHMENT = DEPTH_COMPONENT16 renderbuffer
Â Â COLOR_ATTACHMENT0Â= RGBA/UNSIGNED_BYTE texture + DEPTH_STENCIL_ATTACHMENT = DEPTH_STENCIL renderbuffer