The WebGLRenderingContext.validateProgram()
method of the WebGL API validates a WebGLProgram
. It checks if it is successfully linked and if it can be used in the current WebGL state.
Syntax
void gl.validateProgram(program);
Parameters
- program
- A
WebGLProgram
to validate.
Return value
None.
Examples
var program = gl.createProgram();
// Attach pre-existing shaders
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
gl.validateProgram(program);
if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) {
var info = gl.getProgramInfoLog(program);
throw 'Could not compile WebGL program. \n\n' + info;
}
gl.useProgram(program);
Specifications
Specification | Status | Comment |
WebGL 1.0The definition of 'validateProgram' in that specification. | Recommendation | Initial definition. |
OpenGL ES 2.0The definition of 'glValidateProgram' in that specification. | Standard | Man page of the OpenGL API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
validateProgram
|
Chrome
Full support 9 |
Edge
Full support 12 |
Firefox
Full support 4 |
IE
Full support 11 |
Opera
Full support 12 |
Safari
Full support 5.1 |
WebView Android
Full support Yes |
Chrome Android
Full support 25 |
Firefox Android
Full support Yes |
Opera Android
Full support 12 |
Safari iOS
Full support 8 |
Samsung Internet Android
Full support 1.5 |
Legend
- Full support
- Full support
See also
WebGLRenderingContext.createProgram()
WebGLRenderingContext.deleteProgram()
WebGLRenderingContext.isProgram()
WebGLRenderingContext.linkProgram()
WebGLRenderingContext.useProgram()
WebGLRenderingContext.getProgramParameter()
WebGLRenderingContext.getProgramInfoLog()
WebGLRenderingContext.validateProgram() by Mozilla Contributors is licensed under CC-BY-SA 2.5.