Bug 1945965 – remove new tab April Fools logo. r=home-newtab-reviewers,reemhamz
[gecko.git] / dom / canvas / test / webgl-conf / checkout / conformance / glsl / variables / gl-frontfacing.html
blob1716161bcfe936f916512e6d59f4e4e01d1928d0
1 <!--
2 Copyright (c) 2019 The Khronos Group Inc.
3 Use of this source code is governed by an MIT-style license that can be
4 found in the LICENSE.txt file.
5 -->
7 <!DOCTYPE html>
8 <html>
9 <head>
10 <meta charset="utf-8">
11 <title>gl-fragcoord Test</title>
12 <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
13 <script src="../../../js/js-test-pre.js"></script>
14 <script src="../../../js/webgl-test-utils.js"> </script>
15 </head>
16 <body>
17 <canvas id="example" width="32" height="32">
18 </canvas>
19 <div id="description"></div>
20 <div id="console"></div>
21 <script id="vshader" type="x-shader/x-vertex">
22 attribute vec4 vPosition;
23 void main()
25 gl_Position = vPosition;
27 </script>
29 <script id="fshader" type="x-shader/x-fragment">
30 precision mediump float;
31 void main()
33 gl_FragColor = vec4(
34 gl_FrontFacing ? 1.0 : 0.0,
35 gl_FrontFacing ? 0.0 : 1.0,
37 1);
39 </script>
41 <script>
42 "use strict";
43 function init()
45 description("tests gl_FrontFacing");
47 var wtu = WebGLTestUtils;
48 var gl = wtu.create3DContext("example");
49 var program = wtu.setupProgram(gl, ["vshader", "fshader"], ["vPosition"]);
51 var gridRes = 4;
52 wtu.setupIndexedQuad(gl, gridRes, 0, true);
54 gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
55 gl.drawElements(gl.TRIANGLES, gridRes * gridRes * 6, gl.UNSIGNED_SHORT, 0);
56 wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw");
58 var step = 32 / gridRes;
59 var halfStep = step / 2;
60 var quarterStep = halfStep / 2;
61 for (var xx = 0; xx < 32; xx += step) {
62 for (var yy = 0; yy < 32; yy += step) {
63 for (var ii = 0; ii < 2; ++ii) {
64 var color = [
65 ii == 0 ? 255 : 0,
66 ii == 0 ? 0 : 255,
69 var msg = "should be " + color;
70 wtu.checkCanvasRect(
71 gl,
72 xx + quarterStep + halfStep * ii,
73 yy + quarterStep + halfStep * ii,
74 1, 1, color, msg, 4);
80 init();
81 var successfullyParsed = true;
82 </script>
83 <script src="../../../js/js-test-post.js"></script>
85 </body>
86 </html>