File: glGetProgram.xml

package info (click to toggle)
khronos-opengl-man4 1.0~svn27841-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 24,888 kB
  • ctags: 377
  • sloc: xml: 188,408; makefile: 1,153; python: 736; sh: 49; php: 7; sed: 2
file content (145 lines) | stat: -rw-r--r-- 15,599 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<?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" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glGetProgram - OpenGL 4 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /></head><body><div class="refentry"><a id="glGetProgram"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glGetProgramiv — Returns a parameter from a program object</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <strong class="fsfunc">glGetProgramiv</strong>(</code></td><td>GLuint <var class="pdparam">program</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLint *<var class="pdparam">params</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>program</code></em></span></dt><dd><p>Specifies the program object to be
            queried.</p></dd><dt><span class="term"><em class="parameter"><code>pname</code></em></span></dt><dd><p>Specifies the object parameter. Accepted
            symbolic names are
            <code class="constant">GL_DELETE_STATUS</code>,
            <code class="constant">GL_LINK_STATUS</code>,
            <code class="constant">GL_VALIDATE_STATUS</code>,
            <code class="constant">GL_INFO_LOG_LENGTH</code>,
            <code class="constant">GL_ATTACHED_SHADERS</code>,
            <code class="constant">GL_ACTIVE_ATOMIC_COUNTER_BUFFERS</code>,
            <code class="constant">GL_ACTIVE_ATTRIBUTES</code>,
            <code class="constant">GL_ACTIVE_ATTRIBUTE_MAX_LENGTH</code>,
            <code class="constant">GL_ACTIVE_UNIFORMS</code>,
            <code class="constant">GL_ACTIVE_UNIFORM_BLOCKS</code>,
            <code class="constant">GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH</code>,
            <code class="constant">GL_ACTIVE_UNIFORM_MAX_LENGTH</code>,
            <code class="constant">GL_COMPUTE_WORK_GROUP_SIZE</code>
            <code class="constant">GL_PROGRAM_BINARY_LENGTH</code>,
            <code class="constant">GL_TRANSFORM_FEEDBACK_BUFFER_MODE</code>,
            <code class="constant">GL_TRANSFORM_FEEDBACK_VARYINGS</code>,
            <code class="constant">GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH</code>,
            <code class="constant">GL_GEOMETRY_VERTICES_OUT</code>,
            <code class="constant">GL_GEOMETRY_INPUT_TYPE</code>, and
            <code class="constant">GL_GEOMETRY_OUTPUT_TYPE</code>.</p></dd><dt><span class="term"><em class="parameter"><code>params</code></em></span></dt><dd><p>Returns the requested object parameter.</p></dd></dl></div></div><div class="refsect1"><a id="description"></a><h2>Description</h2><p><code class="function">glGetProgram</code>
    returns in <em class="parameter"><code>params</code></em>
    the value of a parameter for a specific program object. The following parameters are defined:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="constant">GL_DELETE_STATUS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns
            <code class="constant">GL_TRUE</code> if
            <em class="parameter"><code>program</code></em> is currently flagged
            for deletion, and <code class="constant">GL_FALSE</code>
            otherwise.</p></dd><dt><span class="term"><code class="constant">GL_LINK_STATUS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns
            <code class="constant">GL_TRUE</code> if the last link
            operation on <em class="parameter"><code>program</code></em> was
            successful, and <code class="constant">GL_FALSE</code>
            otherwise.</p></dd><dt><span class="term"><code class="constant">GL_VALIDATE_STATUS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns
            <code class="constant">GL_TRUE</code> or if the last
            validation operation on
            <em class="parameter"><code>program</code></em> was successful, and
            <code class="constant">GL_FALSE</code>
            otherwise.</p></dd><dt><span class="term"><code class="constant">GL_INFO_LOG_LENGTH</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            number of characters in the information log for
            <em class="parameter"><code>program</code></em> including the null
            termination character (i.e., the size of the
            character buffer required to store the information
            log). If <em class="parameter"><code>program</code></em> has no
            information log, a value of 0 is
            returned.</p></dd><dt><span class="term"><code class="constant">GL_ATTACHED_SHADERS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            number of shader objects attached to
            <em class="parameter"><code>program</code></em>.</p></dd><dt><span class="term"><code class="constant">GL_ACTIVE_ATOMIC_COUNTER_BUFFERS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            number of active attribute atomic counter buffers used by
            <em class="parameter"><code>program</code></em>.</p></dd><dt><span class="term"><code class="constant">GL_ACTIVE_ATTRIBUTES</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            number of active attribute variables for
            <em class="parameter"><code>program</code></em>.</p></dd><dt><span class="term"><code class="constant">GL_ACTIVE_ATTRIBUTE_MAX_LENGTH</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            length of the longest active attribute name for
            <em class="parameter"><code>program</code></em>, including the null
            termination character (i.e., the size of the
            character buffer required to store the longest
            attribute name). If no active attributes exist, 0 is
            returned.</p></dd><dt><span class="term"><code class="constant">GL_ACTIVE_UNIFORMS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            number of active uniform variables for
            <em class="parameter"><code>program</code></em>.</p></dd><dt><span class="term"><code class="constant">GL_ACTIVE_UNIFORM_MAX_LENGTH</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            length of the longest active uniform variable name
            for <em class="parameter"><code>program</code></em>, including the
            null termination character (i.e., the size of the
            character buffer required to store the longest
            uniform variable name). If no active uniform
            variables exist, 0 is returned.</p></dd><dt><span class="term"><code class="constant">GL_PROGRAM_BINARY_LENGTH</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the
            length of the program binary, in bytes that will be returned by
            a call to <a class="citerefentry" href="glGetProgramBinary.xml"><span class="citerefentry"><span class="refentrytitle">glGetProgramBinary</span></span></a>.
            When a progam's <code class="constant">GL_LINK_STATUS</code> is <code class="constant">GL_FALSE</code>,
            its program binary length is zero.
            </p></dd><dt><span class="term"><code class="constant">GL_COMPUTE_WORK_GROUP_SIZE</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns an
            array of three integers containing the local work group size of
            the compute program as specified by its input layout qualifier(s).
            <em class="parameter"><code>program</code></em> must be the name of a program object
            that has been previously linked successfully and contains a binary
            for the compute shader stage.
            </p></dd><dt><span class="term"><code class="constant">GL_TRANSFORM_FEEDBACK_BUFFER_MODE</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns a symbolic constant
            indicating the buffer mode used when transform feedback is active.
            This may be <code class="constant">GL_SEPARATE_ATTRIBS</code> or
            <code class="constant">GL_INTERLEAVED_ATTRIBS</code>.</p></dd><dt><span class="term"><code class="constant">GL_TRANSFORM_FEEDBACK_VARYINGS</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the number of varying
            variables to capture in transform feedback mode for the program.</p></dd><dt><span class="term"><code class="constant">GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the length of the longest
            variable name to be used for transform feedback, including the null-terminator.</p></dd><dt><span class="term"><code class="constant">GL_GEOMETRY_VERTICES_OUT</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns the maximum number of vertices
            that the geometry shader in <em class="parameter"><code>program</code></em> will output.</p></dd><dt><span class="term"><code class="constant">GL_GEOMETRY_INPUT_TYPE</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns a symbolic constant indicating
            the primitive type accepted as input to the geometry shader contained in
            <em class="parameter"><code>program</code></em>.</p></dd><dt><span class="term"><code class="constant">GL_GEOMETRY_OUTPUT_TYPE</code></span></dt><dd><p>
            </p><p> <em class="parameter"><code>params</code></em> returns a symbolic constant indicating
            the primitive type that will be output by the geometry shader contained
            in <em class="parameter"><code>program</code></em>.</p></dd></dl></div></div><div class="refsect1"><a id="notes"></a><h2>Notes</h2><p>
            <code class="constant">GL_ACTIVE_UNIFORM_BLOCKS</code> and
            <code class="constant">GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH</code>
            are available only if the GL version 3.1 or greater.
        </p><p>
        <code class="constant">GL_GEOMETRY_VERTICES_OUT</code>, <code class="constant">GL_GEOMETRY_INPUT_TYPE</code>
        and <code class="constant">GL_GEOMETRY_OUTPUT_TYPE</code> are accepted only if the GL
        version is 3.2 or greater.
    </p><p>
        <code class="constant">GL_COMPUTE_WORK_GROUP_SIZE</code> is accepted only if the
        GL version is 4.3 or greater.
    </p><p>If an error is generated, no change is made to the
    contents of <em class="parameter"><code>params</code></em>.</p></div><div class="refsect1"><a id="errors"></a><h2>Errors</h2><p><code class="constant">GL_INVALID_VALUE</code>
    is generated if <em class="parameter"><code>program</code></em>
    is not a value generated by OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code>
    is generated if <em class="parameter"><code>program</code></em>
    does not refer to a program object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
    <em class="parameter"><code>pname</code></em> is <code class="constant">GL_GEOMETRY_VERTICES_OUT</code>,
    <code class="constant">GL_GEOMETRY_INPUT_TYPE</code>, or <code class="constant">GL_GEOMETRY_OUTPUT_TYPE</code>,
    and <em class="parameter"><code>program</code></em> does not contain a geometry shader.</p><p><code class="constant">GL_INVALID_ENUM</code>
    is generated if <em class="parameter"><code>pname</code></em>
    is not an accepted value.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if <em class="parameter"><code>pname</code></em>
    is <code class="constant">GL_COMPUTE_WORK_GROUP_SIZE</code> and <em class="parameter"><code>program</code></em>
    does not contain a binary for the compute shader stage.</p></div><div class="refsect1"><a id="associatedgets"></a><h2>Associated Gets</h2><p><a class="citerefentry" href="glGetActiveAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glGetActiveAttrib</span></span></a>
    with argument <em class="parameter"><code>program</code></em></p><p><a class="citerefentry" href="glGetActiveUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetActiveUniform</span></span></a>
    with argument <em class="parameter"><code>program</code></em></p><p><a class="citerefentry" href="glGetAttachedShaders.xml"><span class="citerefentry"><span class="refentrytitle">glGetAttachedShaders</span></span></a>
    with argument <em class="parameter"><code>program</code></em></p><p><a class="citerefentry" href="glGetProgramInfoLog.xml"><span class="citerefentry"><span class="refentrytitle">glGetProgramInfoLog</span></span></a>
    with argument <em class="parameter"><code>program</code></em></p><p><a class="citerefentry" href="glIsProgram.xml"><span class="citerefentry"><span class="refentrytitle">glIsProgram</span></span></a>
    <em class="parameter"><code></code></em></p></div><div class="refsect1"><a id="seealso"></a><h2>See Also</h2><p><a class="citerefentry" href="glAttachShader.xml"><span class="citerefentry"><span class="refentrytitle">glAttachShader</span></span></a>,
    <a class="citerefentry" href="glCreateProgram.xml"><span class="citerefentry"><span class="refentrytitle">glCreateProgram</span></span></a>,
    <a class="citerefentry" href="glDeleteProgram.xml"><span class="citerefentry"><span class="refentrytitle">glDeleteProgram</span></span></a>,
    <a class="citerefentry" href="glGetShader.xml"><span class="citerefentry"><span class="refentrytitle">glGetShader</span></span></a>,
    <a class="citerefentry" href="glLinkProgram.xml"><span class="citerefentry"><span class="refentrytitle">glLinkProgram</span></span></a>,
    <a class="citerefentry" href="glValidateProgram.xml"><span class="citerefentry"><span class="refentrytitle">glValidateProgram</span></span></a></p></div><div class="refsect1"><a id="Copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 2003-2005 3Dlabs Inc. Ltd.
            Copyright <span class="trademark"></span>© 2010-2013 Khronos Group.
            This material may be distributed subject to the terms and conditions set forth in
            the Open Publication License, v 1.0, 8 June 1999.
            <a class="ulink" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
        </p></div></div></body></html>