33 lines
1.1 KiB
HTML
33 lines
1.1 KiB
HTML
<canvas></canvas>
|
|
<div></div>
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
let gl = document.querySelector("canvas").getContext("webgl");
|
|
|
|
let shader1 = gl.createShader(gl.VERTEX_SHADER);
|
|
gl.shaderSource(shader1, "attribute vec2 pos; void main() { gl_Position = vec4(pos, 0, 1); }");
|
|
gl.compileShader(shader1);
|
|
|
|
let shader2 = gl.createShader(gl.FRAGMENT_SHADER);
|
|
gl.shaderSource(shader2, "precision mediump float; void main() { gl_FragColor = vec4(0,0.8,0,1); }");
|
|
gl.compileShader(shader2);
|
|
|
|
let program = gl.createProgram();
|
|
gl.attachShader(program, shader1);
|
|
gl.attachShader(program, shader2);
|
|
gl.linkProgram(program);
|
|
gl.useProgram(program);
|
|
|
|
let buffer = gl.createBuffer();
|
|
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new ArrayBuffer(1), gl.STREAM_DRAW);
|
|
gl.enableVertexAttribArray(0);
|
|
gl.drawElements(gl.LINE_STRIP, 1, gl.UNSIGNED_BYTE, 0);
|
|
if (gl.getError() == gl.INVALID_OPERATION)
|
|
document.querySelector("div").textContent = "PASS: Unable to draw with invalid vertexAttribArray0";
|
|
else
|
|
document.querySelector("div").textContent = "FAIL: Was able to draw with invalid vertexAttribArray0";
|
|
</script>
|