Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
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>