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">
9 <holder>Khronos Group
</holder>
12 <refentrytitle>glBindProgramPipeline
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glBindProgramPipeline
</refname>
17 <refpurpose>bind a program pipeline to the current context
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glBindProgramPipeline
</function></funcdef>
23 <paramdef>GLuint
<parameter>pipeline
</parameter></paramdef>
27 <refsect1 id=
"parameters"><title>Parameters
</title>
30 <term><parameter>pipeline
</parameter></term>
33 Specifies the name of the pipeline object to bind to the context.
39 <refsect1 id=
"description"><title>Description
</title>
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.
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.
58 <refsect1 id=
"errors"><title>Errors
</title>
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>.
66 <refsect1 id=
"seealso"><title>See Also
</title>
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>
77 <refsect1 id=
"Copyright"><title>Copyright
</title>
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>.