OpenGL man pages
glXCreateGLXPixmap - create an off-screen GLX rendering area
GLXPixmap glXCreateGLXPixmap( Display *dpy,
Pixmap pixmap )
dpy Specifies the connection to the X server.
vis Specifies the visual that defines the structure of the rendering
area. It is a pointer to an XVisualInfo structure, not a visual ID
or a pointer to a Visual.
pixmap Specifies the X pixmap that will be used as the front left color
buffer of the off-screen rendering area.
glXCreateGLXPixmap creates an off-screen rendering area and returns its
XID. Any GLX rendering context that was created with respect to vis can be
used to render into this off-screen area. Use glXMakeCurrent to associate
the rendering area with a GLX rendering context.
The X pixmap identified by pixmap is used as the front left buffer of the
resulting off-screen rendering area. All other buffers specified by vis,
including color buffers other than the front left buffer, are created
without externally visible names. GLX pixmaps with double-buffering are
supported. However, glXSwapBuffers is ignored by these pixmaps.
Direct rendering contexts cannot be used to render into GLX pixmaps.
XVisualInfo is defined in Xutil.h. It is a structure that includes visual,
visualID, screen, and depth elements.
BadMatch is generated if the depth of pixmap does not match the
GLX_BUFFER_SIZE value of vis, or if pixmap was not created with respect to
the same screen as vis.
BadValue is generated if vis is not a valid XVisualInfo pointer (e.g., if
the GLX implementation does not support this visual).
BadPixmap is generated if pixmap is not a valid pixmap.
BadAlloc is generated if the server cannot allocate the GLX pixmap.
glXCreateContext, glXIsDirect, glXMakeCurrent
Fri Dec 6 11:18:03 EST 1996
Look here for legal stuff: Legal