files/en-us/web/api/webglrenderingcontext/linkprogram/index.md
{{APIRef("WebGL")}}{{AvailableInWorkers}}
The {{domxref("WebGLRenderingContext")}} interface's
linkProgram() method links a given
{{domxref("WebGLProgram")}}, completing the process of preparing the GPU code for the
program's fragment and vertex shaders.
linkProgram(program)
program
None ({{jsxref("undefined")}}).
const program = gl.createProgram();
// Attach pre-existing shaders
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
const info = gl.getProgramInfoLog(program);
throw new Error(`Could not compile WebGL program. \n\n${info}`);
}
{{Specifications}}
{{Compat}}