haikuwebkit/LayoutTests/fast/canvas/webgl/shader-mix-with-bool.html

44 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js" type="text/javascript"></script>
<script src="resources/webgl-test.js" type="text/javascript"></script>
<script src="resources/webgl-test-utils.js"> </script>
<script>
var wtu = WebGLTestUtils;
function runTest()
{
description("Tests that program compiling/linking with a bool mix function works correctly.");
var canvas = document.getElementById('webgl-canvas');
var gl = canvas.getContext("webgl2");
var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
var program = gl.createProgram();
var vertexShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vertexShader, '#version 300 es\n in vec2 pos;\nvoid main() { bvec2 mixVec = bvec2(true, false); gl_Position = vec4(mix(pos, vec2(1,1), mixVec), 0, 1); }');
gl.compileShader(vertexShader);
gl.shaderSource(fragmentShader, '#version 300 es\n precision mediump float; out vec4 color; void main() { color = vec4(0,0.8,0,1); }');
gl.compileShader(fragmentShader);
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
gl.useProgram(program);
gl.drawArrays(gl.TRIANGLES, 0, 3);
wtu.glErrorShouldBe(gl,0,"no error from using mix function");
if (window.testRunner)
testRunner.notifyDone();
}
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.onpageshow = runTest;
</script>
</head>
<body>
<canvas id="webgl-canvas" width="100px" height="100px"></canvas>
</body>
</html>