EGL_EXT_create_context_robustness

Supported Hardware

Series6, Series6XE, Series6XT

Valid APIs

EGL 1.4

Description

Several recent trends in how OpenGL integrates into modern computer systems have created new requirements for robustness and security for OpenGL rendering contexts. This extension introduces the concept of robust contexts for OpenGL ES, by providing context reset strategies on hardware resets, and concessions for robust buffer access.

The extension adds two new attributes for context creation:

  • EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT: This guarantees a level of safety for all buffer accesses in the context, so that attempting to access data outside of a buffer's bounds will result in undefined values being returned but must not result in program termination. The exact behaviour of this is defined in the GL_EXT_robustness extension.
  • EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT: This allows users to force a context to be deleted in the event of it causing a hardware reset, notifying the application of such an event.

More information on what happens with these strategies is contained within the GL_EXT_robustness specification.

Note

This functionality is core to EGL 1.5, so the extension is no longer needed.

Registry Link

http://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_create_context_robustness.txt

Example

// Create a robust context with hardware notifications 
EGLint contextAttribs[] = 
{
    EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT, EGL_TRUE,
    EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT, EGL_LOSE_CONTEXT_ON_RESET_EXT,
    EGL_NONE
};
EGLContext context = eglCreateContext(display, config, NULL, contextAttribs);