GL_OES_surfaceless_context#

Supported Hardware#

Series5, Series5XT, Series6, Series6XE, Series6XT

Valid APIs#

OpenGL ES 1.x, 2.0, 3.x

Description#

Applications that want to render to framebuffer objects only, without touching any sort of main framebuffer, currently still need to create an EGLSurface for a context. EGL_KHR_surfaceless_context adds the ability to create a context without a surface, but vanilla OpenGL ES cannot function correctly with such a context. This extension provides mechanisms whereby this behaviour is defined so that there is no need to create a default surface.

A single new feature is added in the form of an enum, GL_FRAMEBUFFER_UNDEFINED_OES, which is returned when what would otherwise be the default framebuffer is bound. Any commands relying on the framebuffer will behave as if an incomplete framebuffer, of size 0 by 0, is currently bound.

Example#

// Query the current framebuffer status
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
if (status == GL_FRAMEBUFFER_UNDEFINED_OES)
{
    // There's no framebuffer bound!
}