0b147e539a14bf5cbe71f928b15a76617ca9b3f4
[clinton/guile-figl.git] / upstream-man-pages / man2 / xhtml / glXChooseFBConfig.xml
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
2 <!-- saved from url=(0013)about:internet -->
3 <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>glXChooseFBConfig</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glXChooseFBConfig"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glXChooseFBConfig — return a list of GLX frame buffer configurations that match the specified attributes</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">GLXFBConfig * <b class="fsfunc">glXChooseFBConfig</b>(</code></td><td>Display *  </td><td><var class="pdparam">dpy</var>, </td></tr><tr><td> </td><td>int  </td><td><var class="pdparam">screen</var>, </td></tr><tr><td> </td><td>const int *  </td><td><var class="pdparam">attrib_list</var>, </td></tr><tr><td> </td><td>int *  </td><td><var class="pdparam">nelements</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>dpy</code></em></span></dt><dd><p>
4 Specifies the connection to the X server.
5 </p></dd><dt><span class="term"><em class="parameter"><code>screen</code></em></span></dt><dd><p>
6 Specifies the screen number.
7 </p></dd><dt><span class="term"><em class="parameter"><code>attrib_list</code></em></span></dt><dd><p>
8 Specifies a list of attribute/value pairs.
9 The last attribute must be <code class="constant">None</code>.
10 </p></dd><dt><span class="term"><em class="parameter"><code>nelements</code></em></span></dt><dd><p>
11 Returns the number of elements in the list returned by <code class="function">glXChooseFBConfig</code>.
12 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
13 <code class="function">glXChooseFBConfig</code> returns GLX frame buffer configurations that match the attributes
14 specified in <em class="parameter"><code>attrib_list</code></em>, or <code class="constant">NULL</code> if no matches are found.
15 If <em class="parameter"><code>attrib_list</code></em> is <code class="constant">NULL</code>, then <code class="function">glXChooseFBConfig</code> returns an array of GLX
16 frame buffer configurations that are available on the specified screen.
17 If an error occurs, no frame buffer configurations exist on the
18 specified screen, or if no frame buffer configurations match the
19 specified attributes, then <code class="constant">NULL</code> is returned.
20 Use <code class="function">XFree</code> to free the memory returned by
21 <code class="function">glXChooseFBConfig</code>.
22 </p><p>
23 All attributes in <em class="parameter"><code>attrib_list</code></em>, including boolean attributes, are
24 immediately followed by the corresponding desired value. The list is
25 terminated with <code class="constant">None</code>. If an attribute is not specified in <em class="parameter"><code>attrib_list</code></em>,
26 then the default value (see below) is used (and the attribute is said to be
27 specified implicitly). For example, if <code class="constant">GLX_STEREO</code> is not specified, then
28 it is assumed to be <code class="constant">False</code>. For some attributes, the default is
29 <code class="constant">GLX_DONT_CARE</code>, meaning that any value is OK for this attribute, so the
30 attribute will not be checked.
31 </p><p>
32 Attributes are matched in an attribute-specific manner.
33 Some of the attributes, such as <code class="constant">GLX_LEVEL</code>, must match the specified
34 value exactly; others, such as, <code class="constant">GLX_RED_SIZE</code> must meet or exceed the
35 specified minimum values. If more than one GLX frame buffer configuration is found,
36 then a list of configurations, sorted
37 according to the ``best'' match criteria, is returned. The match
38 criteria for each attribute and the exact sorting order is
39 defined below.
40 </p><p>
41 The interpretations of the various GLX visual attributes are as follows:
42 </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GLX_FBCONFIG_ID</code></span></dt><dd><p>
43 </p><p>
44 Must be followed by a valid XID that indicates the desired GLX frame
45 buffer configuration. When a <code class="constant">GLX_FBCONFIG_ID</code> is specified, all
46 attributes are ignored. The default value is <code class="constant">GLX_DONT_CARE</code>.
47 </p></dd><dt><span class="term"><code class="constant">GLX_BUFFER_SIZE</code></span></dt><dd><p>
48 </p><p>
49 Must be followed by a nonnegative integer that indicates the desired
50 color index buffer size.
51 The smallest index buffer of at least the specified size is preferred.
52 This attribute is ignored if <code class="constant">GLX_COLOR_INDEX_BIT</code> is not set in
53 <code class="constant">GLX_RENDER_TYPE</code>. The default value is 0.
54 </p></dd><dt><span class="term"><code class="constant">GLX_LEVEL</code></span></dt><dd><p>
55 </p><p>
56 Must be followed by an integer buffer-level specification.
57 This specification is honored exactly.
58 Buffer level 0 corresponds to the default frame buffer of the display.
59 Buffer level 1 is the first overlay frame buffer, level two the second
60 overlay frame buffer, and so on.
61 Negative buffer levels correspond to underlay frame buffers.
62 The default value is 0.
63 </p></dd><dt><span class="term"><code class="constant">GLX_DOUBLEBUFFER</code></span></dt><dd><p>
64 </p><p>
65 Must be followed by <code class="constant">True</code> or <code class="constant">False</code>. If
66 <code class="constant">True</code> is specified, then
67 only double-buffered frame buffer configurations are considered;
68 if
69 <code class="constant">False</code> is specified, then
70 only single-buffered frame buffer configurations are considered.
71 The default value is <code class="constant">GLX_DONT_CARE</code>.
72 </p></dd><dt><span class="term"><code class="constant">GLX_STEREO</code></span></dt><dd><p>
73 </p><p>
74 Must be followed by <code class="constant">True</code> or <code class="constant">False</code>. If
75 <code class="constant">True</code> is specified, then
76 only stereo frame buffer configurations are considered;
77 if
78 <code class="constant">False</code> is specified, then
79 only monoscopic frame buffer configurations are considered.
80 The default value is <code class="constant">False</code>.
81 </p></dd><dt><span class="term"><code class="constant">GLX_AUX_BUFFERS</code></span></dt><dd><p>
82 </p><p>
83 Must be followed by a nonnegative integer that indicates the desired
84 number of auxiliary buffers.
85 Configurations with the
86 smallest number of auxiliary buffers that meet or exceed
87 the specified number are preferred.
88 The default value is 0.
89 </p></dd><dt><span class="term"><code class="constant">GLX_RED_SIZE</code>, <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>, <code class="constant">GLX_ALPHA_SIZE</code></span></dt><dd><p>
90 </p><p>
91 Each attribute, if present, must be followed by a nonnegative minimum size
92 specification or <code class="constant">GLX_DONT_CARE</code>.
93 The largest available total RGBA color buffer size (sum of <code class="constant">GLX_RED_SIZE</code>,
94 <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>, and <code class="constant">GLX_ALPHA_SIZE</code>)
95 of at least the minimum size specified for each color component is preferred.
96 If the requested number of bits for a color component is 0 or
97 <code class="constant">GLX_DONT_CARE</code>, it is not considered. The default value for each color
98 component is 0.
99 </p></dd><dt><span class="term"><code class="constant">GLX_DEPTH_SIZE</code></span></dt><dd><p>
100 </p><p>
101 Must be followed by a nonnegative minimum size specification.
102 If this value is zero,
103 frame buffer configurations with no depth buffer are preferred.
104 Otherwise, the largest available depth buffer of at least the minimum size
105 is preferred.
106 The default value is 0.
107 </p></dd><dt><span class="term"><code class="constant">GLX_STENCIL_SIZE</code></span></dt><dd><p>
108 </p><p>
109 Must be followed by a nonnegative integer that indicates the desired
110 number of stencil bitplanes.
111 The smallest stencil buffer of at least the specified size is preferred.
112 If the desired value is zero,
113 frame buffer configurations with no stencil buffer are preferred.
114 The default value is 0.
115 </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_RED_SIZE</code></span></dt><dd><p>
116 </p><p>
117 Must be followed by a nonnegative minimum size specification.
118 If this value is zero,
119 frame buffer configurations with no red accumulation buffer are preferred.
120 Otherwise, the largest possible red accumulation buffer
121 of at least the minimum size is preferred.
122 The default value is 0.
123 </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_GREEN_SIZE</code></span></dt><dd><p>
124 </p><p>
125 Must be followed by a nonnegative minimum size specification.
126 If this value is zero,
127 frame buffer configurations with no green accumulation buffer are preferred.
128 Otherwise, the largest possible green accumulation buffer
129 of at least the minimum size is preferred.
130 The default value is 0.
131 </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_BLUE_SIZE</code></span></dt><dd><p>
132 </p><p>
133 Must be followed by a nonnegative minimum size specification.
134 If this value is zero,
135 frame buffer configurations with no blue accumulation buffer are preferred.
136 Otherwise, the largest possible blue accumulation buffer
137 of at least the minimum size is preferred.
138 The default value is 0.
139 </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_ALPHA_SIZE</code></span></dt><dd><p>
140 </p><p>
141 Must be followed by a nonnegative minimum size specification.
142 If this value is zero,
143 frame buffer configurations with no alpha accumulation buffer are preferred.
144 Otherwise, the largest possible alpha accumulation buffer
145 of at least the minimum size is preferred.
146 The default value is 0.
147 </p></dd><dt><span class="term"><code class="constant">GLX_RENDER_TYPE</code></span></dt><dd><p>
148 </p><p>
149 Must be followed by a mask indicating which OpenGL rendering modes
150 the frame buffer configuration must support.
151 Valid bits are <code class="constant">GLX_RGBA_BIT</code> and
152 <code class="constant">GLX_COLOR_INDEX_BIT</code>. If the mask is
153 set to <code class="constant">GLX_RGBA_BIT</code> | <code class="constant">GLX_COLOR_INDEX_BIT</code>,
154 then only frame buffer configurations that can be bound to both
155 RGBA contexts and color index contexts will be considered.
156 The default value is <code class="constant">GLX_RGBA_BIT</code>.
157 </p></dd><dt><span class="term"><code class="constant">GLX_DRAWABLE_TYPE</code></span></dt><dd><p>
158 </p><p>
159 Must be followed by a mask indicating which GLX drawable types
160 the frame buffer configuration must support. Valid bits are
161 <code class="constant">GLX_WINDOW_BIT</code>,
162 <code class="constant">GLX_PIXMAP_BIT</code>, and <code class="constant">GLX_PBUFFER_BIT</code>.
163 For example, if mask is set to
164 <code class="constant">GLX_WINDOW_BIT</code> | <code class="constant">GLX_PIXMAP_BIT</code>,
165 only frame buffer configurations that support both windows and GLX pixmaps
166 will be considered.
167 The default value is <code class="constant">GLX_WINDOW_BIT</code>.
168 </p></dd><dt><span class="term"><code class="constant">GLX_X_RENDERABLE</code></span></dt><dd><p>
169 </p><p>
170 Must be followed by <code class="constant">True</code> or <code class="constant">False</code>.
171 If <code class="constant">True</code> is specified, then only frame buffer configurations that
172 have associated X visuals (and can be used to render to Windows and/or
173 GLX pixmaps) will be considered.
174 The default value is <code class="constant">GLX_DONT_CARE</code>.
175 </p></dd><dt><span class="term"><code class="constant">GLX_X_VISUAL_TYPE</code></span></dt><dd><p>
176 </p><p>
177 Must be followed by one of
178 <code class="constant">GLX_TRUE_COLOR</code>,
179 <code class="constant">GLX_DIRECT_COLOR</code>,
180 <code class="constant">GLX_PSEUDO_COLOR</code>,
181 <code class="constant">GLX_STATIC_COLOR</code>,
182 <code class="constant">GLX_GRAY_SCALE</code>, or
183 <code class="constant">GLX_STATIC_GRAY</code>, indicating the desired X visual type.
184 Not all frame buffer configurations have an associated X visual. If
185 <code class="constant">GLX_DRAWABLE_TYPE</code> is specified in <em class="parameter"><code>attrib_list</code></em> and the
186 mask that follows does not have <code class="constant">GLX_WINDOW_BIT</code> set,
187 then this value is ignored. It is also ignored if
188 <code class="constant">GLX_X_RENDERABLE</code> is specified as <code class="constant">False</code>.
189 RGBA rendering may be supported for visuals of type
190 <code class="constant">GLX_TRUE_COLOR</code>,
191 <code class="constant">GLX_DIRECT_COLOR</code>,
192 <code class="constant">GLX_PSEUDO_COLOR</code>,
193 or <code class="constant">GLX_STATIC_COLOR</code>,
194 but color index rendering is only supported for visuals of type
195 <code class="constant">GLX_PSEUDO_COLOR</code> or <code class="constant">GLX_STATIC_COLOR</code>
196 (i.e., single-channel visuals).
197 The tokens <code class="constant">GLX_GRAY_SCALE</code> and <code class="constant">GLX_STATIC_GRAY</code> will
198 not match current OpenGL enabled visuals, but are included for future use.
199 The default value for <code class="constant">GLX_X_VISUAL_TYPE</code> is <code class="constant">GLX_DONT_CARE</code>.
200 </p></dd><dt><span class="term"><code class="constant">GLX_CONFIG_CAVEAT</code></span></dt><dd><p>
201 </p><p>
202 Must be followed by one of
203 <code class="constant">GLX_NONE</code>,
204 <code class="constant">GLX_SLOW_CONFIG</code>,
205 <code class="constant">GLX_NON_CONFORMANT_CONFIG</code>.
206 If <code class="constant">GLX_NONE</code> is specified, then only frame buffer configurations with
207 no caveats will be considered; if <code class="constant">GLX_SLOW_CONFIG</code>
208 is specified, then only slow frame buffer configurations will be considered; if
209 <code class="constant">GLX_NON_CONFORMANT_CONFIG</code> is specified, then only
210 nonconformant frame buffer configurations will be considered.
211 The default value is <code class="constant">GLX_DONT_CARE</code>.
212 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_TYPE</code></span></dt><dd><p>
213 </p><p>
214 Must be followed by one of
215 <code class="constant">GLX_NONE</code>,
216 <code class="constant">GLX_TRANSPARENT_RGB</code>,
217 <code class="constant">GLX_TRANSPARENT_INDEX</code>.
218 If <code class="constant">GLX_NONE</code> is specified, then only opaque
219 frame buffer configurations will be considered; if <code class="constant">GLX_TRANSPARENT_RGB</code>
220 is specified, then only transparent
221 frame buffer configurations that support RGBA rendering will be considered;
222 if <code class="constant">GLX_TRANSPARENT_INDEX</code> is specified,
223 then only transparent frame buffer configurations that support color
224 index rendering will be considered.
225 The default value is <code class="constant">GLX_NONE</code>.
226 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_INDEX_VALUE</code></span></dt><dd><p>
227 </p><p>
228 Must be followed by an integer value indicating the transparent
229 index value; the value must be between 0 and the maximum
230 frame buffer value for indices.
231 Only frame buffer configurations that use the
232 specified transparent index value will be considered.
233 The default value is <code class="constant">GLX_DONT_CARE</code>.
234 This attribute is ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is
235 included in <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_INDEX</code>.
236 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_RED_VALUE</code></span></dt><dd><p>
237 </p><p>
238 Must be followed by an integer value indicating the transparent
239 red value; the value must be between 0 and the maximum
240 frame buffer value for red.
241 Only frame buffer configurations that use the
242 specified transparent red value will be considered.
243 The default value is <code class="constant">GLX_DONT_CARE</code>.
244 This attribute is
245 ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in
246 <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>.
247 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_GREEN_VALUE</code></span></dt><dd><p>
248 </p><p>
249 Must be followed by an integer value indicating the transparent
250 green value; the value must be between 0 and the maximum
251 frame buffer value for green.
252 Only frame buffer configurations that use the
253 specified transparent green value will be considered.
254 The default value is <code class="constant">GLX_DONT_CARE</code>.
255 This attribute is
256 ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in
257 <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>.
258 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_BLUE_VALUE</code></span></dt><dd><p>
259 </p><p>
260 Must be followed by an integer value indicating the transparent
261 blue value; the value must be between 0 and the maximum
262 frame buffer value for blue.
263 Only frame buffer configurations that use the
264 specified transparent blue value will be considered.
265 The default value is <code class="constant">GLX_DONT_CARE</code>.
266 This attribute is ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in
267 <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>.
268 </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_ALPHA_VALUE</code></span></dt><dd><p>
269 </p><p>
270 Must be followed by an integer value indicating the transparent
271 alpha value; the value must be between 0 and the maximum
272 frame buffer value for alpha.
273 Only frame buffer configurations that use the
274 specified transparent alpha value will be considered.
275 The default value is <code class="constant">GLX_DONT_CARE</code>.
276 </p></dd></dl></div><p>
277 When more than one GLX frame buffer configuration matches the specified attributes,
278 a list of matching configurations is returned. The list is sorted
279 according to the following precedence rules, which are applied in ascending
280 order (i.e., configurations
281 that are considered equal by a lower numbered rule are sorted by the higher
282 numbered rule):
283 </p><div class="variablelist"><dl><dt><span class="term">1.</span></dt><dd><p>
284 By <code class="constant">GLX_CONFIG_CAVEAT</code> where the precedence is <code class="constant">GLX_NONE</code>,
285 <code class="constant">GLX_SLOW_CONFIG</code>, and <code class="constant">GLX_NON_CONFORMANT_CONFIG</code>.
286 </p></dd><dt><span class="term">2.</span></dt><dd><p>
287 Larger total number of RGBA color components
288 (<code class="constant">GLX_RED_SIZE</code>, <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>,
289 plus <code class="constant">GLX_ALPHA_SIZE</code>)
290 that have higher number of bits. If the requested number of bits in
291 <em class="parameter"><code>attrib_list</code></em> is zero or <code class="constant">GLX_DONT_CARE</code> for a particular color
292 component, then the number of bits for that component is not considered.
293 </p></dd><dt><span class="term">3.</span></dt><dd><p>
294 Smaller <code class="constant">GLX_BUFFER_SIZE</code>.
295 </p></dd><dt><span class="term">4.</span></dt><dd><p>
296 Single buffered configuration (<code class="constant">GLX_DOUBLEBUFFER</code> being
297 <code class="constant">False</code> precedes a double buffered one.
298 </p></dd><dt><span class="term">5.</span></dt><dd><p>
299 Smaller <code class="constant">GLX_AUX_BUFFERS</code>.
300 </p></dd><dt><span class="term">6.</span></dt><dd><p>
301 Larger <code class="constant">GLX_DEPTH_SIZE</code>.
302 </p></dd><dt><span class="term">7.</span></dt><dd><p>
303 Smaller <code class="constant">GLX_STENCIL_SIZE</code>.
304 </p></dd><dt><span class="term">8.</span></dt><dd><p>
305 Larger total number of accumulation buffer color components
306 (<code class="constant">GLX_ACCUM_RED_SIZE</code>, <code class="constant">GLX_ACCUM_GREEN_SIZE</code>,
307 <code class="constant">GLX_ACCUM_BLUE_SIZE</code>, plus <code class="constant">GLX_ACCUM_ALPHA_SIZE</code>) that have
308 higher number of bits. If the requested number of bits in <em class="parameter"><code>attrib_list</code></em> is
309 zero or <code class="constant">GLX_DONT_CARE</code> for a particular color component, then the
310 number of bits for that component is not considered.
311 </p></dd><dt><span class="term">9.</span></dt><dd><p>
312 By <code class="constant">GLX_X_VISUAL_TYPE</code> where the precedence order is
313 <code class="constant">GLX_TRUE_COLOR</code>, <code class="constant">GLX_DIRECT_COLOR</code>, <code class="constant">GLX_PSEUDO_COLOR</code>,
314 <code class="constant">GLX_STATIC_COLOR</code>, <code class="constant">GLX_GRAY_SCALE</code>, <code class="constant">GLX_STATIC_GRAY</code>.
315 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="examples"></a><h2>Examples</h2><p>
316 </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>attrib_list</code></em> =</span></dt><dd><p>
317 {<code class="constant">GLX_RENDER_TYPE</code>, <code class="constant">GLX_RGBA_BIT</code>,
318 <code class="constant">GLX_RED_SIZE</code>, 4,
319 <code class="constant">GLX_GREEN_SIZE</code>, 4,
320 <code class="constant">GLX_BLUE_SIZE</code>, 4,
321 <code class="constant">None</code>};
322 </p></dd></dl></div><p>
323 Specifies a frame buffer configuration that supports RGBA rendering
324 and exists in the normal frame buffer,
325 not an overlay or underlay buffer.
326 The returned visual supports at least four bits each of red,
327 green, and blue,
328 and possibly no bits of alpha.
329 It does not support stereo display.
330 It may or may not have one or more auxiliary color buffers,
331 a back buffer,
332 a depth buffer,
333 a stencil buffer,
334 or an accumulation buffer.
335 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
336 <code class="function">glXChooseFBConfig</code> is available only if the GLX version is 1.3 or greater.
337 </p><p>
338 If the GLX version is 1.1 or 1.0, the GL version must be 1.0.
339 If the GLX version is 1.2, then the GL version must be 1.1.
340 If the GLX version is 1.3, then the GL version must be 1.2.
341 </p><p>
342 <a class="citerefentry" href="glXGetFBConfigs.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigs</span></span></a> and <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a> can
343 be used to implement selection algorithms other than the generic
344 one implemented by <code class="function">glXChooseFBConfig</code>. Call <code class="function">glXChooseFBConfig</code> to retrieve all the frame buffer configurations
345 on a particular screen or, alternatively, all the frame buffer configurations with
346 a particular set of attributes. Next, call <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a>
347 to retrieve additional attributes for the frame buffer configurations and then
348 select between them.
349 </p><p>
350 GLX implementations are strongly discouraged,
351 but not proscribed,
352 from changing the selection algorithm used by <code class="function">glXChooseFBConfig</code>.
353 Therefore, selections may change from release to release
354 of the client-side library.
355 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
356 <code class="constant">NULL</code> is returned if an undefined GLX attribute is
357 encountered in <em class="parameter"><code>attrib_list</code></em>, if <em class="parameter"><code>screen</code></em> is invalid, or if <em class="parameter"><code>dpy</code></em> does
358 not support the GLX extension.
359 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
360 <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a>,
361 <a class="citerefentry" href="glXGetFBConfigs.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigs</span></span></a>,
362 <a class="citerefentry" href="glXGetVisualFromFBConfig.xml"><span class="citerefentry"><span class="refentrytitle">glXGetVisualFromFBConfig</span></span></a>
363 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
364 Copyright <span class="trademark"></span>© 1991-2006
365 Silicon Graphics, Inc. This document is licensed under the SGI
366 Free Software B License. For details, see
367 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
368 </p></div></div></body></html>