content/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <!--
     2 Copyright (c) 2011 The Chromium Authors. All rights reserved.
     3 Use of this source code is governed by a BSD-style license that can be
     4 found in the LICENSE file.
     5 -->
     6 <!DOCTYPE html>
     7 <html>
     8 <head>
     9 <meta charset="utf-8">
    10 <title>WebGL GLSL Conformance Tests</title>
    11 <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
    12 <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/>
    13 <script src="../../../resources/js-test-pre.js"></script>
    14 <script src="../../resources/webgl-test-utils.js"></script>
    15 <script src="../../resources/glsl-conformance-test.js"></script>
    16 </head>
    17 <body>
    18 <div id="description"></div>
    19 <div id="console"></div>
    20 <script id="fragmentShaderAGreaterThanBCheckR" type="text/something-not-javascript">
    21 // fragment shader with for scoping should succeed
    22 precision mediump float;
    23 void main() {
    24   float a = 3.0;
    25   float b = 2.0;
    26   float r = 0.0;
    27   float r0 = 0.5;
    28   float r1 = 1.0;
    29   float ab = a > b ? (r = r0, a) : (r = r1, b);
    30   // Output green if successful, red if not.
    31   gl_FragColor = ((r == r0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    32 }
    33 </script>
    34 <script id="fragmentShaderAGreaterThanBCheckAB" type="text/something-not-javascript">
    35 // fragment shader with for scoping should succeed
    36 precision mediump float;
    37 void main() {
    38   float a = 3.0;
    39   float b = 2.0;
    40   float r = 0.0;
    41   float r0 = 0.5;
    42   float r1 = 1.0;
    43   float ab = a > b ? (r = r0, a) : (r = r1, b);
    44   // Output green if successful, red if not.
    45   gl_FragColor = ((ab == a) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    46 }
    47 </script>
    48 <script id="fragmentShaderAGreaterThanBCheckT0" type="text/something-not-javascript">
    49 // fragment shader with for scoping should succeed
    50 precision mediump float;
    51 void main() {
    52   float a = 3.0;
    53   float b = 2.0;
    54   float t0 = 0.0;
    55   float t1 = 0.0;
    56   float r0 = 0.5;
    57   float r1 = 1.0;
    58   float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
    59   // Output green if successful, red if not.
    60   gl_FragColor = ((t0 == r0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    61 }
    62 </script>
    63 <script id="fragmentShaderAGreaterThanBCheckT1" type="text/something-not-javascript">
    64 // fragment shader with for scoping should succeed
    65 precision mediump float;
    66 void main() {
    67   float a = 3.0;
    68   float b = 2.0;
    69   float t0 = 0.0;
    70   float t1 = 0.0;
    71   float r0 = 0.5;
    72   float r1 = 1.0;
    73   float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
    74   // Output green if successful, red if not.
    75   gl_FragColor = ((t1 == 0.0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    76 }
    77 </script>
    78 <script id="fragmentShaderBGreaterThanACheckR" type="text/something-not-javascript">
    79 // fragment shader with for scoping should succeed
    80 precision mediump float;
    81 void main() {
    82   float a = 2.0;
    83   float b = 3.0;
    84   float r = 0.0;
    85   float r0 = 0.5;
    86   float r1 = 1.0;
    87   float ab = a > b ? (r = r0, a) : (r = r1, b);
    88   // Output green if successful, red if not.
    89   gl_FragColor = ((r == r1) ? vec4(0,1,0,1) : vec4(1,0,0,1));
    90 }
    91 </script>
    92 <script id="fragmentShaderBGreaterThanACheckAB" type="text/something-not-javascript">
    93 // fragment shader with for scoping should succeed
    94 precision mediump float;
    95 void main() {
    96   float a = 2.0;
    97   float b = 3.0;
    98   float r = 0.0;
    99   float r0 = 0.5;
   100   float r1 = 1.0;
   101   float ab = a > b ? (r = r0, a) : (r = r1, b);
   102   // Output green if successful, red if not.
   103   gl_FragColor = ((ab == b) ? vec4(0,1,0,1) : vec4(1,0,0,1));
   104 }
   105 </script>
   106 <script id="fragmentShaderBGreaterThanACheckT0" type="text/something-not-javascript">
   107 // fragment shader with for scoping should succeed
   108 precision mediump float;
   109 void main() {
   110   float a = 2.0;
   111   float b = 3.0;
   112   float t0 = 0.0;
   113   float t1 = 0.0;
   114   float r0 = 0.5;
   115   float r1 = 1.0;
   116   float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
   117   // Output green if successful, red if not.
   118   gl_FragColor = ((t0 == 0.0) ? vec4(0,1,0,1) : vec4(1,0,0,1));
   119 }
   120 </script>
   121 <script id="fragmentShaderBGreaterThanACheckT1" type="text/something-not-javascript">
   122 // fragment shader with for scoping should succeed
   123 precision mediump float;
   124 void main() {
   125   float a = 2.0;
   126   float b = 3.0;
   127   float t0 = 0.0;
   128   float t1 = 0.0;
   129   float r0 = 0.5;
   130   float r1 = 1.0;
   131   float ab = a > b ? (t0 = r0, a) : (t1 = r1, b);
   132   // Output green if successful, red if not.
   133   gl_FragColor = ((t1 == r1) ? vec4(0,1,0,1) : vec4(1,0,0,1));
   134 }
   135 </script>
   136 <script>
   137 GLSLConformanceTester.runRenderTests([
   138 { vShaderId: undefined,
   139   vShaderSuccess: true,
   140   fShaderId: 'fragmentShaderAGreaterThanBCheckR',
   141   fShaderSuccess: true,
   142   linkSuccess: true,
   143   passMsg: "comma based conditional assignment works",
   144 },
   145 { vShaderId: undefined,
   146   vShaderSuccess: true,
   147   fShaderId: 'fragmentShaderAGreaterThanBCheckAB',
   148   fShaderSuccess: true,
   149   linkSuccess: true,
   150   passMsg: "comma based conditional assignment works",
   151 },
   152 { vShaderId: undefined,
   153   vShaderSuccess: true,
   154   fShaderId: 'fragmentShaderAGreaterThanBCheckT0',
   155   fShaderSuccess: true,
   156   linkSuccess: true,
   157   passMsg: "comma based conditional assignment works",
   158 },
   159 { vShaderId: undefined,
   160   vShaderSuccess: true,
   161   fShaderId: 'fragmentShaderAGreaterThanBCheckT1',
   162   fShaderSuccess: true,
   163   linkSuccess: true,
   164   passMsg: "comma based conditional assignment works",
   165 },
   166 { vShaderId: undefined,
   167   vShaderSuccess: true,
   168   fShaderId: 'fragmentShaderBGreaterThanACheckR',
   169   fShaderSuccess: true,
   170   linkSuccess: true,
   171   passMsg: "comma based conditional assignment works",
   172 },
   173 { vShaderId: undefined,
   174   vShaderSuccess: true,
   175   fShaderId: 'fragmentShaderBGreaterThanACheckAB',
   176   fShaderSuccess: true,
   177   linkSuccess: true,
   178   passMsg: "comma based conditional assignment works",
   179 },
   180 { vShaderId: undefined,
   181   vShaderSuccess: true,
   182   fShaderId: 'fragmentShaderBGreaterThanACheckT0',
   183   fShaderSuccess: true,
   184   linkSuccess: true,
   185   passMsg: "comma based conditional assignment works",
   186 },
   187 { vShaderId: undefined,
   188   vShaderSuccess: true,
   189   fShaderId: 'fragmentShaderBGreaterThanACheckT1',
   190   fShaderSuccess: true,
   191   linkSuccess: true,
   192   passMsg: "comma based conditional assignment works",
   193 }
   194 ]);
   195 successfullyParsed = true;
   196 </script>
   197 </body>
   198 </html>

mercurial