Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       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 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 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, glXGetConfig,	glXIsDirect, glXMakeCurrent



Want to link to this manual page? Use this URL:

home | help