Commit ac92f536 authored by faith's avatar faith
Browse files

Import of XFree86 3.9.17

parent 11c6e363
XCOMM $XConsortium: Imakefile,v 1.1 94/02/10 20:32:47 rws Exp $
XCOMM $XFree86: xc/doc/Imakefile,v 1.2 1998/12/20 11:56:36 dawes Exp $
#define IHaveSubdirs
#define PassCDebugFlags
#if BuildMiscDocs
MISCDIR = misc
#endif
#if BuildSpecsDocs
SPECSDIR = specs
#endif
SUBDIRS = man $(MISCDIR) $(SPECSDIR)
all::
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
XCOMM $XFree86: xc/doc/man/GL/Imakefile,v 1.2 1999/06/14 07:23:27 dawes Exp $
XCOMM The contents of this file are subject to the GLX Public License Version 1.0
XCOMM (the "License"). You may not use this file except in compliance with the
XCOMM License. You may obtain a copy of the License at Silicon Graphics, Inc.,
XCOMM attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
XCOMM or at http://www.sgi.com/software/opensource/glx/license.html.
XCOMM
XCOMM Software distributed under the License is distributed on an "AS IS"
XCOMM basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
XCOMM IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
XCOMM PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
XCOMM language governing rights and limitations under the License.
XCOMM
XCOMM The Original Software is GLX version 1.2 source code, released February,
XCOMM 1999. The developer of the Original Software is Silicon Graphics, Inc.
XCOMM Those portions of the Subject Software created by Silicon Graphics, Inc.
XCOMM are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = glx
MakeSubdirs($(SUBDIRS))
InstallManSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
XCOMM The contents of this file are subject to the GLX Public License Version 1.0
XCOMM (the "License"). You may not use this file except in compliance with the
XCOMM License. You may obtain a copy of the License at Silicon Graphics, Inc.,
XCOMM attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
XCOMM or at http://www.sgi.com/software/opensource/glx/license.html.
XCOMM
XCOMM Software distributed under the License is distributed on an "AS IS"
XCOMM basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
XCOMM IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
XCOMM PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
XCOMM language governing rights and limitations under the License.
XCOMM
XCOMM The Original Software is GLX version 1.2 source code, released February,
XCOMM 1999. The developer of the Original Software is Silicon Graphics, Inc.
XCOMM Those portions of the Subject Software created by Silicon Graphics, Inc.
XCOMM are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
XCOMM
XCOMM $XFree86: xc/doc/man/GL/glx/Imakefile,v 1.3 1999/03/07 14:23:30 dawes Exp $
MANDIR = $(LIBMANDIR)
MANSUFFIX = $(LIBMANSUFFIX)
MSUFF = man
MAN_PAGES = \
glXChooseVisual.$(MSUFF) glXCopyContext.$(MSUFF) \
glXCreateContext.$(MSUFF) glXCreateGLXPixmap.$(MSUFF) \
glXDestroyContext.$(MSUFF) glXDestroyGLXPixmap.$(MSUFF) \
glXFreeContextEXT.$(MSUFF) glXGetClientString.$(MSUFF) \
glXGetConfig.$(MSUFF) glXGetContextIDEXT.$(MSUFF) \
glXGetCurrentContext.$(MSUFF) glXGetCurrentDisplay.$(MSUFF) \
glXGetCurrentDrawable.$(MSUFF) glXImportContextEXT.$(MSUFF) \
glXIntro.$(MSUFF) glXIsDirect.$(MSUFF) \
glXMakeCurrent.$(MSUFF) glXQueryContextInfoEXT.$(MSUFF) \
glXQueryExtension.$(MSUFF) glXQueryExtensionsString.$(MSUFF) \
glXQueryServerString.$(MSUFF) glXQueryVersion.$(MSUFF) \
glXSwapBuffers.$(MSUFF) glXUseXFont.$(MSUFF) \
glXWaitGL.$(MSUFF) glXWaitX.$(MSUFF)
InstallMultipleMan($(MAN_PAGES),$(LIBMANDIR))
LinkFile(glXChooseVisual.$(MSUFF), xchoosevisual.3gl)
LinkFile(glXCopyContext.$(MSUFF), xcopycontext.3gl)
LinkFile(glXCreateContext.$(MSUFF), xcreatecontext.3gl)
LinkFile(glXCreateGLXPixmap.$(MSUFF), xcreateglxpixmap.3gl)
LinkFile(glXDestroyContext.$(MSUFF), xdestroycontext.3gl)
LinkFile(glXDestroyGLXPixmap.$(MSUFF), xdestroyglxpixmap.3gl)
LinkFile(glXFreeContextEXT.$(MSUFF), xfreecontextext.3gl)
LinkFile(glXGetClientString.$(MSUFF), xgetclientstring.3gl)
LinkFile(glXGetConfig.$(MSUFF), xgetconfig.3gl)
LinkFile(glXGetContextIDEXT.$(MSUFF), xgetcontextidext.3gl)
LinkFile(glXGetCurrentContext.$(MSUFF), xgetcurrentcontext.3gl)
LinkFile(glXGetCurrentDisplay.$(MSUFF), xgetcurrentdisplay.3gl)
LinkFile(glXGetCurrentDrawable.$(MSUFF), xgetcurrentdrawable.3gl)
LinkFile(glXImportContextEXT.$(MSUFF), ximportcontextext.3gl)
LinkFile(glXIntro.$(MSUFF), xintro.3gl)
LinkFile(glXIsDirect.$(MSUFF), xisdirect.3gl)
LinkFile(glXMakeCurrent.$(MSUFF), xmakecurrent.3gl)
LinkFile(glXQueryContextInfoEXT.$(MSUFF), xquerycontextinfoext.3gl)
LinkFile(glXQueryExtension.$(MSUFF), xqueryextension.3gl)
LinkFile(glXQueryExtensionsString.$(MSUFF), xqueryextensionsstring.3gl)
LinkFile(glXQueryServerString.$(MSUFF), xqueryserverstring.3gl)
LinkFile(glXQueryVersion.$(MSUFF), xqueryversion.3gl)
LinkFile(glXSwapBuffers.$(MSUFF), xswapbuffers.3gl)
LinkFile(glXUseXFont.$(MSUFF), xusexfont.3gl)
LinkFile(glXWaitGL.$(MSUFF), xwaitgl.3gl)
LinkFile(glXWaitX.$(MSUFF), xwaitx.3gl)
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 6 March 1997
.ds Re Release 1.2.0
.ds Dp Feb 16 02:56
.ds Dm Feb 10 17:2
.ds Xs 58988 14 xchoosevisual.gl
.TH GLXCHOOSEVISUAL
.SH NAME
.B "glXChooseVisual
\- return a visual that matches specified attributes
.SH C SPECIFICATION
XVisualInfo* \f3glXChooseVisual\fP(
Display \fI*dpy\fP,
.nf
.ta \w'\f3XVisualInfo* \fPglXChooseVisual( 'u
int \fIscreen\fP,
int \fI*attribList\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIattribList\fP\ \ 'u
\f2dpy\fP
Specifies the connection to the X server.
.TP
\f2screen\fP
Specifies the screen number.
.TP
\f2attribList\fP
Specifies a list of boolean attributes and integer attribute/value pairs.
The last attribute must be \f3None\fP.
.SH DESCRIPTION
\f3glXChooseVisual\fP returns a pointer to an XVisualInfo structure describing the visual
that best meets a minimum specification.
The boolean GLX attributes of the visual that is returned will match the
specified values,
and the integer GLX attributes will meet or exceed the specified
minimum values.
If all other attributes are equivalent, then TrueColor and PseudoColor
visuals have priority over DirectColor and StaticColor visuals,
respectively.
If no conforming visual exists, \f3NULL\fP is returned.
To free the data returned by this function, use \f3XFree\fP.
.P
All boolean GLX attributes default to \f3False\fP
except \f3GLX_USE_GL\fP,
which defaults to \f3True\fP.
All integer GLX attributes default to zero.
Default specifications are superseded by attributes included in \f2attribList\fP.
Boolean attributes included in \f2attribList\fP are understood to be \f3True\fP.
Integer attributes and enumerated type attributes are followed immediately
by the corresponding desired or
minimum value.
The list must be terminated with \f3None\fP.
.P
The interpretations of the various GLX visual attributes are as follows:
.TP 22
\f3GLX_USE_GL\fP
Ignored.
Only visuals that can be rendered with GLX are considered.
.TP
\f3GLX_BUFFER_SIZE\fP
Must be followed by a nonnegative integer that indicates the desired
color index buffer size.
The smallest index buffer of at least the specified size is preferred.
Ignored if \f3GLX_RGBA\fP is asserted.
.BP
.TP
\f3GLX_LEVEL\fP
Must be followed by an integer buffer-level specification.
This specification is honored exactly.
Buffer level zero corresponds to the main frame buffer of the display.
Buffer level one is the first overlay frame buffer, level two the second
overlay frame buffer, and so on.
Negative buffer levels correspond to underlay frame buffers.
.TP
\f3GLX_RGBA\fP
If present,
only TrueColor and DirectColor visuals are considered.
Otherwise,
only PseudoColor and StaticColor visuals are considered.
.TP
\f3GLX_DOUBLEBUFFER\fP
If present,
only double-buffered visuals are considered.
.BR
Otherwise,
only single-buffered visuals are considered.
.TP
\f3GLX_STEREO\fP
If present,
only stereo visuals are considered.
Otherwise,
only monoscopic visuals are considered.
.TP
\f3GLX_AUX_BUFFERS\fP
Must be followed by a nonnegative integer that indicates the desired
number of auxiliary buffers.
Visuals with the
.BR
smallest number of auxiliary buffers that meets or exceeds
the specified number are preferred.
.TP
\f3GLX_RED_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
the smallest available red buffer is preferred.
Otherwise, the largest available red buffer of at least the minimum size
is preferred.
.TP
\f3GLX_GREEN_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
the smallest available green buffer is preferred.
Otherwise, the largest available green buffer of at least the minimum size
is preferred.
.TP
\f3GLX_BLUE_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
the smallest available blue buffer is preferred.
Otherwise, the largest available blue buffer of at least the minimum size
is preferred.
.TP
\f3GLX_ALPHA_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
the smallest available alpha buffer is preferred.
Otherwise, the largest available alpha buffer of at least the minimum size
is preferred.
.TP
\f3GLX_DEPTH_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
visuals with no depth buffer are preferred.
Otherwise, the largest available depth buffer of at least the minimum size
is preferred.
.TP
\f3GLX_STENCIL_SIZE\fP
Must be followed by a nonnegative integer that indicates the desired
number of stencil bitplanes.
The smallest stencil buffer of at least the specified size is preferred.
If the desired value is zero,
visuals with no stencil buffer are preferred.
.TP
\f3GLX_ACCUM_RED_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
visuals with no red accumulation buffer are preferred.
Otherwise, the largest possible red accumulation buffer
of at least the minimum size is preferred.
.TP
\f3GLX_ACCUM_GREEN_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
visuals with no green accumulation buffer are preferred.
Otherwise, the largest possible green accumulation buffer
of at least the minimum size is preferred.
.TP
\f3GLX_ACCUM_BLUE_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
visuals with no blue accumulation buffer are preferred.
Otherwise, the largest possible blue accumulation buffer
of at least the minimum size is preferred.
.TP
\f3GLX_ACCUM_ALPHA_SIZE\fP
Must be followed by a nonnegative minimum size specification.
If this value is zero,
visuals with no alpha accumulation buffer are preferred.
Otherwise, the largest possible alpha accumulation buffer
of at least the minimum size is preferred.
.TE
.SH EXAMPLES
.TP 12
\f2attribList\fP =
{\f3GLX_RGBA\fP,
\f3GLX_RED_SIZE\fP, 4,
\f3GLX_GREEN_SIZE\fP, 4,
\f3GLX_BLUE_SIZE\fP, 4,
\f3None\fP};
.P
Specifies a single-buffered RGB visual in the normal frame buffer,
not an overlay or underlay buffer.
The returned visual supports at least four bits each of red,
green, and blue,
and possibly no bits of alpha.
It does not support color index mode,
double-buffering, or stereo display.
It may or may not have one or more auxiliary color buffers,
a depth buffer,
a stencil buffer,
or an accumulation buffer.
.SH NOTES
\f3XVisualInfo\fP is defined in \f2Xutil.h.\fP
It is a structure that includes \f2visual\fP, \f2visualID\fP, \f2screen\fP, and
\f2depth\fP elements.
.P
\f3glXChooseVisual\fP is implemented as a client-side utility using only \f3XGetVisualInfo\fP
and \f3glXGetConfig\fP.
Calls to these two routines can be used to implement selection algorithms
other than the generic one implemented by \f3glXChooseVisual\fP.
.P
GLX implementers are strongly discouraged,
but not proscribed,
from changing the selection algorithm used by \f3glXChooseVisual\fP.
Therefore, selections may change from release to release
of the client-side library.
.P
There is no direct filter for picking only visuals that
support GLXPixmaps.
GLXPixmaps are supported for visuals whose
\f3GLX_BUFFER_SIZE\fP
is one of the pixmap depths supported by the X server.
.SH ERRORS
\f3NULL\fP is returned if an undefined GLX attribute is encountered in
\f2attribList\fP.
.SH SEE ALSO
\f3glXCreateContext\fP,
\f3glXGetConfig\fP
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 6 March 1997
.ds Re Release 1.2.0
.ds Dp Feb 16 02:56
.ds Dm Feb 10 17:2
.ds Xs 49166 6 xcopycontext.gl
.TH GLXCOPYCONTEXT
.SH NAME
.B "glXCopyContext
\- copy state from one rendering context to another
.SH C SPECIFICATION
void \f3glXCopyContext\fP(
Display \fI*dpy\fP,
.nf
.ta \w'\f3void \fPglXCopyContext( 'u
GLXContext \fIsrc\fP,
GLXContext \fIdst\fP,
unsigned long \fImask\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fImask\fP\ \ 'u
\f2dpy\fP
Specifies the connection to the X server.
.TP
\f2src\fP
Specifies the source context.
.TP
\f2dst\fP
Specifies the destination context.
.TP
\f2mask\fP
Specifies which portions of \f2src\fP state are to be copied to \f2dst\fP.
.SH DESCRIPTION
\f3glXCopyContext\fP copies selected groups of state variables from \f2src\fP to \f2dst\fP.
\f2mask\fP indicates which groups of state variables are to be copied.
\f2mask\fP contains the bitwise OR of the same symbolic names that are
passed to the GL command \f3glPushAttrib\fP.
The single symbolic constant \f3GL_ALL_ATTRIB_BITS\fP can be used to
copy the maximum possible portion of rendering state.
.P
The copy can be done only if the renderers named by \f2src\fP and \f2dst\fP
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 necessary for the calling
threads to share an address space,
only for their related rendering contexts to share an address space.
.P
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
.br
\f3glPushAttrib\fP.
.P
An implicit \f3glFlush\fP is done by \f3glXCopyContext\fP if \f2src\fP is the current
context for the calling thread.
.SH NOTES
.P
A \f2process\fP is a single execution environment,
implemented in a single address space,
consisting of one or more threads.
.P
A \f2thread\fP 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 \f2thread\fP that is the only member of its subprocess group
is equivalent to a \f2process\fP.
.SH ERRORS
\f3BadMatch\fP is generated if rendering contexts \f2src\fP and \f2dst\fP
do not share an address space
or were not created with respect to the same screen.
.P
\f3BadAccess\fP is generated if \f2dst\fP is current to any thread
(including the calling thread) at the time \f3glXCopyContext\fP is called.
.P
\f3GLXBadCurrentWindow\fP is generated if \f2src\fP is the current
context and the current drawable is a window that is no longer valid.
.P
\f3GLXBadContext\fP is generated if either \f2src\fP or \f2dst\fP is not
a valid GLX context.
.SH SEE ALSO
\f3glPushAttrib\fP,
\f3glXCreateContext\fP,
\f3glXIsDirect\fP
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 6 March 1997
.ds Re Release 1.2.0
.ds Dp Feb 16 02:56
.ds Dm Feb 10 17:2
.ds Xs 16965 8 xcreatecontext.gl
.TH GLXCREATECONTEXT
.SH NAME
.B "glXCreateContext
\- create a new GLX rendering context
.SH C SPECIFICATION
GLXContext \f3glXCreateContext\fP(
Display \fI*dpy\fP,
.nf
.ta \w'\f3GLXContext \fPglXCreateContext( 'u
XVisualInfo \fI*vis\fP,
GLXContext \fIshareList\fP,
Bool \fIdirect\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIshareList\fP\ \ 'u
\f2dpy\fP
Specifies the connection to the X server.
.TP
\f2vis\fP
Specifies the visual that defines the frame buffer resources available to
the rendering context.
It is a pointer to an \f3XVisualInfo\fP structure,
not a visual ID or a pointer to a \f3Visual\fP.
.TP
\f2shareList\fP
Specifies the context with which to share display lists.
\f3NULL\fP indicates that no sharing is to take place.
.TP
\f2direct\fP
Specifies whether rendering is to be done with a direct connection
to the graphics system if possible (\f3True\fP)
or through the X server (\f3False\fP).
.SH DESCRIPTION
\f3glXCreateContext\fP creates a GLX rendering context and returns its handle.
This context can be used to render into both windows and GLX pixmaps.
If \f3glXCreateContext\fP fails to create a rendering context,
\f3NULL\fP is returned.
.P
If \f2direct\fP is \f3True\fP,
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 \f2direct\fP is \f3True\fP).
If \f2direct\fP is \f3False\fP,
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.
.P
If \f2shareList\fP is not \f3NULL\fP,
then all display-list indexes and definitions are shared by
context \f2shareList\fP 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 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 address space.
.P
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.
.SH NOTES
\f3XVisualInfo\fP is defined in \f2Xutil.h.\fP
It is a structure that includes \f2visual\fP, \f2visualID\fP, \f2screen\fP, and
\f2depth\fP elements.
.P
A \f2process\fP is a single execution environment,
implemented in a single address space,
consisting of one or more threads.
.P
A \f2thread\fP 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 \f2thread\fP that is the only member of its subprocess group
is equivalent to a \f2process\fP.
.P
It may not be possible to render to a GLX pixmap with a direct rendering
context.
.SH ERRORS
\f3NULL\fP is returned if execution fails on the client side.
.P
\f3BadMatch\fP is generated if the context to be created would not
share the address space or the screen of the context specified by \f2shareList\fP.
.P
\f3BadValue\fP is generated if \f2vis\fP is not a valid visual (for
example, if a particular GLX implementation does not support it).
.P
\f3GLXBadContext\fP is generated if \f2shareList\fP is not a GLX context
and is not \f3NULL\fP.
.P
\f3BadAlloc\fP is generated if the server does not have enough
resources to allocate the new context.
.SH SEE ALSO
\f3glXDestroyContext\fP,
\f3glXGetConfig\fP,
\f3glXIsDirect\fP,
\f3glXMakeCurrent\fP
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 6 March 1997
.ds Re Release 1.2.0
.ds Dp Feb 16 02:56
.ds Dm Feb 10 17:2
.ds Xs 62493 5 xcreateglxpixmap.gl
.TH GLXCREATEGLXPIXMAP
.SH NAME
.B "glXCreateGLXPixmap
\- create an off-screen GLX rendering area
.SH C SPECIFICATION
GLXPixmap \f3glXCreateGLXPixmap\fP(
Display \fI*dpy\fP,
.nf
.ta \w'\f3GLXPixmap \fPglXCreateGLXPixmap( 'u
XVisualInfo \fI*vis\fP,
Pixmap \fIpixmap\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIpixmap\fP\ \ 'u
\f2dpy\fP
Specifies the connection to the X server.
.TP
\f2vis\fP
Specifies the visual that defines the structure of the rendering area.
It is a pointer to an \f3XVisualInfo\fP structure,
not a visual ID or a pointer to a \f3Visual\fP.
.TP
\f2pixmap\fP
Specifies the X pixmap that will be used as the front left color buffer
of the off-screen rendering area.
.SH DESCRIPTION
\f3glXCreateGLXPixmap\fP creates an off-screen rendering area and returns its XID.
Any GLX rendering context that was created with respect to \f2vis\fP
can be used to render into this off-screen area.
Use \f3glXMakeCurrent\fP to associate the rendering area with a GLX
rendering context.
.P
The X pixmap identified by \f2pixmap\fP is used as the front left buffer of the
resulting off-screen rendering area.
All other buffers specified by \f2vis\fP,
including color buffers other than the front left buffer,
are created without externally visible names.
GLX pixmaps with double-buffering are supported.
However, \f3glXSwapBuffers\fP is ignored by these pixmaps.
.P
Some implementations may not support GLX pixmaps with direct rendering
contexts.
.SH NOTES
\f3XVisualInfo\fP is defined in \f2Xutil.h.\fP
It is a structure that includes \f2visual\fP, \f2visualID\fP, \f2screen\fP, and
\f2depth\fP elements.
.SH ERRORS
\f3BadMatch\fP is generated if the depth of \f2pixmap\fP does not match
the depth value reported by core X11 for \f2vis\fP,
or if \f2pixmap\fP was not created with respect to the same screen as \f2vis\fP.
.P
\f3BadValue\fP is generated
if \f2vis\fP is not a valid XVisualInfo pointer (for example, if a
particular GLX implementation does not support this visual).
.P
\f3BadPixmap\fP is generated if \f2pixmap\fP is not a valid pixmap.
.P
\f3BadAlloc\fP is generated if the server cannot allocate the GLX
pixmap.
.SH SEE ALSO
\f3glXCreateContext\fP,
\f3glXIsDirect\fP,
\f3glXMakeCurrent\fP
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 6 March 1997
.ds Re Release 1.2.0
.ds Dp Feb 16 02:56
.ds Dm Feb 10 17:2