Imports another process's indirect rendering context.
C bindings library: libGL.a
GLXContext glXImportContextEXT( Display *dpy, GLXContextID contextID)
The glXImportContextEXT subroutine creates a GLXContext given the XID of an existing GLXContext. It may be used in place of glXCreateContext, to share another process's indirect rendering context.
Only the server-side context information can be shared between X clients; client-side state, such as pixel storage modes, cannot be shared. Thus, glXImportContextEXT must allocate memory to store client-side information. This memory is freed by calling glXFreeContextEXT.
This call does not create a new XID. It merely makes an existing object available to the importing client (Display *). Like any XID, it goes away when the creating client drops its connection or the ID is explicitly deleted. Note that this is when the XID goes away. The object goes away when the XID goes away AND the context is not current to any thread.
If contextID refers to a direct rendering context then no error is generated but glXImportContextEXT returns NULL.
The glXImportContextEXT subroutine is part of the EXT_import_context extension, not part of the core GLX command set. If GLX_EXT_import_context is included in the string returned by glXQueryExtensionsString, when called with argument GLX_EXTENSIONS, extension EXT_import_context is supported.
dpy | Specifies the connection to the X server. |
contextID | Specifies a GLX rendering context. |
GLXBadContext is generated if contextID does not refer to a valid context.
The glXCreateContext subroutine, glXQueryVersion subroutine, glXQueryExtensionsString subroutine, glXGetContextIDEXT subroutine, glXFreeContextEXT subroutine.