tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

valid-invariant.html (2620B)


      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 -->
      6 
      7 <!DOCTYPE html>
      8 <html>
      9 <head>
     10 <meta charset="utf-8">
     11 <title>Positive tests for the use of the invariant qualifier and pragma</title>
     12 <link rel="stylesheet" href="../../resources/js-test-style.css"/>
     13 <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/>
     14 <script src="../../js/js-test-pre.js"></script>
     15 <script src="../../js/webgl-test-utils.js"></script>
     16 <script src="../../js/glsl-conformance-test.js"></script>
     17 </head>
     18 <body>
     19 <div id="description"></div>
     20 <div id="console"></div>
     21 <script id="vertexShaderInvariant" type="text/something-not-javascript">#version 300 es
     22 precision mediump float;
     23 invariant out vec4 v_varying;
     24 
     25 void main()
     26 {
     27    v_varying = vec4(0.0, 0.0, 0.0, 1.0);
     28    gl_Position = v_varying;
     29 }
     30 </script>
     31 <script id="vertexShaderSeparateInvariant" type="text/something-not-javascript">#version 300 es
     32 precision mediump float;
     33 out vec4 v_varying;
     34 invariant v_varying;
     35 
     36 void main()
     37 {
     38    v_varying = vec4(0.0, 0.0, 0.0, 1.0);
     39    gl_Position = v_varying;
     40 }
     41 </script>
     42 <script id="vertexShaderGlobalInvariant" type="text/something-not-javascript">#version 300 es
     43 #pragma STDGL invariant(all)
     44 precision mediump float;
     45 out vec4 v_varying;
     46 
     47 void main()
     48 {
     49    v_varying = vec4(0.0, 0.0, 0.0, 1.0);
     50    gl_Position = v_varying;
     51 }
     52 </script>
     53 <script id="fragmentShaderVariant" type="text/something-not-javascript">#version 300 es
     54 precision mediump float;
     55 
     56 in vec4 v_varying;
     57 out vec4 my_color;
     58 
     59 void main()
     60 {
     61    my_color = v_varying;
     62 }
     63 </script>
     64 <script type="application/javascript">
     65 "use strict";
     66 description();
     67 GLSLConformanceTester.runTests([
     68  {
     69    vShaderId: "vertexShaderInvariant",
     70    vShaderSuccess: true,
     71    fShaderId: "fragmentShaderVariant",
     72    fShaderSuccess: true,
     73    linkSuccess: true,
     74    passMsg: "vertex shader with invariant varying and fragment shader with variant varying must succeed",
     75  },
     76  {
     77    vShaderId: "vertexShaderGlobalInvariant",
     78    vShaderSuccess: true,
     79    fShaderId: "fragmentShaderVariant",
     80    fShaderSuccess: true,
     81    linkSuccess: true,
     82    passMsg: "vertex shader with invariant (global setting) varying and fragment shader with variant varying must succeed",
     83  },
     84  {
     85    vShaderId: "vertexShaderSeparateInvariant",
     86    vShaderSuccess: true,
     87    fShaderId: "fragmentShaderVariant",
     88    fShaderSuccess: true,
     89    linkSuccess: true,
     90    passMsg: "vertex shader with invariant (separately set) varying and fragment shader with variant varying must succeed",
     91  },
     92 ], 2);
     93 </script>
     94 </body>
     95 </html>