glXMakeContextCurrent(3G)
glXMakeContextCurrent - attach a GLX context to a GLX drawable
As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.19.
NAME glXMakeContextCurrent - attach a GLX context to a GLX drawable C SPECIFICATION Bool glXMakeContextCurrent( Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext gc ) PARAMETERS dpy Specifies the connection to the X server. draw Specifies a GLX drawable that to render into. Must be an XID representing a GLXWindow, GLXPixmap, or GLXPbuffer. read Specifies a GLX drawable that to read from. Must be an XID representing a GLXWindow, GLXPixmap, or GLXPbuffer. gc Specifies the GLX context to be bound to draw and read. DESCRIPTION glXMakeContextCurrent binds gc to the current rendering thread and to the draw and read GLX drawables. draw and read may be the same. draw is used for all OpenGL operations except: Any pixel data that are read based on the value of GL_READ_BUFFER. Note that accumulation operations use the value of GL_READ_BUFFER, but are not allowed unless draw is identical to read. Any depth values that are retrieved by glReadPixels or glCopyPixels. Any stencil values that are retrieved by glReadPixels or glCopyPixels. Frame buffer values are taken from draw. If the current rendering thread has a current rendering context, that context is flushed and replaced by gc. The first time that gc is made current, the viewport and scissor dimensions are set to the size of the draw drawable. The viewport and scissor are not modified when gc is subsequently made current. To release the current context without assigning a new one, call glXMakeContextCurrent with draw and read set to None and gc set to NULL. glXMakeContextCurrent returns True if it is successful, False otherwise. If False is returned, the previously current rendering context and drawable (if any) remain unchanged. NOTES glXMakeContextCurrent is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. ERRORS BadMatch is generated if draw and read are not compatible. BadAccess is generated if gc is current to some other thread. GLXContextState is generated if there is a current rendering context and its render mode is either GL_FEEDBACK or GL_SELECT. GLXBadContext is generated if gc is not a valid GLX rendering context. GLXBadDrawable is generated if draw or read is not a valid GLX drawable. GLXBadWindow is generated if the underlying X window for either draw or read is no longer valid. GLXBadCurrentDrawable is generated if the previous context of the calling thread has unflushed commands, and the previous drawable is no longer valid. BadAlloc is generated if the X server does not have enough resources to allocate the buffers. BadMatch is generated if: draw and read cannot fit into frame buffer memory simultaneously. draw or read is a GLXPixmap and gc is a direct rendering context. draw or read is a GLXPixmap and gc was previously bound to a GLXWindow or GLXPbuffer. draw or read is a GLXWindow or GLXPbuffer and gc was previously bound to a GLXPixmap. SEE ALSO glXCreateNewContext, glXCreateWindow, glXCreatePixmap, glXCreatePbuffer, glXDestroyContext, glXGetCurrentContext, glXGetCurrentDisplay, glXGetCurrentDrawable, glXGetCurrentReadDrawable, glXMakeCurrent