1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from telemetry.page import test_expectations
7 # Valid expectation conditions are:
10 # win, xp, vista, win7, mac, leopard, snowleopard, lion, mountainlion,
11 # mavericks, yosemite, linux, chromeos, android
14 # amd, arm, broadcom, hisilicon, intel, imagination, nvidia, qualcomm,
17 # Specific GPUs can be listed as a tuple with vendor name and device ID.
18 # Examples: ('nvidia', 0x1234), ('arm', 'Mali-T604')
19 # Device IDs must be paired with a GPU vendor.
21 class WebGLConformanceExpectations(test_expectations.TestExpectations):
22 def SetExpectations(self):
24 # self.Fail('gl-enable-vertex-attrib.html',
25 # ['mac', 'amd', ('nvidia', 0x1234)], bug=123)
27 # Fails on all platforms
28 self.Fail('conformance/glsl/misc/shaders-with-invariance.html',
30 self.Fail('conformance/glsl/bugs/essl3-shaders-with-webgl1.html',
32 self.Fail('conformance/glsl/misc/expression-list-in-declarator-initializer.html',
36 self.Fail('conformance/glsl/misc/struct-equals.html',
38 self.Fail('conformance/glsl/bugs/conditional-discard-in-loop.html',
40 self.Fail('conformance/textures/tex-image-and-sub-image-2d-with-webgl-canvas.html',
42 self.Fail('conformance/textures/tex-image-and-sub-image-2d-with-webgl-canvas-rgb565.html',
44 self.Fail('conformance/textures/tex-image-and-sub-image-2d-with-webgl-canvas-rgba4444.html',
46 self.Fail('conformance/textures/tex-image-and-sub-image-2d-with-webgl-canvas-rgba5551.html',
48 self.Fail('conformance/glsl/misc/ternary-operators-in-global-initializers.html',
50 # This test still causes itself and any tests afterwards to time out
52 self.Skip('conformance/textures/texture-copying-feedback-loops.html',
55 self.Fail('conformance/extensions/webgl-draw-buffers.html',
58 self.Fail('conformance/rendering/framebuffer-switch.html',
60 self.Fail('conformance/rendering/framebuffer-texture-switch.html',
63 # Win7 / Intel failures
64 self.Fail('conformance/rendering/gl-scissor-test.html',
65 ['win7', 'intel'], bug=314997)
66 self.Fail('conformance/context/premultiplyalpha-test.html',
68 self.Fail('conformance/textures/copy-tex-image-and-sub-image-2d.html',
70 self.Fail('conformance/rendering/gl-viewport-test.html',
71 ['win7', 'intel'], bug=372511)
72 self.Fail('conformance/glsl/misc/shader-with-array-of-structs-uniform.html',
73 ['win7', 'intel', 'nvidia'], bug=373972)
75 # Mac / Intel failures
77 self.Fail('conformance/limits/gl-max-texture-dimensions.html',
78 ['mac', 'intel'], bug=225642)
80 self.Fail('conformance/textures/texture-size.html',
81 ['mac', 'intel'], bug=225642)
83 # Mac / Intel HD 3000 failures
84 self.Skip('conformance/ogles/GL/control_flow/control_flow_009_to_010.html',
85 ['mac', ('intel', 0x116)], bug=322795)
87 self.Fail('conformance/glsl/functions/' +
88 'glsl-function-smoothstep-gentype.html',
89 ['mac', ('intel', 0x116)], bug=225642)
90 self.Fail('conformance/extensions/webgl-draw-buffers.html',
91 ['mac', ('intel', 0x116)], bug=369349)
93 # Mac 10.8 / Intel HD 3000 failures
94 self.Fail('conformance/rendering/gl-scissor-test.html',
95 ['mountainlion', ('intel', 0x116)], bug=314997)
96 self.Fail('conformance/ogles/GL/operators/operators_009_to_016.html',
97 ['mountainlion', ('intel', 0x116)], bug=322795)
99 # Mac 10.9 / Intel HD 3000 failures
100 self.Fail('conformance/ogles/GL/operators/operators_009_to_016.html',
101 ['mavericks', ('intel', 0x116)], bug=417415)
102 self.Fail('conformance/rendering/gl-scissor-test.html',
103 ['mavericks', ('intel', 0x116)], bug=417415)
105 # Mac Retina failures
107 'conformance/glsl/bugs/array-of-struct-with-int-first-position.html',
108 ['mac', ('nvidia', 0xfd5), ('nvidia', 0xfe9)], bug=368912)
110 # Mac 10.8 / ATI failures
112 'conformance/rendering/' +
113 'point-with-gl-pointcoord-in-fragment-shader.html',
114 ['mountainlion', 'amd'])
116 # Mac 10.7 / Intel failures
117 self.Skip('conformance/glsl/functions/glsl-function-asin.html',
119 self.Skip('conformance/glsl/functions/glsl-function-dot.html',
121 self.Skip('conformance/glsl/functions/glsl-function-faceforward.html',
123 self.Skip('conformance/glsl/functions/glsl-function-length.html',
125 self.Skip('conformance/glsl/functions/glsl-function-normalize.html',
127 self.Skip('conformance/glsl/functions/glsl-function-reflect.html',
129 self.Skip('conformance/rendering/line-loop-tri-fan.html',
131 self.Skip('conformance/ogles/GL/control_flow/control_flow_001_to_008.html',
132 ['lion', 'intel'], bug=345575)
133 self.Skip('conformance/ogles/GL/dot/dot_001_to_006.html',
134 ['lion', 'intel'], bug=323736)
135 self.Skip('conformance/ogles/GL/faceforward/faceforward_001_to_006.html',
136 ['lion', 'intel'], bug=323736)
137 self.Skip('conformance/ogles/GL/length/length_001_to_006.html',
138 ['lion', 'intel'], bug=323736)
139 self.Skip('conformance/ogles/GL/normalize/normalize_001_to_006.html',
140 ['lion', 'intel'], bug=323736)
141 self.Skip('conformance/ogles/GL/reflect/reflect_001_to_006.html',
142 ['lion', 'intel'], bug=323736)
143 self.Skip('conformance/ogles/GL/refract/refract_001_to_006.html',
144 ['lion', 'intel'], bug=323736)
145 self.Skip('conformance/ogles/GL/tan/tan_001_to_006.html',
146 ['lion', 'intel'], bug=323736)
148 self.Fail('conformance/ogles/GL/functions/functions_049_to_056.html',
149 ['lion', 'intel'], bug=393331)
150 self.Fail('conformance/extensions/webgl-compressed-texture-size-limit.html',
151 ['lion', 'intel'], bug=393331)
154 self.Fail('conformance/textures/default-texture.html',
155 ['linux', ('nvidia', 0x104a)], bug=422152)
158 # The following test is very slow and therefore times out on Android bot.
159 self.Skip('conformance/rendering/multisample-corruption.html',
161 # The following test times out on Android bot.
162 self.Fail('conformance/uniforms/gl-uniform-arrays.html',
163 ['android'], bug=369300)
164 self.Fail('conformance/glsl/misc/empty_main.vert.html',
165 ['android'], bug=315976)
166 self.Fail('conformance/glsl/misc/gl_position_unset.vert.html',
167 ['android'], bug=315976)
168 # The following tests are disabled due to security issues.
169 self.Fail('conformance/textures/tex-image-and-sub-image-2d-with-video.html',
170 ['android'], bug=334204)
171 self.Fail('conformance/textures/' +
172 'tex-image-and-sub-image-2d-with-video-rgb565.html',
173 ['android'], bug=334204)
174 self.Fail('conformance/textures/' +
175 'tex-image-and-sub-image-2d-with-video-rgba4444.html',
176 ['android'], bug=334204)
177 self.Fail('conformance/textures/' +
178 'tex-image-and-sub-image-2d-with-video-rgba5551.html',
179 ['android'], bug=334204)
180 self.Fail('conformance/textures/texture-npot-video.html',
181 ['android'], bug=334204)
183 # ChromeOS: affecting all devices.
184 self.Fail('conformance/extensions/webgl-depth-texture.html',
185 ['chromeos'], bug=382651)
187 # ChromeOS: all Intel except for pinetrail (stumpy, parrot, peppy,...)
188 # We will just include pinetrail here for now as we don't want to list
189 # every single Intel device ID.
190 self.Fail('conformance/glsl/misc/empty_main.vert.html',
191 ['chromeos', 'intel'], bug=375556)
192 self.Fail('conformance/glsl/misc/gl_position_unset.vert.html',
193 ['chromeos', 'intel'], bug=375556)
194 self.Fail('conformance/glsl/misc/shaders-with-varyings.html',
195 ['chromeos', 'intel'], bug=375556)
196 self.Fail('conformance/renderbuffers/framebuffer-object-attachment.html',
197 ['chromeos', 'intel'], bug=375556)
198 self.Fail('conformance/textures/texture-size-limit.html',
199 ['chromeos', 'intel'], bug=385361)
201 # ChromeOS: pinetrail (alex, mario, zgb).
202 self.Fail('conformance/attribs/gl-vertex-attrib-render.html',
203 ['chromeos', ('intel', 0xa011)], bug=375554)
204 self.Fail('conformance/glsl/functions/glsl-function-atan-xy.html',
205 ['chromeos', ('intel', 0xa011)], bug=375554)
206 self.Fail('conformance/glsl/functions/glsl-function-cos.html',
207 ['chromeos', ('intel', 0xa011)], bug=375554)
208 self.Fail('conformance/glsl/functions/glsl-function-sin.html',
209 ['chromeos', ('intel', 0xa011)], bug=375554)
210 self.Fail('conformance/glsl/misc/empty_main.vert.html',
211 ['chromeos', ('intel', 0xa011)], bug=375554)
212 self.Fail('conformance/glsl/misc/gl_position_unset.vert.html',
213 ['chromeos', ('intel', 0xa011)], bug=375554)
214 self.Fail('conformance/glsl/misc/shaders-with-varyings.html',
215 ['chromeos', ('intel', 0xa011)], bug=375554)
216 self.Fail('conformance/glsl/variables/gl-frontfacing.html',
217 ['chromeos', ('intel', 0xa011)], bug=375554)
218 self.Fail('conformance/limits/gl-max-texture-dimensions.html',
219 ['chromeos', ('intel', 0xa011)], bug=375554)
220 self.Fail('conformance/ogles/GL/acos/acos_001_to_006.html',
221 ['chromeos', ('intel', 0xa011)], bug=375554)
222 self.Fail('conformance/ogles/GL/asin/asin_001_to_006.html',
223 ['chromeos', ('intel', 0xa011)], bug=375554)
224 self.Fail('conformance/ogles/GL/atan/atan_001_to_008.html',
225 ['chromeos', ('intel', 0xa011)], bug=375554)
226 self.Fail('conformance/ogles/GL/build/build_009_to_016.html',
227 ['chromeos', ('intel', 0xa011)], bug=378938)
228 self.Fail('conformance/ogles/GL/control_flow/control_flow_001_to_008.html',
229 ['chromeos', ('intel', 0xa011)], bug=375554)
230 self.Fail('conformance/ogles/GL/cos/cos_001_to_006.html',
231 ['chromeos', ('intel', 0xa011)], bug=375554)
232 self.Fail('conformance/ogles/GL/discard/discard_001_to_002.html',
233 ['chromeos', ('intel', 0xa011)], bug=375554)
234 self.Fail('conformance/ogles/GL/functions/functions_001_to_008.html',
235 ['chromeos', ('intel', 0xa011)], bug=375554)
236 self.Fail('conformance/ogles/GL/functions/functions_065_to_072.html',
237 ['chromeos', ('intel', 0xa011)], bug=375554)
238 self.Fail('conformance/ogles/GL/functions/functions_081_to_088.html',
239 ['chromeos', ('intel', 0xa011)], bug=375554)
240 self.Fail('conformance/ogles/GL/functions/functions_097_to_104.html',
241 ['chromeos', ('intel', 0xa011)], bug=375554)
242 self.Fail('conformance/ogles/GL/functions/functions_105_to_112.html',
243 ['chromeos', ('intel', 0xa011)], bug=375554)
244 self.Fail('conformance/ogles/GL/functions/functions_113_to_120.html',
245 ['chromeos', ('intel', 0xa011)], bug=375554)
246 self.Fail('conformance/ogles/GL/functions/functions_121_to_126.html',
247 ['chromeos', ('intel', 0xa011)], bug=375554)
249 'conformance/ogles/GL/gl_FrontFacing/gl_FrontFacing_001_to_001.html',
250 ['chromeos', ('intel', 0xa011)], bug=375554)
251 self.Fail('conformance/ogles/GL/log/log_001_to_008.html',
252 ['chromeos', ('intel', 0xa011)], bug=375554)
253 self.Fail('conformance/ogles/GL/log2/log2_001_to_008.html',
254 ['chromeos', ('intel', 0xa011)], bug=375554)
255 self.Fail('conformance/ogles/GL/normalize/normalize_001_to_006.html',
256 ['chromeos', ('intel', 0xa011)], bug=375554)
257 self.Fail('conformance/ogles/GL/sin/sin_001_to_006.html',
258 ['chromeos', ('intel', 0xa011)], bug=375554)
259 self.Fail('conformance/rendering/point-size.html',
260 ['chromeos', ('intel', 0xa011)], bug=375554)
261 self.Fail('conformance/rendering/polygon-offset.html',
262 ['chromeos', ('intel', 0xa011)], bug=375554)
263 self.Fail('conformance/textures/texture-mips.html',
264 ['chromeos', ('intel', 0xa011)], bug=375554)
265 self.Fail('conformance/textures/texture-npot.html',
266 ['chromeos', ('intel', 0xa011)], bug=375554)
267 self.Fail('conformance/textures/texture-npot-video.html',
268 ['chromeos', ('intel', 0xa011)], bug=375554)
269 self.Fail('conformance/textures/texture-size.html',
270 ['chromeos', ('intel', 0xa011)], bug=375554)
271 self.Fail('conformance/textures/texture-size-limit.html',
272 ['chromeos', ('intel', 0xa011)], bug=375554)
273 self.Fail('conformance/uniforms/gl-uniform-arrays.html',
274 ['chromeos', ('intel', 0xa011)], bug=375554)
275 self.Skip('conformance/uniforms/uniform-default-values.html',
276 ['chromeos', ('intel', 0xa011)], bug=375554)