glXCopyContext  - copy state from one rendering context to
       another



C SPECIFICATION

       void glXCopyContext( Display *dpy,
                            GLXContext src,
                            GLXContext dst,
                            unsigned long mask )



PARAMETERS

       dpy   Specifies the connection to the X server.

       src   Specifies the source context.

       dst   Specifies the destination context.

       mask  Specifies which portions of  src  state  are  to  be
             copied to dst.


DESCRIPTION

       glXCopyContext  copies  selected groups of state variables
       from src to dst.  mask indicates  which  groups  of  state
       variables  are to be copied.  mask contains the bitwise OR
       of the same symbolic names that are passed to the GL  com-
       mand   glPushAttrib.    The   single   symbolic   constant
       GL_ALL_ATTRIB_BITS can be used to copy the maximum  possi-
       ble portion of rendering state.

       The  copy  can  be done only if the renderers named by src
       and dst share an address space.   Two  rendering  contexts
       share  an  address  space  if both are nondirect using the
       same server, or if both are direct and owned by  a  single
       process.  Note that in the nondirect case it is not neces-
       sary for the calling threads to share  an  address  space,
       only  for  their  related  rendering  contexts to share an
       address space.

       Not all values for GL state can be copied.   For  example,
       pixel pack and unpack state, render mode state, and select
       and feedback state are not copied.  The state that can  be
       copied  is exactly the state that is manipulated by the GL
       command
       glPushAttrib.

       An implicit glFlush is done by glXCopyContext  if  src  is
       the current context for the calling thread.


NOTES

       A  process  is a single execution environment, implemented
       in a single address  space,  consisting  of  one  or  more
       (including the calling thread) at the time  glXCopyContext
       is called.

       GLXBadCurrentWindow  is  generated  if  src is the current
       context and the current drawable is a window  that  is  no
       longer valid.

       GLXBadContext  is  generated if either src or dst is not a
       valid GLX context.


SEE ALSO

       glPushAttrib, glXCreateContext, glXIsDirect



                                                                1