Bug 1915045 Ensure decode tasks are scheduled on BufferingState::Enter() r=media...
[gecko.git] / dom / canvas / test / webgl-mochitest / test_highp_fs.html
blob6927c5c1c26a26a8e3d28c60c348ef4fe2ee2a7d
1 <!DOCTYPE HTML>
2 <title>WebGL test: `highp` support</title>
3 <script src="/tests/SimpleTest/SimpleTest.js"></script>
4 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
5 <script src="driver-info.js"></script>
6 <script src="webgl-util.js"></script>
7 <script id="shader-vs" type="x-shader/x-vertex">
9 void main(void) {
10 gl_Position = vec4(vec3(0.0), 1.0);
13 </script>
14 <script id="shader-fs" type="x-shader/x-fragment">
16 precision highp float;
18 void main(void) {
19 gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
22 </script>
23 <body>
24 <canvas id="c"></canvas>
25 <script>
27 // Give ourselves a scope to return early from:
28 (function() {
29 var gl = c.getContext('webgl');
30 if (!gl) {
31 todo(false, 'WebGL is unavailable.');
32 return;
35 function checkGLError(func, info) {
36 var error = gl.getError();
37 var prefix = info ? ('[' + info + '] ') : ''
38 func(!error, prefix + 'gl.getError should be 0x0, was 0x' + error.toString(16) + '.');
41 var format = gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT);
42 var prog = WebGLUtil.createProgramByIds(gl, 'shader-vs', 'shader-fs');
43 checkGLError(ok);
45 if (format) {
46 ok(prog, 'Frag shader with unconditional `precision highp float` should ' +
47 'link if `getShaderPrecisionFormat` gives a format for it.');
48 } else {
49 ok(!prog, 'Frag shader with unconditional `precision highp float` should ' +
50 'NOT link if `getShaderPrecisionFormat` gives NO format for it.');
52 })();
54 </script>