'\" t .\" Title: glGetProgram .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 05/21/2015 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GLGETPROGRAM" "3G" "05/21/2015" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" glGetProgramiv \- Returns a parameter from a program object .SH "C SPECIFICATION" .HP \w'void\ glGetProgramiv('u .BI "void glGetProgramiv(GLuint\ " "program" ", GLenum\ " "pname" ", GLint\ *" "params" ");" .SH "PARAMETERS" .PP \fIprogram\fR .RS 4 Specifies the program object to be queried\&. .RE .PP \fIpname\fR .RS 4 Specifies the object parameter\&. Accepted symbolic names are \fBGL_DELETE_STATUS\fR, \fBGL_LINK_STATUS\fR, \fBGL_VALIDATE_STATUS\fR, \fBGL_INFO_LOG_LENGTH\fR, \fBGL_ATTACHED_SHADERS\fR, \fBGL_ACTIVE_ATOMIC_COUNTER_BUFFERS\fR, \fBGL_ACTIVE_ATTRIBUTES\fR, \fBGL_ACTIVE_ATTRIBUTE_MAX_LENGTH\fR, \fBGL_ACTIVE_UNIFORMS\fR, \fBGL_ACTIVE_UNIFORM_BLOCKS\fR, \fBGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH\fR, \fBGL_ACTIVE_UNIFORM_MAX_LENGTH\fR, \fBGL_COMPUTE_WORK_GROUP_SIZE\fR\fBGL_PROGRAM_BINARY_LENGTH\fR, \fBGL_TRANSFORM_FEEDBACK_BUFFER_MODE\fR, \fBGL_TRANSFORM_FEEDBACK_VARYINGS\fR, \fBGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH\fR, \fBGL_GEOMETRY_VERTICES_OUT\fR, \fBGL_GEOMETRY_INPUT_TYPE\fR, and \fBGL_GEOMETRY_OUTPUT_TYPE\fR\&. .RE .PP \fIparams\fR .RS 4 Returns the requested object parameter\&. .RE .SH "DESCRIPTION" .PP \fBglGetProgram\fR returns in \fIparams\fR the value of a parameter for a specific program object\&. The following parameters are defined: .PP \fBGL_DELETE_STATUS\fR .RS 4 .sp \fIparams\fR returns \fBGL_TRUE\fR if \fIprogram\fR is currently flagged for deletion, and \fBGL_FALSE\fR otherwise\&. .RE .PP \fBGL_LINK_STATUS\fR .RS 4 .sp \fIparams\fR returns \fBGL_TRUE\fR if the last link operation on \fIprogram\fR was successful, and \fBGL_FALSE\fR otherwise\&. .RE .PP \fBGL_VALIDATE_STATUS\fR .RS 4 .sp \fIparams\fR returns \fBGL_TRUE\fR or if the last validation operation on \fIprogram\fR was successful, and \fBGL_FALSE\fR otherwise\&. .RE .PP \fBGL_INFO_LOG_LENGTH\fR .RS 4 .sp \fIparams\fR returns the number of characters in the information log for \fIprogram\fR including the null termination character (i\&.e\&., the size of the character buffer required to store the information log)\&. If \fIprogram\fR has no information log, a value of 0 is returned\&. .RE .PP \fBGL_ATTACHED_SHADERS\fR .RS 4 .sp \fIparams\fR returns the number of shader objects attached to \fIprogram\fR\&. .RE .PP \fBGL_ACTIVE_ATOMIC_COUNTER_BUFFERS\fR .RS 4 .sp \fIparams\fR returns the number of active attribute atomic counter buffers used by \fIprogram\fR\&. .RE .PP \fBGL_ACTIVE_ATTRIBUTES\fR .RS 4 .sp \fIparams\fR returns the number of active attribute variables for \fIprogram\fR\&. .RE .PP \fBGL_ACTIVE_ATTRIBUTE_MAX_LENGTH\fR .RS 4 .sp \fIparams\fR returns the length of the longest active attribute name for \fIprogram\fR, 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\&. .RE .PP \fBGL_ACTIVE_UNIFORMS\fR .RS 4 .sp \fIparams\fR returns the number of active uniform variables for \fIprogram\fR\&. .RE .PP \fBGL_ACTIVE_UNIFORM_MAX_LENGTH\fR .RS 4 .sp \fIparams\fR returns the length of the longest active uniform variable name for \fIprogram\fR, 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\&. .RE .PP \fBGL_PROGRAM_BINARY_LENGTH\fR .RS 4 .sp \fIparams\fR returns the length of the program binary, in bytes that will be returned by a call to \fBglGetProgramBinary\fR()\&. When a progam\*(Aqs \fBGL_LINK_STATUS\fR is \fBGL_FALSE\fR, its program binary length is zero\&. .RE .PP \fBGL_COMPUTE_WORK_GROUP_SIZE\fR .RS 4 .sp \fIparams\fR returns an array of three integers containing the local work group size of the compute program as specified by its input layout qualifier(s)\&. \fIprogram\fR must be the name of a program object that has been previously linked successfully and contains a binary for the compute shader stage\&. .RE .PP \fBGL_TRANSFORM_FEEDBACK_BUFFER_MODE\fR .RS 4 .sp \fIparams\fR returns a symbolic constant indicating the buffer mode used when transform feedback is active\&. This may be \fBGL_SEPARATE_ATTRIBS\fR or \fBGL_INTERLEAVED_ATTRIBS\fR\&. .RE .PP \fBGL_TRANSFORM_FEEDBACK_VARYINGS\fR .RS 4 .sp \fIparams\fR returns the number of varying variables to capture in transform feedback mode for the program\&. .RE .PP \fBGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH\fR .RS 4 .sp \fIparams\fR returns the length of the longest variable name to be used for transform feedback, including the null\-terminator\&. .RE .PP \fBGL_GEOMETRY_VERTICES_OUT\fR .RS 4 .sp \fIparams\fR returns the maximum number of vertices that the geometry shader in \fIprogram\fR will output\&. .RE .PP \fBGL_GEOMETRY_INPUT_TYPE\fR .RS 4 .sp \fIparams\fR returns a symbolic constant indicating the primitive type accepted as input to the geometry shader contained in \fIprogram\fR\&. .RE .PP \fBGL_GEOMETRY_OUTPUT_TYPE\fR .RS 4 .sp \fIparams\fR returns a symbolic constant indicating the primitive type that will be output by the geometry shader contained in \fIprogram\fR\&. .RE .SH "NOTES" .PP \fBGL_ACTIVE_UNIFORM_BLOCKS\fR and \fBGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH\fR are available only if the GL version 3\&.1 or greater\&. .PP \fBGL_GEOMETRY_VERTICES_OUT\fR, \fBGL_GEOMETRY_INPUT_TYPE\fR and \fBGL_GEOMETRY_OUTPUT_TYPE\fR are accepted only if the GL version is 3\&.2 or greater\&. .PP \fBGL_COMPUTE_WORK_GROUP_SIZE\fR is accepted only if the GL version is 4\&.3 or greater\&. .PP If an error is generated, no change is made to the contents of \fIparams\fR\&. .SH "ERRORS" .PP \fBGL_INVALID_VALUE\fR is generated if \fIprogram\fR is not a value generated by OpenGL\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fIprogram\fR does not refer to a program object\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fIpname\fR is \fBGL_GEOMETRY_VERTICES_OUT\fR, \fBGL_GEOMETRY_INPUT_TYPE\fR, or \fBGL_GEOMETRY_OUTPUT_TYPE\fR, and \fIprogram\fR does not contain a geometry shader\&. .PP \fBGL_INVALID_ENUM\fR is generated if \fIpname\fR is not an accepted value\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fIpname\fR is \fBGL_COMPUTE_WORK_GROUP_SIZE\fR and \fIprogram\fR does not contain a binary for the compute shader stage\&. .SH "ASSOCIATED GETS" .PP \fBglGetActiveAttrib\fR() with argument \fIprogram\fR .PP \fBglGetActiveUniform\fR() with argument \fIprogram\fR .PP \fBglGetAttachedShaders\fR() with argument \fIprogram\fR .PP \fBglGetProgramInfoLog\fR() with argument \fIprogram\fR .PP \fBglIsProgram\fR() .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Version\fR T} T{ \fBFunction / Feature Name\fR T}:T{ \fB2\&.0\fR T}:T{ \fB2\&.1\fR T}:T{ \fB3\&.0\fR T}:T{ \fB3\&.1\fR T}:T{ \fB3\&.2\fR T}:T{ \fB3\&.3\fR T}:T{ \fB4\&.0\fR T}:T{ \fB4\&.1\fR T}:T{ \fB4\&.2\fR T}:T{ \fB4\&.3\fR T}:T{ \fB4\&.4\fR T}:T{ \fB4\&.5\fR T} .T& l c c c c c c c c c c c c. T{ \fBglGetProgramiv\fR T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .sp .SH "SEE ALSO" .PP \fBglAttachShader\fR(), \fBglCreateProgram\fR(), \fBglDeleteProgram\fR(), \fBglGetShader\fR(), \fBglLinkProgram\fR(), \fBglValidateProgram\fR() .SH "COPYRIGHT" .PP Copyright \(co 2003\-2005 3Dlabs Inc\&. Ltd\&. Copyright \(co 2010\-2014 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\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2003-2005 3Dlabs Inc. Ltd. .br Copyright \(co 2010-2014 Khronos Group .br