Opentk/Source/Bind/Specifications/Docs/glXGetFBConfigAttrib.xml

507 lines
22 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glXGetFBConfigAttrib">
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
</copyright>
</refmetainfo>
<refentrytitle>glXGetFBConfigAttrib</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glXGetFBConfigAttrib</refname>
<refpurpose>return information about a GLX frame buffer configuration</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>glXGetFBConfigAttrib</function></funcdef>
<paramdef>Display * <parameter>dpy</parameter></paramdef>
<paramdef>GLXFBConfig <parameter>config</parameter></paramdef>
<paramdef>int <parameter>attribute</parameter></paramdef>
<paramdef>int * <parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>dpy</parameter></term>
<listitem>
<para>
Specifies the connection to the X server.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>config</parameter></term>
<listitem>
<para>
Specifies the GLX frame buffer configuration to be queried.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attribute</parameter></term>
<listitem>
<para>
Specifies the attribute to be returned.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Returns the requested value.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glXGetFBConfigAttrib</function> sets <parameter>value</parameter> to the <parameter>attribute</parameter> value of GLX drawables
created with respect to <parameter>config</parameter>.
<function>glXGetFBConfigAttrib</function> returns an error code if it fails for any reason.
Otherwise, <constant>Success</constant> is returned.
</para>
<para>
<parameter>attribute</parameter> is one of the following:
</para>
<para>
</para>
<variablelist>
<varlistentry>
<term><constant>GLX_FBCONFIG_ID</constant></term>
<listitem>
<para>
XID of the given GLXFBConfig.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_BUFFER_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits per color buffer.
If the frame buffer configuration supports RGBA contexts, then
<constant>GLX_BUFFER_SIZE</constant> is the sum of
<constant>GLX_RED_SIZE</constant>,
<constant>GLX_GREEN_SIZE</constant>,
<constant>GLX_BLUE_SIZE</constant>, and
<constant>GLX_ALPHA_SIZE</constant>.
If the frame buffer configuration supports only color index contexts,
<constant>GLX_BUFFER_SIZE</constant> is the size of the
color indexes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_LEVEL</constant></term>
<listitem>
<para>
</para>
<para>
Frame buffer level of the configuration.
Level zero is the default frame buffer.
Positive levels correspond to frame buffers that overlay the default buffer,
and negative levels correspond to frame buffers that underlie the default
buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_DOUBLEBUFFER</constant></term>
<listitem>
<para>
</para>
<para>
<constant>True</constant> if color buffers exist in front/back pairs that can be swapped,
<constant>False</constant> otherwise.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_STEREO</constant></term>
<listitem>
<para>
</para>
<para>
<constant>True</constant> if color buffers exist in left/right pairs,
<constant>False</constant> otherwise.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_AUX_BUFFERS</constant></term>
<listitem>
<para>
</para>
<para>
Number of auxiliary color buffers that are available.
Zero indicates that no auxiliary color buffers exist.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_RED_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of red stored in each color buffer.
Undefined if RGBA contexts are not supported by the frame buffer configuration.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_GREEN_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of green stored in each color buffer.
Undefined if RGBA contexts are not supported by the frame buffer configuration.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_BLUE_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of blue stored in each color buffer.
Undefined if RGBA contexts are not supported by the frame buffer configuration.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_ALPHA_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of alpha stored in each color buffer.
Undefined if RGBA contexts are not supported by the frame buffer configuration.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_DEPTH_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits in the depth buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_STENCIL_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits in the stencil buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_ACCUM_RED_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of red stored in the accumulation buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_ACCUM_GREEN_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of green stored in the accumulation buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_ACCUM_BLUE_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of blue stored in the accumulation buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_ACCUM_ALPHA_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Number of bits of alpha stored in the accumulation buffer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_RENDER_TYPE</constant></term>
<listitem>
<para>
</para>
<para>
Mask indicating what type of GLX contexts can be made
current to the frame buffer configuration. Valid bits are
<constant>GLX_RGBA_BIT</constant> and
<constant>GLX_COLOR_INDEX_BIT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_DRAWABLE_TYPE</constant></term>
<listitem>
<para>
</para>
<para>
Mask indicating what drawable types the frame buffer configuration
supports. Valid bits are <constant>GLX_WINDOW_BIT</constant>,
<constant>GLX_PIXMAP_BIT</constant>, and <constant>GLX_PBUFFER_BIT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_X_RENDERABLE</constant></term>
<listitem>
<para>
</para>
<para>
<constant>True</constant> if drawables created with the
frame buffer configuration can be rendered to by X.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_VISUAL_ID</constant></term>
<listitem>
<para>
</para>
<para>
XID of the corresponding visual, or zero
if there is no associated visual (i.e., if
<constant>GLX_X_RENDERABLE</constant> is <constant>False</constant> or
<constant>GLX_DRAWABLE_TYPE</constant> does not have the
<constant>GLX_WINDOW_BIT</constant> bit set).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_X_VISUAL_TYPE</constant></term>
<listitem>
<para>
</para>
<para>
Visual type of associated visual. The returned value will be one of:
<constant>GLX_TRUE_COLOR</constant>, <constant>GLX_DIRECT_COLOR</constant>, <constant>GLX_PSEUDO_COLOR</constant>,
<constant>GLX_STATIC_COLOR</constant>, <constant>GLX_GRAY_SCALE</constant>, <constant>GLX_STATIC_GRAY</constant>,
or <constant>GLX_NONE</constant>, if there is no associated visual (i.e., if
<constant>GLX_X_RENDERABLE</constant> is <constant>False</constant> or
<constant>GLX_DRAWABLE_TYPE</constant> does not have the
<constant>GLX_WINDOW_BIT</constant> bit set).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_CONFIG_CAVEAT</constant></term>
<listitem>
<para>
</para>
<para>
One of <constant>GLX_NONE</constant>,
<constant>GLX_SLOW_CONFIG</constant>, or
<constant>GLX_NON_CONFORMANT_CONFIG</constant>, indicating
that the frame buffer configuration has no caveats,
some aspect of the frame buffer configuration runs slower
than other frame buffer configurations, or some aspect of the
frame buffer configuration is nonconformant, respectively.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_TYPE</constant></term>
<listitem>
<para>
</para>
<para>
One of <constant>GLX_NONE</constant>,
<constant>GLX_TRANSPARENT_RGB</constant>,
<constant>GLX_TRANSPARENT_INDEX</constant>, indicating that
the frame buffer configuration is opaque, is transparent for particular
values of red, green, and blue, or is transparent for
particular index values, respectively.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_INDEX_VALUE</constant></term>
<listitem>
<para>
</para>
<para>
Integer value between 0 and the maximum
frame buffer value for indices, indicating the transparent
index value for the frame buffer configuration.
Undefined if <constant>GLX_TRANSPARENT_TYPE</constant>
is not <constant>GLX_TRANSPARENT_INDEX</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_RED_VALUE</constant></term>
<listitem>
<para>
</para>
<para>
Integer value between 0 and the maximum
frame buffer value for red, indicating the transparent
red value for the frame buffer configuration.
Undefined if <constant>GLX_TRANSPARENT_TYPE</constant>
is not <constant>GLX_TRANSPARENT_RGB</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_GREEN_VALUE</constant></term>
<listitem>
<para>
</para>
<para>
Integer value between 0 and the maximum
frame buffer value for green, indicating the transparent
green value for the frame buffer configuration.
Undefined if <constant>GLX_TRANSPARENT_TYPE</constant>
is not <constant>GLX_TRANSPARENT_RGB</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_BLUE_VALUE</constant></term>
<listitem>
<para>
</para>
<para>
Integer value between 0 and the maximum
frame buffer value for blue, indicating the transparent
blue value for the frame buffer configuration.
Undefined if <constant>GLX_TRANSPARENT_TYPE</constant>
is not <constant>GLX_TRANSPARENT_RGB</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_TRANSPARENT_ALPHA_VALUE</constant></term>
<listitem>
<para>
</para>
<para>
Integer value between 0 and the maximum
frame buffer value for alpha, indicating the transparent
blue value for the frame buffer configuration.
Undefined if <constant>GLX_TRANSPARENT_TYPE</constant>
is not <constant>GLX_TRANSPARENT_RGB</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_MAX_PBUFFER_WIDTH</constant></term>
<listitem>
<para>
</para>
<para>
The maximum width that can be specified to
<citerefentry><refentrytitle>glXCreatePbuffer</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_MAX_PBUFFER_HEIGHT</constant></term>
<listitem>
<para>
</para>
<para>
The maximum height that can be specified to
<citerefentry><refentrytitle>glXCreatePbuffer</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GLX_MAX_PBUFFER_PIXELS</constant></term>
<listitem>
<para>
</para>
<para>
The maximum number of pixels (width times height) for a
pixel buffer. Note that this value may be less than
<constant>GLX_MAX_PBUFFER_WIDTH</constant> times
<constant>GLX_MAX_PBUFFER_HEIGHT</constant>. Also, this
value is static and assumes that no other pixel buffers
or X resources are contending for the frame buffer memory.
As a result, it may not be possible to allocate a pixel buffer of
the size given by <constant>GLX_MAX_PBUFFER_PIXELS</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Applications should choose the frame buffer configuration that most closely
meets their requirements.
Creating windows, GLX pixmaps, or GLX pixel buffers with unnecessary buffers
can result in
reduced rendering performance as well as poor resource allocation.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>glXGetFBConfigAttrib</function> is available only if the GLX version is 1.3 or greater.
</para>
<para>
If the GLX version is 1.1 or 1.0, the GL version must be 1.0.
If the GLX version is 1.2, then the GL version must be 1.1.
If the GLX version is 1.3, then the GL version must be 1.2.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GLX_NO_EXTENSION</constant> is returned if <parameter>dpy</parameter> does not support the GLX
extension.
<constant>GLX_BAD_ATTRIBUTE</constant> is returned if <parameter>attribute</parameter> is not a valid GLX attribute.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glXGetFBConfigs</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glXChooseFBConfig</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glXGetVisualFromFBConfig</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glXGetConfig</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>
</refsect1>
</refentry>