ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX - create a new GLX rendering context with
_c_o_n_f_i_g Specifies the GLX frame buffer configuration that defines
the frame buffer resources available to the rendering
context.
_r_e_n_d_e_r__t_y_p_e Specifies the type of rendering context desired. Must be one
of GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX or GGGGLLLLXXXX____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX.
_s_h_a_r_e__l_i_s_t Specifies the context with which to share display lists and
texture objects. NNNNUUUULLLLLLLL indicates that no sharing is to take
place.
_d_i_r_e_c_t Specifies whether rendering is to be done with a direct
connection to the graphics system if possible (TTTTrrrruuuueeee) or
through the X server (FFFFaaaallllsssseeee).
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX creates a GLX rendering context and
returns its handle. If ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX fails to create a
rendering context, NNNNUUUULLLLLLLL is returned.
If _d_i_r_e_c_t is TTTTrrrruuuueeee, then a direct rendering context is created if the
implementation supports direct rendering and the connection is to an X
server that is local. If _d_i_r_e_c_t is FFFFaaaallllsssseeee, then a rendering context that
renders through the X server is always created. Direct rendering
provides a performance advantage. However, direct rendering contexts
cannot be shared outside a single process, and they cannot be used to
render to GLX pixmaps.
If _s_h_a_r_e__l_i_s_t is not NNNNUUUULLLLLLLL, then all display-list and texture object
indexes and definitions are shared by context _s_h_a_r_e__l_i_s_t and by the newly
created context. An arbitrary number of contexts can share a single
display-list and texture object space, as long as these contexts 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.
The context created by ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX can be used to
render into windows, GLX pixmaps and/or GLX pbuffers. Before rendering,
the context must be made current to a thread and GLX drawable by calling
ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnntttt. The context can only be made current to a drawable that
is _c_o_m_p_a_t_i_b_l_e with it. This requires the following conditions to be met:
The context's _r_e_n_d_e_r__t_y_p_e attribute (either GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX or
GGGGLLLLXXXX____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX) is supported by the GLXFBConfigSGIX that
the drawable was created with. For example, if the context's
_r_e_n_d_e_r__t_y_p_e attribute is GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX, then the
GGGGLLLLXXXX____RRRREEEENNNNDDDDEEEERRRR____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX attribute of the drawable's GLXFBConfigSGIX
must have the GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____BBBBIIIITTTT____SSSSGGGGIIIIXXXX bit set.
All color buffers and ancillary buffers that exist in both the
drawable's and context's GLXFBConfigSGIX have the same depth. For
example, a GLXFBConfigSGIX that has a front left buffer and a back
left buffer with red, green and blue sizes of 4 is not compatible
with a GLXFBConfigSGIX that has only a front left buffer with red,
green and blue sizes of 8. However, it is compatible with a
GLXFBConfigSGIX that has only a front left buffer if the red, green
and blue sizes are 4.
NNNNOOOOTTTTEEEESSSS
ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX is part of the GGGGLLLLXXXX____SSSSGGGGIIIIXXXX____ffffbbbbccccoooonnnnffffiiiigggg
extension.
A _p_r_o_c_e_s_s is a single execution environment, implemented in a single
address space, consisting of one or more threads.
A _t_h_r_e_a_d 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 _t_h_r_e_a_d that is the only member of its subprocess
group is equivalent to a _p_r_o_c_e_s_s.
EEEERRRRRRRROOOORRRRSSSS
NNNNUUUULLLLLLLL is returned if execution fails on the client side.
BBBBaaaaddddMMMMaaaattttcccchhhh is generated if the context to be created would not share the
address space or the screen of the context specified by _s_h_a_r_e__l_i_s_t.
GGGGLLLLXXXXBBBBaaaaddddFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX is generated if _c_o_n_f_i_g is not a valid GLXFBConfig.