rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glBindProgramPipeline.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glBindProgramPipeline">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2010</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glBindProgramPipeline</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glBindProgramPipeline</refname>
17 <refpurpose>bind a program pipeline to the current context</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glBindProgramPipeline</function></funcdef>
23 <paramdef>GLuint <parameter>pipeline</parameter></paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 </refsynopsisdiv>
27 <refsect1 id="parameters"><title>Parameters</title>
28 <variablelist>
29 <varlistentry>
30 <term><parameter>pipeline</parameter></term>
31 <listitem>
32 <para>
33 Specifies the name of the pipeline object to bind to the context.
34 </para>
35 </listitem>
36 </varlistentry>
37 </variablelist>
38 </refsect1>
39 <refsect1 id="description"><title>Description</title>
40 <para>
41 <function>glBindProgramPipeline</function> binds a program pipeline object to the current
42 context. <parameter>pipeline</parameter> must be a name previously returned from a call
43 to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>. If
44 no program pipeline exists with name <parameter>pipeline</parameter> then a new pipeline object
45 is created with that name and initialized to the default state vector.
46 </para>
47 <para>
48 When a program pipeline object is bound using <function>glBindProgramPipeline</function>, any previous
49 binding is broken and is replaced with a binding to the specified pipeline object. If <parameter>pipeline</parameter>
50 is zero, the previous binding is broken and is not replaced, leaving no pipeline object bound.
51 If no current program object has been established by <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
52 the program objects used for each stage and for uniform updates are taken from the bound program
53 pipeline object, if any. If there is a current program object established by <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>,
54 the bound program pipeline object has no effect on rendering or uniform updates. When a bound program
55 pipeline object is used for rendering, individual shader executables are taken from its program objects.
56 </para>
57 </refsect1>
58 <refsect1 id="errors"><title>Errors</title>
59 <para>
60 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pipeline</parameter> is not zero or
61 a name previously returned from a call to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>
62 or if such a name has been deleted by a call to
63 <citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>.
64 </para>
65 </refsect1>
66 <refsect1 id="seealso"><title>See Also</title>
67 <para>
68 <citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
69 <citerefentry><refentrytitle>glCreateProgram</refentrytitle></citerefentry>,
70 <citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
71 <citerefentry><refentrytitle>glLinkProgram</refentrytitle></citerefentry>,
72 <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>,
73 <citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>,
74 <citerefentry><refentrytitle>glIsProgramPipeline</refentrytitle></citerefentry>
75 </para>
76 </refsect1>
77 <refsect1 id="Copyright"><title>Copyright</title>
78 <para>
79 Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
80 This material may be distributed subject to the terms and conditions set forth in
81 the Open Publication License, v 1.0, 8 June 1999.
82 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
83 </para>
84 </refsect1>
85 </refentry>