37 lines
1.5 KiB
HTML
37 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test.js"></script>
|
|
<script src="resources/webgl-test.js"></script>
|
|
</head>
|
|
<body>
|
|
<canvas id="c" width="40" height="40"></canvas>
|
|
<script>
|
|
description("Checks for proper getActiveUniforms() behavior on a simple WebGL 2 program.");
|
|
|
|
if (window.internals)
|
|
internals.settings.setWebGL2Enabled(true);
|
|
|
|
var canvas = document.getElementById("c");
|
|
var gl = canvas.getContext("webgl2");
|
|
shouldBe("gl.getError()", "gl.NO_ERROR");
|
|
|
|
var program = loadStandardProgram(gl);
|
|
var mvpLocation = gl.getUniformLocation(program, "u_modelViewProjMatrix");
|
|
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_TYPE)", "[gl.FLOAT_MAT4]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_SIZE)", "[1]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_BLOCK_INDEX)", "[-1]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_OFFSET)", "[-1]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_ARRAY_STRIDE)", "[-1]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_MATRIX_STRIDE)", "[-1]");
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR)", "[false]");
|
|
shouldBe("gl.getError()", "gl.NO_ERROR");
|
|
|
|
// Invalid parameter for getActiveUniforms() in WebGL2.
|
|
shouldBe("gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_NAME_LENGTH)", "null");
|
|
shouldBe("gl.getError()", "gl.INVALID_ENUM");
|
|
</script>
|
|
</body>
|
|
</html>
|