manpagez: man pages & more
man glXCreateContext(3)
Home | html | info | man
GLXCREATECONTEXT()                                          GLXCREATECONTEXT()


       glXCreateContext - create a new GLX rendering context


       GLXContext glXCreateContext( Display *dpy,
                                    XVisualInfo *vis,
                                    GLXContext shareList,
                                    Bool direct )

       delim $$


       dpy        Specifies the connection to the X server.

       vis        Specifies the visual that defines the frame buffer resources
                  available to the rendering context.  It is a pointer  to  an
                  XVisualInfo  structure,  not  a  visual ID or a pointer to a

       shareList  Specifies the context with which  to  share  display  lists.
                  NULL indicates that no sharing is to take place.

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


       glXCreateContext  creates  a GLX rendering context and returns its han-
       dle.  This context can be used to render  into  both  windows  and  GLX
       pixmaps.  If glXCreateContext fails to create a rendering context, NULL
       is returned.

       If direct 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 direct is True).
       If direct is False, then a rendering context that renders through the X
       server  is  always  created.   Direct  rendering provides a performance
       advantage 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 shareList is not NULL, then all display-list indexes and definitions
       are  shared  by context shareList and by the newly created context.  An
       arbitrary number of contexts can share  a  single  display-list  space.
       However,  all rendering contexts that share a single display-list space
       must themselves exist in the same address space.   Two  rendering  con-
       texts  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 address space.

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


       XVisualInfo is defined in Xutil.h.  It is  a  structure  that  includes
       visual, visualID, screen, and depth elements.

       A  process  is  a single execution environment, implemented in a single
       address space, consisting of one or more threads.

       A thread is one of a set of subprocesses that share  a  single  address
       space,  but maintain separate program counters, stack spaces, and other
       related global data.  A thread that is the only member of  its  subpro-
       cess group is equivalent to a process.

       It  may not be possible to render to a GLX pixmap with a direct render-
       ing context.


       NULL is returned if execution fails on the client side.

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

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

       GLXBadContext is generated if shareList is not a GLX context and is not

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


       glXDestroyContext(3), glXGetConfig(3), glXIsDirect(3), glXMakeCurrent(3)


Mac OS X 10.4 X11 - Generated Sat Apr 30 05:14:12 CDT 2005
© 2000-2021
Individual documents may contain additional copyright information.