tor-browser

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

shader-with-comma-conditional-assignment.html (5528B)


      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>WebGL GLSL Conformance Tests</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="fragmentShaderAGreaterThanBCheckR" type="text/something-not-javascript">
     22 // fragment shader with for scoping should succeed
     23 precision mediump float;
     24 void main() {
     25  float a = 3.0;
     26  float b = 2.0;
     27  float r = 0.0;
     28  float r0 = 0.5;
     29  float r1 = 1.0;
     30  float ab = a > b ? (r = r0, a) : (r = r1, b);
     31  // Output green if successful, red if not.
     32  gl_FragColor = ((r == r0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
     33 }
     34 </script>
     35 <script id="fragmentShaderAGreaterThanBCheckAB" type="text/something-not-javascript">
     36 // fragment shader with for scoping should succeed
     37 precision mediump float;
     38 void main() {
     39  float a = 3.0;
     40  float b = 2.0;
     41  float r = 0.0;
     42  float r0 = 0.5;
     43  float r1 = 1.0;
     44  float ab = a > b ? (r = r0, a) : (r = r1, b);
     45  // Output green if successful, red if not.
     46  gl_FragColor = ((ab == a) ? vec4(0,1,0,1) : vec4(1,0,0,1));
     47 }
     48 </script>
     49 <script id="fragmentShaderAGreaterThanBCheckT0" type="text/something-not-javascript">
     50 // fragment shader with for scoping should succeed
     51 precision mediump float;
     52 void main() {
     53  float a = 3.0;
     54  float b = 2.0;
     55  float t0 = 0.0;
     56  float t1 = 0.0;
     57  float r0 = 0.5;
     58  float r1 = 1.0;
     59  float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
     60  // Output green if successful, red if not.
     61  gl_FragColor = ((t0 == r0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
     62 }
     63 </script>
     64 <script id="fragmentShaderAGreaterThanBCheckT1" type="text/something-not-javascript">
     65 // fragment shader with for scoping should succeed
     66 precision mediump float;
     67 void main() {
     68  float a = 3.0;
     69  float b = 2.0;
     70  float t0 = 0.0;
     71  float t1 = 0.0;
     72  float r0 = 0.5;
     73  float r1 = 1.0;
     74  float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
     75  // Output green if successful, red if not.
     76  gl_FragColor = ((t1 == 0.0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
     77 }
     78 </script>
     79 <script id="fragmentShaderBGreaterThanACheckR" type="text/something-not-javascript">
     80 // fragment shader with for scoping should succeed
     81 precision mediump float;
     82 void main() {
     83  float a = 2.0;
     84  float b = 3.0;
     85  float r = 0.0;
     86  float r0 = 0.5;
     87  float r1 = 1.0;
     88  float ab = a > b ? (r = r0, a) : (r = r1, b);
     89  // Output green if successful, red if not.
     90  gl_FragColor = ((r == r1) ? vec4(0,1,0,1) : vec4(1,0,0,1));
     91 }
     92 </script>
     93 <script id="fragmentShaderBGreaterThanACheckAB" type="text/something-not-javascript">
     94 // fragment shader with for scoping should succeed
     95 precision mediump float;
     96 void main() {
     97  float a = 2.0;
     98  float b = 3.0;
     99  float r = 0.0;
    100  float r0 = 0.5;
    101  float r1 = 1.0;
    102  float ab = a > b ? (r = r0, a) : (r = r1, b);
    103  // Output green if successful, red if not.
    104  gl_FragColor = ((ab == b) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    105 }
    106 </script>
    107 <script id="fragmentShaderBGreaterThanACheckT0" type="text/something-not-javascript">
    108 // fragment shader with for scoping should succeed
    109 precision mediump float;
    110 void main() {
    111  float a = 2.0;
    112  float b = 3.0;
    113  float t0 = 0.0;
    114  float t1 = 0.0;
    115  float r0 = 0.5;
    116  float r1 = 1.0;
    117  float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
    118  // Output green if successful, red if not.
    119  gl_FragColor = ((t0 == 0.0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    120 }
    121 </script>
    122 <script id="fragmentShaderBGreaterThanACheckT1" type="text/something-not-javascript">
    123 // fragment shader with for scoping should succeed
    124 precision mediump float;
    125 void main() {
    126  float a = 2.0;
    127  float b = 3.0;
    128  float t0 = 0.0;
    129  float t1 = 0.0;
    130  float r0 = 0.5;
    131  float r1 = 1.0;
    132  float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
    133  // Output green if successful, red if not.
    134  gl_FragColor = ((t1 == r1) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    135 }
    136 </script>
    137 <script>
    138 "use strict";
    139 GLSLConformanceTester.runRenderTests([
    140 {
    141  fShaderId: 'fragmentShaderAGreaterThanBCheckR',
    142  fShaderSuccess: true,
    143  linkSuccess: true,
    144  passMsg: "comma based conditional assignment works",
    145 },
    146 {
    147  fShaderId: 'fragmentShaderAGreaterThanBCheckAB',
    148  fShaderSuccess: true,
    149  linkSuccess: true,
    150  passMsg: "comma based conditional assignment works",
    151 },
    152 {
    153  fShaderId: 'fragmentShaderAGreaterThanBCheckT0',
    154  fShaderSuccess: true,
    155  linkSuccess: true,
    156  passMsg: "comma based conditional assignment works",
    157 },
    158 {
    159  fShaderId: 'fragmentShaderAGreaterThanBCheckT1',
    160  fShaderSuccess: true,
    161  linkSuccess: true,
    162  passMsg: "comma based conditional assignment works",
    163 },
    164 {
    165  fShaderId: 'fragmentShaderBGreaterThanACheckR',
    166  fShaderSuccess: true,
    167  linkSuccess: true,
    168  passMsg: "comma based conditional assignment works",
    169 },
    170 {
    171  fShaderId: 'fragmentShaderBGreaterThanACheckAB',
    172  fShaderSuccess: true,
    173  linkSuccess: true,
    174  passMsg: "comma based conditional assignment works",
    175 },
    176 {
    177  fShaderId: 'fragmentShaderBGreaterThanACheckT0',
    178  fShaderSuccess: true,
    179  linkSuccess: true,
    180  passMsg: "comma based conditional assignment works",
    181 },
    182 {
    183  fShaderId: 'fragmentShaderBGreaterThanACheckT1',
    184  fShaderSuccess: true,
    185  linkSuccess: true,
    186  passMsg: "comma based conditional assignment works",
    187 }
    188 ]);
    189 var successfullyParsed = true;
    190 </script>
    191 </body>
    192 </html>