WebGLRenderingContext.getProgramParameter()

The WebGLRenderingContext.getProgramParameter() method of the WebGL API returns information about the given program.

Syntax

any gl.getProgramParameter(program, pname);

Parameters

program
A WebGLProgram to get parameter information from.
pname
A Glenum specifying the information to query. Possible values:
  • gl.DELETE_STATUS: Returns a GLboolean indicating whether or not the program is flagged for deletion.
  • gl.LINK_STATUS: Returns a GLboolean indicating whether or not the last link operation was successful.
  • gl.VALIDATE_STATUS: Returns a GLboolean indicating whether or not the last validation operation was successful.
  • gl.ATTACHED_SHADERS: Returns a GLint indicating the number of attached shaders to a program.
  • gl.ACTIVE_ATTRIBUTES: Returns a GLint indicating the number of active attribute variables to a program.
  • gl.ACTIVE_UNIFORMS: Returns a GLint indicating the number of active uniform variables to a program.
  • When using a WebGL 2 context, the following values are available additionally:
    • gl.TRANSFORM_FEEDBACK_BUFFER_MODE: Returns a GLenum indicating the buffer mode when transform feedback is active. May be gl.SEPARATE_ATTRIBS or gl.INTERLEAVED_ATTRIBS.
    • gl.TRANSFORM_FEEDBACK_VARYINGS: Returns a GLint indicating the number of varying variables to capture in transform feedback mode.
    • gl.ACTIVE_UNIFORM_BLOCKS: Returns a GLint indicating the number of uniform blocks containing active uniforms.

Return value

Returns the requested program information (as specified with pname).

Examples

gl.getProgramParameter(program, gl.DELETE_STATUS);

Specifications

Specification Status Comment
WebGL 1.0
The definition of 'getProgramParameter' in that specification.
Recommendation Initial definition.
OpenGL ES 2.0
The definition of 'glGetProgramiv' in that specification.
Standard Man page of the (similar) OpenGL API.
WebGL 2.0
The definition of 'getProgramParameter' in that specification.
Editor's Draft Adds new pname values:
gl.TRANSFORM_FEEDBACK_BUFFER_MODE,
gl.TRANSFORM_FEEDBACK_VARYINGS,
gl.ACTIVE_UNIFORM_BLOCKS

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getProgramParameterChrome Full support 9Edge Full support 12Firefox Full support 4IE Full support 11Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 25Firefox Android Full support YesOpera Android Full support 12Safari iOS Full support 8Samsung Internet Android Full support 1.5
WebGL2Chrome Full support 56Edge Full support 79Firefox Full support 51IE No support NoOpera Full support 43Safari No support NoWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support 51Opera Android Full support 43Safari iOS No support NoSamsung Internet Android Full support 7.0

Legend

Full support
Full support
No support
No support

See also