XVisualInfo *vi )

PARAMETERS
       dpy  Specifies the connection to the X server.

       vi   Specifies the visual that defines the frame buffer resources avail‐
            able to the rendering context.  It is a pointer to  an  XVisualInfo
            structure, not a visual ID or a pointer to a Visual.

       _param3
            Specifies  the context with which to share display lists.  NULL in‐
            dicates that no sharing is to take place.

       _param4
            Specifies whether rendering is to be done with a direct  connection
            to  the  graphics system if possible (True) or through the X server
            (False).

DESCRIPTION
       glXCreateContext creates a GLX rendering context and returns its handle.
       This  context  can  be used to render into both windows and GLX pixmaps.
       If glXCreateContext fails to create a rendering  context,  NULL  is  re‐
       turned.

       If  _param4  is  True, then a direct rendering context is created if the
       implementation supports direct rendering, if the connection is to  an  X
       server  that  is  local, and if a direct rendering context is available.
       (An implementation may return an indirect context when _param4 is True).
       If _param4 is False, then a rendering context that renders through the X
       server is always created.  Direct rendering provides a  performance  ad‐
       vantage  in  some  implementations.   However, direct rendering contexts
       cannot be shared outside a single process, and they  may  be  unable  to
       render to GLX pixmaps.

       If  _param3  is  not NULL, then all display-list indexes and definitions
       are shared by context _param3 and by the newly created context.  An  ar‐
       bitrary  number of contexts can share a single display-list space.  How‐
       ever, all rendering contexts that share a single display-list space must
       themselves  exist  in  the  same  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 necessary for the calling threads to share  an
       address space, only for their related rendering contexts to share an ad‐
       dress space.

       If the GL version is 1.1 or greater, then all texture objects except ob‐
       ject 0, are shared by any contexts that share display lists.

NOTES
       XVisualInfo is defined in Xutil.h.  It is a structure that includes vis‐
       ual, visualID, screen, and depth elements.

       BadMatch  is  generated if the context to be created would not share the
       address space or the screen of the context specified by _param3.

       BadValue is generated if vi is not a valid visual  (for  example,  if  a
       particular GLX implementation does not support it).

       GLXBadContext  is  generated  if _param3 is not a GLX context and is not
       NULL.

       BadAlloc is generated if the server does not have  enough  resources  to
       allocate the new context.

SEE ALSO
       glXDestroyContext, glXGetConfig, glXIsDirect, glXMakeCurrent

                                                           GLXCREATECONTEXT(3G)

Man(1) output converted with man2html