Bug 1064432 - Add mochitest-webgl.ini unified mochitest manifest. - r=kamidphish
authorJeff Gilbert <jgilbert@mozilla.com>
Mon, 22 Sep 2014 13:08:51 -0700
changeset 206589 499a2a39ac53d286cd61798defa0e99d82c007e4
parent 206588 3c7c479d5040ed723d1adf0a392e61e7378a0a43
child 206590 2d6ffa903e38c1ca0088ce41e78c10c38f38ea11
push id27532
push userkwierso@gmail.com
push dateTue, 23 Sep 2014 01:57:26 +0000
treeherdermozilla-central@790f41c631cc [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskamidphish
bugs1064432
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1064432 - Add mochitest-webgl.ini unified mochitest manifest. - r=kamidphish
dom/canvas/test/_webgl-conformance.ini
dom/canvas/test/mochitest-subsuite-webgl.ini
dom/canvas/test/moz.build
dom/canvas/test/webgl-conformance/_mochitest.ini
dom/canvas/test/webgl-conformance/generate-wrappers-and-manifest.py
dom/canvas/test/webgl-conformance/mochitest.ini.template
dom/canvas/test/webgl-conformance/moz.build
dom/canvas/test/webgl-mochitest.ini
dom/canvas/test/webgl-mochitest/mochitest.ini
dom/canvas/test/webgl-mochitest/moz.build
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/_webgl-conformance.ini
@@ -0,0 +1,839 @@
+# This is a GENERATED FILE. Do not edit it directly.
+# Regenerated it by using `python generate-wrapper-and-manifest.py`.
+# Mark skipped tests in mochitest-errata.ini.
+# Mark failing tests in mochi-single.html.
+
+[DEFAULT]
+skip-if = e10s || os == 'b2g' || ((os == 'linux') && (buildapp == 'b2g'))
+
+support-files = webgl-conformance/mochi-single.html
+                webgl-conformance/mochi-wrapper.css
+                webgl-conformance/always-fail.html
+                webgl-conformance/conformance/00_readme.txt
+                webgl-conformance/conformance/00_test_list.txt
+                webgl-conformance/conformance/LICENSE_CHROMIUM
+                webgl-conformance/conformance/attribs/00_test_list.txt
+                webgl-conformance/conformance/attribs/gl-enable-vertex-attrib.html
+                webgl-conformance/conformance/attribs/gl-vertex-attrib-zero-issues.html
+                webgl-conformance/conformance/attribs/gl-vertex-attrib.html
+                webgl-conformance/conformance/attribs/gl-vertexattribpointer-offsets.html
+                webgl-conformance/conformance/attribs/gl-vertexattribpointer.html
+                webgl-conformance/conformance/buffers/00_test_list.txt
+                webgl-conformance/conformance/buffers/buffer-bind-test.html
+                webgl-conformance/conformance/buffers/buffer-data-array-buffer.html
+                webgl-conformance/conformance/buffers/index-validation-copies-indices.html
+                webgl-conformance/conformance/buffers/index-validation-crash-with-buffer-sub-data.html
+                webgl-conformance/conformance/buffers/index-validation-verifies-too-many-indices.html
+                webgl-conformance/conformance/buffers/index-validation-with-resized-buffer.html
+                webgl-conformance/conformance/buffers/index-validation.html
+                webgl-conformance/conformance/canvas/00_test_list.txt
+                webgl-conformance/conformance/canvas/buffer-offscreen-test.html
+                webgl-conformance/conformance/canvas/buffer-preserve-test.html
+                webgl-conformance/conformance/canvas/canvas-test.html
+                webgl-conformance/conformance/canvas/canvas-zero-size.html
+                webgl-conformance/conformance/canvas/drawingbuffer-static-canvas-test.html
+                webgl-conformance/conformance/canvas/drawingbuffer-test.html
+                webgl-conformance/conformance/canvas/viewport-unchanged-upon-resize.html
+                webgl-conformance/conformance/context/00_test_list.txt
+                webgl-conformance/conformance/context/constants.html
+                webgl-conformance/conformance/context/context-attribute-preserve-drawing-buffer.html
+                webgl-conformance/conformance/context/context-attributes-alpha-depth-stencil-antialias.html
+                webgl-conformance/conformance/context/context-lost-restored.html
+                webgl-conformance/conformance/context/context-lost.html
+                webgl-conformance/conformance/context/context-type-test.html
+                webgl-conformance/conformance/context/incorrect-context-object-behaviour.html
+                webgl-conformance/conformance/context/methods.html
+                webgl-conformance/conformance/context/premultiplyalpha-test.html
+                webgl-conformance/conformance/context/resource-sharing-test.html
+                webgl-conformance/conformance/extensions/00_test_list.txt
+                webgl-conformance/conformance/extensions/ext-sRGB.html
+                webgl-conformance/conformance/extensions/ext-shader-texture-lod.html
+                webgl-conformance/conformance/extensions/ext-texture-filter-anisotropic.html
+                webgl-conformance/conformance/extensions/oes-standard-derivatives.html
+                webgl-conformance/conformance/extensions/oes-texture-float.html
+                webgl-conformance/conformance/extensions/oes-vertex-array-object.html
+                webgl-conformance/conformance/extensions/webgl-compressed-texture-etc1.html
+                webgl-conformance/conformance/extensions/webgl-compressed-texture-s3tc.html
+                webgl-conformance/conformance/extensions/webgl-debug-renderer-info.html
+                webgl-conformance/conformance/extensions/webgl-debug-shaders.html
+                webgl-conformance/conformance/extensions/webgl-depth-texture.html
+                webgl-conformance/conformance/glsl/00_test_list.txt
+                webgl-conformance/conformance/glsl/functions/00_test_list.txt
+                webgl-conformance/conformance/glsl/functions/glsl-function-abs.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-acos.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-asin.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-atan-xy.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-atan.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-ceil.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-clamp-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-clamp-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-cos.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-cross.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-distance.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-dot.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-faceforward.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-floor.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-fract.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-length.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-lessThan.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-max-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-max-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-min-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-min-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-mix-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-mix-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-mod-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-mod-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-normalize.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-reflect.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-refract.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-sign.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-sin.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-step-float.html
+                webgl-conformance/conformance/glsl/functions/glsl-function-step-gentype.html
+                webgl-conformance/conformance/glsl/functions/glsl-function.html
+                webgl-conformance/conformance/glsl/implicit/00_test_list.txt
+                webgl-conformance/conformance/glsl/implicit/add_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_mat2.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_mat3.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_mat4.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_int_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/add_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/assign_int_to_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/construct_struct.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_mat2.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_mat3.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_mat4.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_int_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/divide_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/equal_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/equal_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/equal_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/equal_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/function_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/function_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/function_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/function_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/greater_than.vert.html
+                webgl-conformance/conformance/glsl/implicit/greater_than_equal.vert.html
+                webgl-conformance/conformance/glsl/implicit/less_than.vert.html
+                webgl-conformance/conformance/glsl/implicit/less_than_equal.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_mat2.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_mat3.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_mat4.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_int_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/multiply_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/not_equal_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_mat2.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_mat3.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_mat4.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_int_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/subtract_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/implicit/ternary_int_float.vert.html
+                webgl-conformance/conformance/glsl/implicit/ternary_ivec2_vec2.vert.html
+                webgl-conformance/conformance/glsl/implicit/ternary_ivec3_vec3.vert.html
+                webgl-conformance/conformance/glsl/implicit/ternary_ivec4_vec4.vert.html
+                webgl-conformance/conformance/glsl/matrices/00_test_list.txt
+                webgl-conformance/conformance/glsl/matrices/glsl-mat4-to-mat3.html
+                webgl-conformance/conformance/glsl/misc/00_test_list.txt
+                webgl-conformance/conformance/glsl/misc/attrib-location-length-limits.html
+                webgl-conformance/conformance/glsl/misc/embedded-struct-definitions-forbidden.html
+                webgl-conformance/conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html
+                webgl-conformance/conformance/glsl/misc/glsl-function-nodes.html
+                webgl-conformance/conformance/glsl/misc/glsl-long-variable-names.html
+                webgl-conformance/conformance/glsl/misc/glsl-vertex-branch.html
+                webgl-conformance/conformance/glsl/misc/include.vs
+                webgl-conformance/conformance/glsl/misc/non-ascii-comments.vert.html
+                webgl-conformance/conformance/glsl/misc/non-ascii.vert.html
+                webgl-conformance/conformance/glsl/misc/re-compile-re-link.html
+                webgl-conformance/conformance/glsl/misc/shader-with-256-character-identifier.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-257-character-identifier.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-_webgl-identifier.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-attrib-array.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-attrib-struct.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-clipvertex.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-comma-assignment.html
+                webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html
+                webgl-conformance/conformance/glsl/misc/shader-with-conditional-scoping.html
+                webgl-conformance/conformance/glsl/misc/shader-with-default-precision.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-default-precision.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-define-line-continuation.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-dfdx.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-do-scoping.html
+                webgl-conformance/conformance/glsl/misc/shader-with-error-directive.html
+                webgl-conformance/conformance/glsl/misc/shader-with-explicit-int-cast.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-float-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-for-loop.html
+                webgl-conformance/conformance/glsl/misc/shader-with-for-scoping.html
+                webgl-conformance/conformance/glsl/misc/shader-with-frag-depth.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-function-recursion.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-function-scoped-struct.html
+                webgl-conformance/conformance/glsl/misc/shader-with-functional-scoping.html
+                webgl-conformance/conformance/glsl/misc/shader-with-glcolor.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-gles-1.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-gles-symbol.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-hex-int-constant-macro.html
+                webgl-conformance/conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-include.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-int-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-invalid-identifier.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-ivec2-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-ivec3-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-ivec4-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-limited-indexing.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-line-directive.html
+                webgl-conformance/conformance/glsl/misc/shader-with-long-line.html
+                webgl-conformance/conformance/glsl/misc/shader-with-non-ascii-error.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-precision.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-quoted-error.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-vec2-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-vec3-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-vec4-return-value.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html
+                webgl-conformance/conformance/glsl/misc/shader-with-version-100.frag.html
+                webgl-conformance/conformance/glsl/misc/shader-with-version-100.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-version-120.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-version-130.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-with-webgl-identifier.vert.html
+                webgl-conformance/conformance/glsl/misc/shader-without-precision.frag.html
+                webgl-conformance/conformance/glsl/misc/shared.html
+                webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html
+                webgl-conformance/conformance/glsl/misc/struct-nesting-under-maximum.html
+                webgl-conformance/conformance/glsl/misc/uniform-location-length-limits.html
+                webgl-conformance/conformance/glsl/reserved/00_test_list.txt
+                webgl-conformance/conformance/glsl/reserved/_webgl_field.vert.html
+                webgl-conformance/conformance/glsl/reserved/_webgl_function.vert.html
+                webgl-conformance/conformance/glsl/reserved/_webgl_struct.vert.html
+                webgl-conformance/conformance/glsl/reserved/_webgl_variable.vert.html
+                webgl-conformance/conformance/glsl/reserved/webgl_field.vert.html
+                webgl-conformance/conformance/glsl/reserved/webgl_function.vert.html
+                webgl-conformance/conformance/glsl/reserved/webgl_struct.vert.html
+                webgl-conformance/conformance/glsl/reserved/webgl_variable.vert.html
+                webgl-conformance/conformance/glsl/samplers/00_test_list.txt
+                webgl-conformance/conformance/glsl/samplers/glsl-function-texture2d-bias.html
+                webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dlod.html
+                webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dproj.html
+                webgl-conformance/conformance/glsl/variables/00_test_list.txt
+                webgl-conformance/conformance/glsl/variables/gl-fragcoord.html
+                webgl-conformance/conformance/glsl/variables/gl-frontfacing.html
+                webgl-conformance/conformance/glsl/variables/gl-pointcoord.html
+                webgl-conformance/conformance/limits/00_test_list.txt
+                webgl-conformance/conformance/limits/gl-max-texture-dimensions.html
+                webgl-conformance/conformance/limits/gl-min-attribs.html
+                webgl-conformance/conformance/limits/gl-min-textures.html
+                webgl-conformance/conformance/limits/gl-min-uniforms.html
+                webgl-conformance/conformance/misc/00_test_list.txt
+                webgl-conformance/conformance/misc/bad-arguments-test.html
+                webgl-conformance/conformance/misc/delayed-drawing.html
+                webgl-conformance/conformance/misc/error-reporting.html
+                webgl-conformance/conformance/misc/functions-returning-strings.html
+                webgl-conformance/conformance/misc/instanceof-test.html
+                webgl-conformance/conformance/misc/invalid-passed-params.html
+                webgl-conformance/conformance/misc/is-object.html
+                webgl-conformance/conformance/misc/null-object-behaviour.html
+                webgl-conformance/conformance/misc/object-deletion-behaviour.html
+                webgl-conformance/conformance/misc/shader-precision-format.html
+                webgl-conformance/conformance/misc/type-conversion-test.html
+                webgl-conformance/conformance/misc/uninitialized-test.html
+                webgl-conformance/conformance/misc/webgl-specific.html
+                webgl-conformance/conformance/more/00_test_list.txt
+                webgl-conformance/conformance/more/README.md
+                webgl-conformance/conformance/more/all_tests.html
+                webgl-conformance/conformance/more/all_tests_linkonly.html
+                webgl-conformance/conformance/more/all_tests_sequential.html
+                webgl-conformance/conformance/more/conformance/argGenerators-A.js
+                webgl-conformance/conformance/more/conformance/argGenerators-B1.js
+                webgl-conformance/conformance/more/conformance/argGenerators-B2.js
+                webgl-conformance/conformance/more/conformance/argGenerators-B3.js
+                webgl-conformance/conformance/more/conformance/argGenerators-B4.js
+                webgl-conformance/conformance/more/conformance/argGenerators-C.js
+                webgl-conformance/conformance/more/conformance/argGenerators-D_G.js
+                webgl-conformance/conformance/more/conformance/argGenerators-G_I.js
+                webgl-conformance/conformance/more/conformance/argGenerators-L_S.js
+                webgl-conformance/conformance/more/conformance/argGenerators-S_V.js
+                webgl-conformance/conformance/more/conformance/badArgsArityLessThanArgc.html
+                webgl-conformance/conformance/more/conformance/constants.html
+                webgl-conformance/conformance/more/conformance/fuzzTheAPI.html
+                webgl-conformance/conformance/more/conformance/getContext.html
+                webgl-conformance/conformance/more/conformance/methods.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-A.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-B1.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-B2.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-B3.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-B4.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-C.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-D_G.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-G_I.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-L_S.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI-S_V.html
+                webgl-conformance/conformance/more/conformance/quickCheckAPI.js
+                webgl-conformance/conformance/more/conformance/quickCheckAPIBadArgs.html
+                webgl-conformance/conformance/more/conformance/webGLArrays.html
+                webgl-conformance/conformance/more/demos/opengl_web.html
+                webgl-conformance/conformance/more/demos/video.html
+                webgl-conformance/conformance/more/functions/bindBuffer.html
+                webgl-conformance/conformance/more/functions/bindBufferBadArgs.html
+                webgl-conformance/conformance/more/functions/bindFramebufferLeaveNonZero.html
+                webgl-conformance/conformance/more/functions/bufferData.html
+                webgl-conformance/conformance/more/functions/bufferDataBadArgs.html
+                webgl-conformance/conformance/more/functions/bufferSubData.html
+                webgl-conformance/conformance/more/functions/bufferSubDataBadArgs.html
+                webgl-conformance/conformance/more/functions/copyTexImage2D.html
+                webgl-conformance/conformance/more/functions/copyTexImage2DBadArgs.html
+                webgl-conformance/conformance/more/functions/copyTexSubImage2D.html
+                webgl-conformance/conformance/more/functions/copyTexSubImage2DBadArgs.html
+                webgl-conformance/conformance/more/functions/deleteBufferBadArgs.html
+                webgl-conformance/conformance/more/functions/drawArrays.html
+                webgl-conformance/conformance/more/functions/drawArraysOutOfBounds.html
+                webgl-conformance/conformance/more/functions/drawElements.html
+                webgl-conformance/conformance/more/functions/drawElementsBadArgs.html
+                webgl-conformance/conformance/more/functions/isTests.html
+                webgl-conformance/conformance/more/functions/readPixels.html
+                webgl-conformance/conformance/more/functions/readPixelsBadArgs.html
+                webgl-conformance/conformance/more/functions/texImage2D.html
+                webgl-conformance/conformance/more/functions/texImage2DBadArgs.html
+                webgl-conformance/conformance/more/functions/texImage2DHTML.html
+                webgl-conformance/conformance/more/functions/texImage2DHTMLBadArgs.html
+                webgl-conformance/conformance/more/functions/texSubImage2D.html
+                webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html
+                webgl-conformance/conformance/more/functions/texSubImage2DHTML.html
+                webgl-conformance/conformance/more/functions/texSubImage2DHTMLBadArgs.html
+                webgl-conformance/conformance/more/functions/uniformMatrix.html
+                webgl-conformance/conformance/more/functions/uniformMatrixBadArgs.html
+                webgl-conformance/conformance/more/functions/uniformf.html
+                webgl-conformance/conformance/more/functions/uniformfArrayLen1.html
+                webgl-conformance/conformance/more/functions/uniformfBadArgs.html
+                webgl-conformance/conformance/more/functions/uniformi.html
+                webgl-conformance/conformance/more/functions/uniformiBadArgs.html
+                webgl-conformance/conformance/more/functions/vertexAttrib.html
+                webgl-conformance/conformance/more/functions/vertexAttribBadArgs.html
+                webgl-conformance/conformance/more/functions/vertexAttribPointer.html
+                webgl-conformance/conformance/more/functions/vertexAttribPointerBadArgs.html
+                webgl-conformance/conformance/more/glsl/arrayOutOfBounds.html
+                webgl-conformance/conformance/more/glsl/longLoops.html
+                webgl-conformance/conformance/more/glsl/uniformOutOfBounds.html
+                webgl-conformance/conformance/more/glsl/unusedAttribsUniforms.html
+                webgl-conformance/conformance/more/index.html
+                webgl-conformance/conformance/more/performance/CPUvsGPU.html
+                webgl-conformance/conformance/more/performance/bandwidth.html
+                webgl-conformance/conformance/more/performance/jsGCPause.html
+                webgl-conformance/conformance/more/performance/jsMatrixMult.html
+                webgl-conformance/conformance/more/performance/jsToGLOverhead.html
+                webgl-conformance/conformance/more/unit.css
+                webgl-conformance/conformance/more/unit.js
+                webgl-conformance/conformance/more/util.js
+                webgl-conformance/conformance/programs/00_test_list.txt
+                webgl-conformance/conformance/programs/get-active-test.html
+                webgl-conformance/conformance/programs/gl-bind-attrib-location-test.html
+                webgl-conformance/conformance/programs/gl-get-active-attribute.html
+                webgl-conformance/conformance/programs/gl-get-active-uniform.html
+                webgl-conformance/conformance/programs/gl-getshadersource.html
+                webgl-conformance/conformance/programs/gl-shader-test.html
+                webgl-conformance/conformance/programs/invalid-UTF-16.html
+                webgl-conformance/conformance/programs/program-test.html
+                webgl-conformance/conformance/reading/00_test_list.txt
+                webgl-conformance/conformance/reading/read-pixels-pack-alignment.html
+                webgl-conformance/conformance/reading/read-pixels-test.html
+                webgl-conformance/conformance/renderbuffers/00_test_list.txt
+                webgl-conformance/conformance/renderbuffers/framebuffer-object-attachment.html
+                webgl-conformance/conformance/renderbuffers/framebuffer-test.html
+                webgl-conformance/conformance/renderbuffers/renderbuffer-initialization.html
+                webgl-conformance/conformance/rendering/00_test_list.txt
+                webgl-conformance/conformance/rendering/draw-arrays-out-of-bounds.html
+                webgl-conformance/conformance/rendering/draw-elements-out-of-bounds.html
+                webgl-conformance/conformance/rendering/gl-clear.html
+                webgl-conformance/conformance/rendering/gl-drawelements.html
+                webgl-conformance/conformance/rendering/gl-scissor-test.html
+                webgl-conformance/conformance/rendering/line-loop-tri-fan.html
+                webgl-conformance/conformance/rendering/more-than-65536-indices.html
+                webgl-conformance/conformance/rendering/point-size.html
+                webgl-conformance/conformance/rendering/triangle.html
+                webgl-conformance/conformance/resources/3x3.png
+                webgl-conformance/conformance/resources/blue-1x1.jpg
+                webgl-conformance/conformance/resources/boolUniformShader.vert
+                webgl-conformance/conformance/resources/bug-32888-texture.png
+                webgl-conformance/conformance/resources/floatUniformShader.vert
+                webgl-conformance/conformance/resources/fragmentShader.frag
+                webgl-conformance/conformance/resources/glsl-conformance-test.js
+                webgl-conformance/conformance/resources/glsl-feature-tests.css
+                webgl-conformance/conformance/resources/glsl-generator.js
+                webgl-conformance/conformance/resources/gray-ramp-256-with-128-alpha.png
+                webgl-conformance/conformance/resources/gray-ramp-256.png
+                webgl-conformance/conformance/resources/gray-ramp-default-gamma.png
+                webgl-conformance/conformance/resources/gray-ramp-gamma0.1.png
+                webgl-conformance/conformance/resources/gray-ramp-gamma1.0.png
+                webgl-conformance/conformance/resources/gray-ramp-gamma2.0.png
+                webgl-conformance/conformance/resources/gray-ramp-gamma4.0.png
+                webgl-conformance/conformance/resources/gray-ramp-gamma9.0.png
+                webgl-conformance/conformance/resources/gray-ramp.png
+                webgl-conformance/conformance/resources/green-2x2-16bit.png
+                webgl-conformance/conformance/resources/intArrayUniformShader.vert
+                webgl-conformance/conformance/resources/intUniformShader.vert
+                webgl-conformance/conformance/resources/matUniformShader.vert
+                webgl-conformance/conformance/resources/noopUniformShader.frag
+                webgl-conformance/conformance/resources/noopUniformShader.vert
+                webgl-conformance/conformance/resources/npot-video.mp4
+                webgl-conformance/conformance/resources/npot-video.theora.ogv
+                webgl-conformance/conformance/resources/npot-video.webmvp8.webm
+                webgl-conformance/conformance/resources/pnglib.js
+                webgl-conformance/conformance/resources/red-green.mp4
+                webgl-conformance/conformance/resources/red-green.png
+                webgl-conformance/conformance/resources/red-green.theora.ogv
+                webgl-conformance/conformance/resources/red-green.webmvp8.webm
+                webgl-conformance/conformance/resources/red-indexed.png
+                webgl-conformance/conformance/resources/samplerUniformShader.frag
+                webgl-conformance/conformance/resources/small-square-with-cie-rgb-profile.png
+                webgl-conformance/conformance/resources/small-square-with-colormatch-profile.png
+                webgl-conformance/conformance/resources/small-square-with-colorspin-profile.jpg
+                webgl-conformance/conformance/resources/small-square-with-colorspin-profile.png
+                webgl-conformance/conformance/resources/small-square-with-e-srgb-profile.png
+                webgl-conformance/conformance/resources/small-square-with-smpte-c-profile.png
+                webgl-conformance/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png
+                webgl-conformance/conformance/resources/structUniformShader.vert
+                webgl-conformance/conformance/resources/vertexShader.vert
+                webgl-conformance/conformance/resources/webgl-test-utils.js
+                webgl-conformance/conformance/resources/webgl-test.js
+                webgl-conformance/conformance/resources/zero-alpha.png
+                webgl-conformance/conformance/state/00_test_list.txt
+                webgl-conformance/conformance/state/gl-enable-enum-test.html
+                webgl-conformance/conformance/state/gl-enum-tests.html
+                webgl-conformance/conformance/state/gl-get-calls.html
+                webgl-conformance/conformance/state/gl-geterror.html
+                webgl-conformance/conformance/state/gl-getstring.html
+                webgl-conformance/conformance/state/gl-object-get-calls.html
+                webgl-conformance/conformance/textures/00_test_list.txt
+                webgl-conformance/conformance/textures/compressed-tex-image.html
+                webgl-conformance/conformance/textures/copy-tex-image-and-sub-image-2d.html
+                webgl-conformance/conformance/textures/gl-pixelstorei.html
+                webgl-conformance/conformance/textures/gl-teximage.html
+                webgl-conformance/conformance/textures/origin-clean-conformance.html
+                webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html
+                webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html
+                webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html
+                webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image.html
+                webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-video.html
+                webgl-conformance/conformance/textures/tex-image-and-uniform-binding-bugs.html
+                webgl-conformance/conformance/textures/tex-image-with-format-and-type.html
+                webgl-conformance/conformance/textures/tex-image-with-invalid-data.html
+                webgl-conformance/conformance/textures/tex-input-validation.html
+                webgl-conformance/conformance/textures/tex-sub-image-2d-bad-args.html
+                webgl-conformance/conformance/textures/tex-sub-image-2d.html
+                webgl-conformance/conformance/textures/texparameter-test.html
+                webgl-conformance/conformance/textures/texture-active-bind-2.html
+                webgl-conformance/conformance/textures/texture-active-bind.html
+                webgl-conformance/conformance/textures/texture-clear.html
+                webgl-conformance/conformance/textures/texture-complete.html
+                webgl-conformance/conformance/textures/texture-formats-test.html
+                webgl-conformance/conformance/textures/texture-mips.html
+                webgl-conformance/conformance/textures/texture-npot-video.html
+                webgl-conformance/conformance/textures/texture-npot.html
+                webgl-conformance/conformance/textures/texture-size-cube-maps.html
+                webgl-conformance/conformance/textures/texture-size.html
+                webgl-conformance/conformance/textures/texture-transparent-pixels-initialized.html
+                webgl-conformance/conformance/typedarrays/00_test_list.txt
+                webgl-conformance/conformance/typedarrays/array-buffer-crash.html
+                webgl-conformance/conformance/typedarrays/array-buffer-view-crash.html
+                webgl-conformance/conformance/typedarrays/array-unit-tests.html
+                webgl-conformance/conformance/uniforms/00_test_list.txt
+                webgl-conformance/conformance/uniforms/gl-uniform-arrays.html
+                webgl-conformance/conformance/uniforms/gl-uniform-bool.html
+                webgl-conformance/conformance/uniforms/gl-uniformmatrix4fv.html
+                webgl-conformance/conformance/uniforms/gl-unknown-uniform.html
+                webgl-conformance/conformance/uniforms/null-uniform-location.html
+                webgl-conformance/conformance/uniforms/uniform-location.html
+                webgl-conformance/conformance/uniforms/uniform-samplers-test.html
+                webgl-conformance/resources/cors-util.js
+                webgl-conformance/resources/desktop-gl-constants.js
+                webgl-conformance/resources/js-test-pre.js
+                webgl-conformance/resources/js-test-style.css
+                webgl-conformance/resources/opengl_logo.jpg
+                webgl-conformance/resources/thunderbird-logo-64x64.png
+                webgl-conformance/resources/webgl-logo.png
+                webgl-conformance/resources/webgl-test-harness.js
+
+[webgl-conformance/_wrappers/test_always-fail.html]
+[webgl-conformance/_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html]
+[webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html]
+[webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib.html]
+[webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html]
+[webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__buffer-bind-test.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__buffer-data-array-buffer.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__index-validation-copies-indices.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html]
+[webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html]
+skip-if = os == 'mac'
+[webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-test.html]
+[webgl-conformance/_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html]
+[webgl-conformance/_wrappers/test_conformance__context__constants.html]
+[webgl-conformance/_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html]
+skip-if = (os == 'b2g')
+[webgl-conformance/_wrappers/test_conformance__context__context-lost-restored.html]
+[webgl-conformance/_wrappers/test_conformance__context__context-lost.html]
+[webgl-conformance/_wrappers/test_conformance__context__context-type-test.html]
+[webgl-conformance/_wrappers/test_conformance__context__incorrect-context-object-behaviour.html]
+[webgl-conformance/_wrappers/test_conformance__context__methods.html]
+[webgl-conformance/_wrappers/test_conformance__context__premultiplyalpha-test.html]
+[webgl-conformance/_wrappers/test_conformance__context__resource-sharing-test.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__ext-sRGB.html]
+[webgl-conformance/_wrappers/test_conformance__extensions__ext-shader-texture-lod.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-abs.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-acos.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-asin.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cos.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cross.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-distance.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-dot.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-floor.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-fract.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-length.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sign.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sin.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-long-line.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__shared.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-fragcoord.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-frontfacing.html]
+[webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-pointcoord.html]
+[webgl-conformance/_wrappers/test_conformance__limits__gl-min-attribs.html]
+[webgl-conformance/_wrappers/test_conformance__limits__gl-max-texture-dimensions.html]
+[webgl-conformance/_wrappers/test_conformance__limits__gl-min-textures.html]
+[webgl-conformance/_wrappers/test_conformance__limits__gl-min-uniforms.html]
+[webgl-conformance/_wrappers/test_conformance__misc__bad-arguments-test.html]
+[webgl-conformance/_wrappers/test_conformance__misc__error-reporting.html]
+[webgl-conformance/_wrappers/test_conformance__misc__instanceof-test.html]
+[webgl-conformance/_wrappers/test_conformance__misc__invalid-passed-params.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__misc__is-object.html]
+[webgl-conformance/_wrappers/test_conformance__misc__null-object-behaviour.html]
+[webgl-conformance/_wrappers/test_conformance__misc__functions-returning-strings.html]
+[webgl-conformance/_wrappers/test_conformance__misc__object-deletion-behaviour.html]
+[webgl-conformance/_wrappers/test_conformance__misc__shader-precision-format.html]
+[webgl-conformance/_wrappers/test_conformance__misc__type-conversion-test.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__misc__uninitialized-test.html]
+skip-if = os == 'android'
+[webgl-conformance/_wrappers/test_conformance__misc__webgl-specific.html]
+[webgl-conformance/_wrappers/test_conformance__programs__get-active-test.html]
+[webgl-conformance/_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html]
+[webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-attribute.html]
+[webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-uniform.html]
+[webgl-conformance/_wrappers/test_conformance__programs__gl-getshadersource.html]
+[webgl-conformance/_wrappers/test_conformance__programs__gl-shader-test.html]
+[webgl-conformance/_wrappers/test_conformance__programs__invalid-UTF-16.html]
+[webgl-conformance/_wrappers/test_conformance__programs__program-test.html]
+[webgl-conformance/_wrappers/test_conformance__reading__read-pixels-pack-alignment.html]
+[webgl-conformance/_wrappers/test_conformance__reading__read-pixels-test.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html]
+skip-if = os == 'android'
+[webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-test.html]
+[webgl-conformance/_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__gl-clear.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__gl-drawelements.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__gl-scissor-test.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__more-than-65536-indices.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__point-size.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__triangle.html]
+[webgl-conformance/_wrappers/test_conformance__rendering__line-loop-tri-fan.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-enable-enum-test.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-enum-tests.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-get-calls.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-geterror.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-getstring.html]
+[webgl-conformance/_wrappers/test_conformance__state__gl-object-get-calls.html]
+[webgl-conformance/_wrappers/test_conformance__textures__compressed-tex-image.html]
+[webgl-conformance/_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html]
+[webgl-conformance/_wrappers/test_conformance__textures__gl-pixelstorei.html]
+[webgl-conformance/_wrappers/test_conformance__textures__gl-teximage.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__textures__origin-clean-conformance.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux') || (os == 'win')
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html]
+skip-if = (os == 'b2g')
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-format-and-type.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-invalid-data.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-input-validation.html]
+skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
+[webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html]
+[webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texparameter-test.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind-2.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-complete.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html]
+skip-if = os == 'win'
+[webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html]
+[webgl-conformance/_wrappers/test_conformance__textures__texture-size.html]
+skip-if = os == 'android'
+[webgl-conformance/_wrappers/test_conformance__textures__texture-size-cube-maps.html]
+skip-if = os == 'android'
+[webgl-conformance/_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html]
+[webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-crash.html]
+[webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html]
+[webgl-conformance/_wrappers/test_conformance__typedarrays__array-unit-tests.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-arrays.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-bool.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__gl-unknown-uniform.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__null-uniform-location.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__uniform-location.html]
+[webgl-conformance/_wrappers/test_conformance__uniforms__uniform-samplers-test.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__constants.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__getContext.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__methods.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html]
+[webgl-conformance/_wrappers/test_conformance__more__conformance__webGLArrays.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bindBuffer.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bindBufferBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bufferData.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bufferDataBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubData.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2D.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2D.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__drawArrays.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__drawElements.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__drawElementsBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__isTests.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__readPixels.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__readPixelsBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texImage2D.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTML.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2D.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTML.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformf.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformfBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformfArrayLen1.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformi.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformiBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrix.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttrib.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointer.html]
+[webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html]
+[webgl-conformance/_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html]
+[webgl-conformance/_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html]
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/mochitest-subsuite-webgl.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+[include:_webgl-conformance.ini]
+[include:webgl-mochitest.ini]
--- a/dom/canvas/test/moz.build
+++ b/dom/canvas/test/moz.build
@@ -1,17 +1,13 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-DIRS += [
-    'webgl-conformance',
-    'webgl-mochitest',
-]
-
 MOCHITEST_MANIFESTS += [
     'crossorigin/mochitest.ini',
+    'mochitest-subsuite-webgl.ini',
     'mochitest.ini',
 ]
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome/chrome.ini']
deleted file mode 100644
--- a/dom/canvas/test/webgl-conformance/_mochitest.ini
+++ /dev/null
@@ -1,834 +0,0 @@
-[DEFAULT]
-skip-if = e10s || os == 'b2g' || ((os == 'linux') && (buildapp == 'b2g'))
-
-support-files = mochi-single.html
-                mochi-wrapper.css
-                always-fail.html
-                conformance/00_readme.txt
-                conformance/00_test_list.txt
-                conformance/LICENSE_CHROMIUM
-                conformance/attribs/00_test_list.txt
-                conformance/attribs/gl-enable-vertex-attrib.html
-                conformance/attribs/gl-vertex-attrib-zero-issues.html
-                conformance/attribs/gl-vertex-attrib.html
-                conformance/attribs/gl-vertexattribpointer-offsets.html
-                conformance/attribs/gl-vertexattribpointer.html
-                conformance/buffers/00_test_list.txt
-                conformance/buffers/buffer-bind-test.html
-                conformance/buffers/buffer-data-array-buffer.html
-                conformance/buffers/index-validation-copies-indices.html
-                conformance/buffers/index-validation-crash-with-buffer-sub-data.html
-                conformance/buffers/index-validation-verifies-too-many-indices.html
-                conformance/buffers/index-validation-with-resized-buffer.html
-                conformance/buffers/index-validation.html
-                conformance/canvas/00_test_list.txt
-                conformance/canvas/buffer-offscreen-test.html
-                conformance/canvas/buffer-preserve-test.html
-                conformance/canvas/canvas-test.html
-                conformance/canvas/canvas-zero-size.html
-                conformance/canvas/drawingbuffer-static-canvas-test.html
-                conformance/canvas/drawingbuffer-test.html
-                conformance/canvas/viewport-unchanged-upon-resize.html
-                conformance/context/00_test_list.txt
-                conformance/context/constants.html
-                conformance/context/context-attribute-preserve-drawing-buffer.html
-                conformance/context/context-attributes-alpha-depth-stencil-antialias.html
-                conformance/context/context-lost-restored.html
-                conformance/context/context-lost.html
-                conformance/context/context-type-test.html
-                conformance/context/incorrect-context-object-behaviour.html
-                conformance/context/methods.html
-                conformance/context/premultiplyalpha-test.html
-                conformance/context/resource-sharing-test.html
-                conformance/extensions/00_test_list.txt
-                conformance/extensions/ext-sRGB.html
-                conformance/extensions/ext-shader-texture-lod.html
-                conformance/extensions/ext-texture-filter-anisotropic.html
-                conformance/extensions/oes-standard-derivatives.html
-                conformance/extensions/oes-texture-float.html
-                conformance/extensions/oes-vertex-array-object.html
-                conformance/extensions/webgl-compressed-texture-etc1.html
-                conformance/extensions/webgl-compressed-texture-s3tc.html
-                conformance/extensions/webgl-debug-renderer-info.html
-                conformance/extensions/webgl-debug-shaders.html
-                conformance/extensions/webgl-depth-texture.html
-                conformance/glsl/00_test_list.txt
-                conformance/glsl/functions/00_test_list.txt
-                conformance/glsl/functions/glsl-function-abs.html
-                conformance/glsl/functions/glsl-function-acos.html
-                conformance/glsl/functions/glsl-function-asin.html
-                conformance/glsl/functions/glsl-function-atan-xy.html
-                conformance/glsl/functions/glsl-function-atan.html
-                conformance/glsl/functions/glsl-function-ceil.html
-                conformance/glsl/functions/glsl-function-clamp-float.html
-                conformance/glsl/functions/glsl-function-clamp-gentype.html
-                conformance/glsl/functions/glsl-function-cos.html
-                conformance/glsl/functions/glsl-function-cross.html
-                conformance/glsl/functions/glsl-function-distance.html
-                conformance/glsl/functions/glsl-function-dot.html
-                conformance/glsl/functions/glsl-function-faceforward.html
-                conformance/glsl/functions/glsl-function-floor.html
-                conformance/glsl/functions/glsl-function-fract.html
-                conformance/glsl/functions/glsl-function-length.html
-                conformance/glsl/functions/glsl-function-lessThan.html
-                conformance/glsl/functions/glsl-function-max-float.html
-                conformance/glsl/functions/glsl-function-max-gentype.html
-                conformance/glsl/functions/glsl-function-min-float.html
-                conformance/glsl/functions/glsl-function-min-gentype.html
-                conformance/glsl/functions/glsl-function-mix-float.html
-                conformance/glsl/functions/glsl-function-mix-gentype.html
-                conformance/glsl/functions/glsl-function-mod-float.html
-                conformance/glsl/functions/glsl-function-mod-gentype.html
-                conformance/glsl/functions/glsl-function-normalize.html
-                conformance/glsl/functions/glsl-function-reflect.html
-                conformance/glsl/functions/glsl-function-refract.html
-                conformance/glsl/functions/glsl-function-sign.html
-                conformance/glsl/functions/glsl-function-sin.html
-                conformance/glsl/functions/glsl-function-smoothstep-float.html
-                conformance/glsl/functions/glsl-function-smoothstep-gentype.html
-                conformance/glsl/functions/glsl-function-step-float.html
-                conformance/glsl/functions/glsl-function-step-gentype.html
-                conformance/glsl/functions/glsl-function.html
-                conformance/glsl/implicit/00_test_list.txt
-                conformance/glsl/implicit/add_int_float.vert.html
-                conformance/glsl/implicit/add_int_mat2.vert.html
-                conformance/glsl/implicit/add_int_mat3.vert.html
-                conformance/glsl/implicit/add_int_mat4.vert.html
-                conformance/glsl/implicit/add_int_vec2.vert.html
-                conformance/glsl/implicit/add_int_vec3.vert.html
-                conformance/glsl/implicit/add_int_vec4.vert.html
-                conformance/glsl/implicit/add_ivec2_vec2.vert.html
-                conformance/glsl/implicit/add_ivec3_vec3.vert.html
-                conformance/glsl/implicit/add_ivec4_vec4.vert.html
-                conformance/glsl/implicit/assign_int_to_float.vert.html
-                conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html
-                conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html
-                conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html
-                conformance/glsl/implicit/construct_struct.vert.html
-                conformance/glsl/implicit/divide_int_float.vert.html
-                conformance/glsl/implicit/divide_int_mat2.vert.html
-                conformance/glsl/implicit/divide_int_mat3.vert.html
-                conformance/glsl/implicit/divide_int_mat4.vert.html
-                conformance/glsl/implicit/divide_int_vec2.vert.html
-                conformance/glsl/implicit/divide_int_vec3.vert.html
-                conformance/glsl/implicit/divide_int_vec4.vert.html
-                conformance/glsl/implicit/divide_ivec2_vec2.vert.html
-                conformance/glsl/implicit/divide_ivec3_vec3.vert.html
-                conformance/glsl/implicit/divide_ivec4_vec4.vert.html
-                conformance/glsl/implicit/equal_int_float.vert.html
-                conformance/glsl/implicit/equal_ivec2_vec2.vert.html
-                conformance/glsl/implicit/equal_ivec3_vec3.vert.html
-                conformance/glsl/implicit/equal_ivec4_vec4.vert.html
-                conformance/glsl/implicit/function_int_float.vert.html
-                conformance/glsl/implicit/function_ivec2_vec2.vert.html
-                conformance/glsl/implicit/function_ivec3_vec3.vert.html
-                conformance/glsl/implicit/function_ivec4_vec4.vert.html
-                conformance/glsl/implicit/greater_than.vert.html
-                conformance/glsl/implicit/greater_than_equal.vert.html
-                conformance/glsl/implicit/less_than.vert.html
-                conformance/glsl/implicit/less_than_equal.vert.html
-                conformance/glsl/implicit/multiply_int_float.vert.html
-                conformance/glsl/implicit/multiply_int_mat2.vert.html
-                conformance/glsl/implicit/multiply_int_mat3.vert.html
-                conformance/glsl/implicit/multiply_int_mat4.vert.html
-                conformance/glsl/implicit/multiply_int_vec2.vert.html
-                conformance/glsl/implicit/multiply_int_vec3.vert.html
-                conformance/glsl/implicit/multiply_int_vec4.vert.html
-                conformance/glsl/implicit/multiply_ivec2_vec2.vert.html
-                conformance/glsl/implicit/multiply_ivec3_vec3.vert.html
-                conformance/glsl/implicit/multiply_ivec4_vec4.vert.html
-                conformance/glsl/implicit/not_equal_int_float.vert.html
-                conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html
-                conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html
-                conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html
-                conformance/glsl/implicit/subtract_int_float.vert.html
-                conformance/glsl/implicit/subtract_int_mat2.vert.html
-                conformance/glsl/implicit/subtract_int_mat3.vert.html
-                conformance/glsl/implicit/subtract_int_mat4.vert.html
-                conformance/glsl/implicit/subtract_int_vec2.vert.html
-                conformance/glsl/implicit/subtract_int_vec3.vert.html
-                conformance/glsl/implicit/subtract_int_vec4.vert.html
-                conformance/glsl/implicit/subtract_ivec2_vec2.vert.html
-                conformance/glsl/implicit/subtract_ivec3_vec3.vert.html
-                conformance/glsl/implicit/subtract_ivec4_vec4.vert.html
-                conformance/glsl/implicit/ternary_int_float.vert.html
-                conformance/glsl/implicit/ternary_ivec2_vec2.vert.html
-                conformance/glsl/implicit/ternary_ivec3_vec3.vert.html
-                conformance/glsl/implicit/ternary_ivec4_vec4.vert.html
-                conformance/glsl/matrices/00_test_list.txt
-                conformance/glsl/matrices/glsl-mat4-to-mat3.html
-                conformance/glsl/misc/00_test_list.txt
-                conformance/glsl/misc/attrib-location-length-limits.html
-                conformance/glsl/misc/embedded-struct-definitions-forbidden.html
-                conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html
-                conformance/glsl/misc/glsl-function-nodes.html
-                conformance/glsl/misc/glsl-long-variable-names.html
-                conformance/glsl/misc/glsl-vertex-branch.html
-                conformance/glsl/misc/include.vs
-                conformance/glsl/misc/non-ascii-comments.vert.html
-                conformance/glsl/misc/non-ascii.vert.html
-                conformance/glsl/misc/re-compile-re-link.html
-                conformance/glsl/misc/shader-with-256-character-identifier.frag.html
-                conformance/glsl/misc/shader-with-257-character-identifier.frag.html
-                conformance/glsl/misc/shader-with-_webgl-identifier.vert.html
-                conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html
-                conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html
-                conformance/glsl/misc/shader-with-attrib-array.vert.html
-                conformance/glsl/misc/shader-with-attrib-struct.vert.html
-                conformance/glsl/misc/shader-with-clipvertex.vert.html
-                conformance/glsl/misc/shader-with-comma-assignment.html
-                conformance/glsl/misc/shader-with-comma-conditional-assignment.html
-                conformance/glsl/misc/shader-with-conditional-scoping.html
-                conformance/glsl/misc/shader-with-default-precision.frag.html
-                conformance/glsl/misc/shader-with-default-precision.vert.html
-                conformance/glsl/misc/shader-with-define-line-continuation.frag.html
-                conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html
-                conformance/glsl/misc/shader-with-dfdx.frag.html
-                conformance/glsl/misc/shader-with-do-scoping.html
-                conformance/glsl/misc/shader-with-error-directive.html
-                conformance/glsl/misc/shader-with-explicit-int-cast.vert.html
-                conformance/glsl/misc/shader-with-float-return-value.frag.html
-                conformance/glsl/misc/shader-with-for-loop.html
-                conformance/glsl/misc/shader-with-for-scoping.html
-                conformance/glsl/misc/shader-with-frag-depth.frag.html
-                conformance/glsl/misc/shader-with-function-recursion.frag.html
-                conformance/glsl/misc/shader-with-function-scoped-struct.html
-                conformance/glsl/misc/shader-with-functional-scoping.html
-                conformance/glsl/misc/shader-with-glcolor.vert.html
-                conformance/glsl/misc/shader-with-gles-1.frag.html
-                conformance/glsl/misc/shader-with-gles-symbol.frag.html
-                conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html
-                conformance/glsl/misc/shader-with-hex-int-constant-macro.html
-                conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html
-                conformance/glsl/misc/shader-with-include.vert.html
-                conformance/glsl/misc/shader-with-int-return-value.frag.html
-                conformance/glsl/misc/shader-with-invalid-identifier.frag.html
-                conformance/glsl/misc/shader-with-ivec2-return-value.frag.html
-                conformance/glsl/misc/shader-with-ivec3-return-value.frag.html
-                conformance/glsl/misc/shader-with-ivec4-return-value.frag.html
-                conformance/glsl/misc/shader-with-limited-indexing.frag.html
-                conformance/glsl/misc/shader-with-line-directive.html
-                conformance/glsl/misc/shader-with-long-line.html
-                conformance/glsl/misc/shader-with-non-ascii-error.frag.html
-                conformance/glsl/misc/shader-with-precision.frag.html
-                conformance/glsl/misc/shader-with-quoted-error.frag.html
-                conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html
-                conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html
-                conformance/glsl/misc/shader-with-vec2-return-value.frag.html
-                conformance/glsl/misc/shader-with-vec3-return-value.frag.html
-                conformance/glsl/misc/shader-with-vec4-return-value.frag.html
-                conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html
-                conformance/glsl/misc/shader-with-version-100.frag.html
-                conformance/glsl/misc/shader-with-version-100.vert.html
-                conformance/glsl/misc/shader-with-version-120.vert.html
-                conformance/glsl/misc/shader-with-version-130.vert.html
-                conformance/glsl/misc/shader-with-webgl-identifier.vert.html
-                conformance/glsl/misc/shader-without-precision.frag.html
-                conformance/glsl/misc/shared.html
-                conformance/glsl/misc/struct-nesting-exceeds-maximum.html
-                conformance/glsl/misc/struct-nesting-under-maximum.html
-                conformance/glsl/misc/uniform-location-length-limits.html
-                conformance/glsl/reserved/00_test_list.txt
-                conformance/glsl/reserved/_webgl_field.vert.html
-                conformance/glsl/reserved/_webgl_function.vert.html
-                conformance/glsl/reserved/_webgl_struct.vert.html
-                conformance/glsl/reserved/_webgl_variable.vert.html
-                conformance/glsl/reserved/webgl_field.vert.html
-                conformance/glsl/reserved/webgl_function.vert.html
-                conformance/glsl/reserved/webgl_struct.vert.html
-                conformance/glsl/reserved/webgl_variable.vert.html
-                conformance/glsl/samplers/00_test_list.txt
-                conformance/glsl/samplers/glsl-function-texture2d-bias.html
-                conformance/glsl/samplers/glsl-function-texture2dlod.html
-                conformance/glsl/samplers/glsl-function-texture2dproj.html
-                conformance/glsl/variables/00_test_list.txt
-                conformance/glsl/variables/gl-fragcoord.html
-                conformance/glsl/variables/gl-frontfacing.html
-                conformance/glsl/variables/gl-pointcoord.html
-                conformance/limits/00_test_list.txt
-                conformance/limits/gl-max-texture-dimensions.html
-                conformance/limits/gl-min-attribs.html
-                conformance/limits/gl-min-textures.html
-                conformance/limits/gl-min-uniforms.html
-                conformance/misc/00_test_list.txt
-                conformance/misc/bad-arguments-test.html
-                conformance/misc/delayed-drawing.html
-                conformance/misc/error-reporting.html
-                conformance/misc/functions-returning-strings.html
-                conformance/misc/instanceof-test.html
-                conformance/misc/invalid-passed-params.html
-                conformance/misc/is-object.html
-                conformance/misc/null-object-behaviour.html
-                conformance/misc/object-deletion-behaviour.html
-                conformance/misc/shader-precision-format.html
-                conformance/misc/type-conversion-test.html
-                conformance/misc/uninitialized-test.html
-                conformance/misc/webgl-specific.html
-                conformance/more/00_test_list.txt
-                conformance/more/README.md
-                conformance/more/all_tests.html
-                conformance/more/all_tests_linkonly.html
-                conformance/more/all_tests_sequential.html
-                conformance/more/conformance/argGenerators-A.js
-                conformance/more/conformance/argGenerators-B1.js
-                conformance/more/conformance/argGenerators-B2.js
-                conformance/more/conformance/argGenerators-B3.js
-                conformance/more/conformance/argGenerators-B4.js
-                conformance/more/conformance/argGenerators-C.js
-                conformance/more/conformance/argGenerators-D_G.js
-                conformance/more/conformance/argGenerators-G_I.js
-                conformance/more/conformance/argGenerators-L_S.js
-                conformance/more/conformance/argGenerators-S_V.js
-                conformance/more/conformance/badArgsArityLessThanArgc.html
-                conformance/more/conformance/constants.html
-                conformance/more/conformance/fuzzTheAPI.html
-                conformance/more/conformance/getContext.html
-                conformance/more/conformance/methods.html
-                conformance/more/conformance/quickCheckAPI-A.html
-                conformance/more/conformance/quickCheckAPI-B1.html
-                conformance/more/conformance/quickCheckAPI-B2.html
-                conformance/more/conformance/quickCheckAPI-B3.html
-                conformance/more/conformance/quickCheckAPI-B4.html
-                conformance/more/conformance/quickCheckAPI-C.html
-                conformance/more/conformance/quickCheckAPI-D_G.html
-                conformance/more/conformance/quickCheckAPI-G_I.html
-                conformance/more/conformance/quickCheckAPI-L_S.html
-                conformance/more/conformance/quickCheckAPI-S_V.html
-                conformance/more/conformance/quickCheckAPI.js
-                conformance/more/conformance/quickCheckAPIBadArgs.html
-                conformance/more/conformance/webGLArrays.html
-                conformance/more/demos/opengl_web.html
-                conformance/more/demos/video.html
-                conformance/more/functions/bindBuffer.html
-                conformance/more/functions/bindBufferBadArgs.html
-                conformance/more/functions/bindFramebufferLeaveNonZero.html
-                conformance/more/functions/bufferData.html
-                conformance/more/functions/bufferDataBadArgs.html
-                conformance/more/functions/bufferSubData.html
-                conformance/more/functions/bufferSubDataBadArgs.html
-                conformance/more/functions/copyTexImage2D.html
-                conformance/more/functions/copyTexImage2DBadArgs.html
-                conformance/more/functions/copyTexSubImage2D.html
-                conformance/more/functions/copyTexSubImage2DBadArgs.html
-                conformance/more/functions/deleteBufferBadArgs.html
-                conformance/more/functions/drawArrays.html
-                conformance/more/functions/drawArraysOutOfBounds.html
-                conformance/more/functions/drawElements.html
-                conformance/more/functions/drawElementsBadArgs.html
-                conformance/more/functions/isTests.html
-                conformance/more/functions/readPixels.html
-                conformance/more/functions/readPixelsBadArgs.html
-                conformance/more/functions/texImage2D.html
-                conformance/more/functions/texImage2DBadArgs.html
-                conformance/more/functions/texImage2DHTML.html
-                conformance/more/functions/texImage2DHTMLBadArgs.html
-                conformance/more/functions/texSubImage2D.html
-                conformance/more/functions/texSubImage2DBadArgs.html
-                conformance/more/functions/texSubImage2DHTML.html
-                conformance/more/functions/texSubImage2DHTMLBadArgs.html
-                conformance/more/functions/uniformMatrix.html
-                conformance/more/functions/uniformMatrixBadArgs.html
-                conformance/more/functions/uniformf.html
-                conformance/more/functions/uniformfArrayLen1.html
-                conformance/more/functions/uniformfBadArgs.html
-                conformance/more/functions/uniformi.html
-                conformance/more/functions/uniformiBadArgs.html
-                conformance/more/functions/vertexAttrib.html
-                conformance/more/functions/vertexAttribBadArgs.html
-                conformance/more/functions/vertexAttribPointer.html
-                conformance/more/functions/vertexAttribPointerBadArgs.html
-                conformance/more/glsl/arrayOutOfBounds.html
-                conformance/more/glsl/longLoops.html
-                conformance/more/glsl/uniformOutOfBounds.html
-                conformance/more/glsl/unusedAttribsUniforms.html
-                conformance/more/index.html
-                conformance/more/performance/CPUvsGPU.html
-                conformance/more/performance/bandwidth.html
-                conformance/more/performance/jsGCPause.html
-                conformance/more/performance/jsMatrixMult.html
-                conformance/more/performance/jsToGLOverhead.html
-                conformance/more/unit.css
-                conformance/more/unit.js
-                conformance/more/util.js
-                conformance/programs/00_test_list.txt
-                conformance/programs/get-active-test.html
-                conformance/programs/gl-bind-attrib-location-test.html
-                conformance/programs/gl-get-active-attribute.html
-                conformance/programs/gl-get-active-uniform.html
-                conformance/programs/gl-getshadersource.html
-                conformance/programs/gl-shader-test.html
-                conformance/programs/invalid-UTF-16.html
-                conformance/programs/program-test.html
-                conformance/reading/00_test_list.txt
-                conformance/reading/read-pixels-pack-alignment.html
-                conformance/reading/read-pixels-test.html
-                conformance/renderbuffers/00_test_list.txt
-                conformance/renderbuffers/framebuffer-object-attachment.html
-                conformance/renderbuffers/framebuffer-test.html
-                conformance/renderbuffers/renderbuffer-initialization.html
-                conformance/rendering/00_test_list.txt
-                conformance/rendering/draw-arrays-out-of-bounds.html
-                conformance/rendering/draw-elements-out-of-bounds.html
-                conformance/rendering/gl-clear.html
-                conformance/rendering/gl-drawelements.html
-                conformance/rendering/gl-scissor-test.html
-                conformance/rendering/line-loop-tri-fan.html
-                conformance/rendering/more-than-65536-indices.html
-                conformance/rendering/point-size.html
-                conformance/rendering/triangle.html
-                conformance/resources/3x3.png
-                conformance/resources/blue-1x1.jpg
-                conformance/resources/boolUniformShader.vert
-                conformance/resources/bug-32888-texture.png
-                conformance/resources/floatUniformShader.vert
-                conformance/resources/fragmentShader.frag
-                conformance/resources/glsl-conformance-test.js
-                conformance/resources/glsl-feature-tests.css
-                conformance/resources/glsl-generator.js
-                conformance/resources/gray-ramp-256-with-128-alpha.png
-                conformance/resources/gray-ramp-256.png
-                conformance/resources/gray-ramp-default-gamma.png
-                conformance/resources/gray-ramp-gamma0.1.png
-                conformance/resources/gray-ramp-gamma1.0.png
-                conformance/resources/gray-ramp-gamma2.0.png
-                conformance/resources/gray-ramp-gamma4.0.png
-                conformance/resources/gray-ramp-gamma9.0.png
-                conformance/resources/gray-ramp.png
-                conformance/resources/green-2x2-16bit.png
-                conformance/resources/intArrayUniformShader.vert
-                conformance/resources/intUniformShader.vert
-                conformance/resources/matUniformShader.vert
-                conformance/resources/noopUniformShader.frag
-                conformance/resources/noopUniformShader.vert
-                conformance/resources/npot-video.mp4
-                conformance/resources/npot-video.theora.ogv
-                conformance/resources/npot-video.webmvp8.webm
-                conformance/resources/pnglib.js
-                conformance/resources/red-green.mp4
-                conformance/resources/red-green.png
-                conformance/resources/red-green.theora.ogv
-                conformance/resources/red-green.webmvp8.webm
-                conformance/resources/red-indexed.png
-                conformance/resources/samplerUniformShader.frag
-                conformance/resources/small-square-with-cie-rgb-profile.png
-                conformance/resources/small-square-with-colormatch-profile.png
-                conformance/resources/small-square-with-colorspin-profile.jpg
-                conformance/resources/small-square-with-colorspin-profile.png
-                conformance/resources/small-square-with-e-srgb-profile.png
-                conformance/resources/small-square-with-smpte-c-profile.png
-                conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png
-                conformance/resources/structUniformShader.vert
-                conformance/resources/vertexShader.vert
-                conformance/resources/webgl-test-utils.js
-                conformance/resources/webgl-test.js
-                conformance/resources/zero-alpha.png
-                conformance/state/00_test_list.txt
-                conformance/state/gl-enable-enum-test.html
-                conformance/state/gl-enum-tests.html
-                conformance/state/gl-get-calls.html
-                conformance/state/gl-geterror.html
-                conformance/state/gl-getstring.html
-                conformance/state/gl-object-get-calls.html
-                conformance/textures/00_test_list.txt
-                conformance/textures/compressed-tex-image.html
-                conformance/textures/copy-tex-image-and-sub-image-2d.html
-                conformance/textures/gl-pixelstorei.html
-                conformance/textures/gl-teximage.html
-                conformance/textures/origin-clean-conformance.html
-                conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html
-                conformance/textures/tex-image-and-sub-image-2d-with-canvas.html
-                conformance/textures/tex-image-and-sub-image-2d-with-image-data.html
-                conformance/textures/tex-image-and-sub-image-2d-with-image.html
-                conformance/textures/tex-image-and-sub-image-2d-with-video.html
-                conformance/textures/tex-image-and-uniform-binding-bugs.html
-                conformance/textures/tex-image-with-format-and-type.html
-                conformance/textures/tex-image-with-invalid-data.html
-                conformance/textures/tex-input-validation.html
-                conformance/textures/tex-sub-image-2d-bad-args.html
-                conformance/textures/tex-sub-image-2d.html
-                conformance/textures/texparameter-test.html
-                conformance/textures/texture-active-bind-2.html
-                conformance/textures/texture-active-bind.html
-                conformance/textures/texture-clear.html
-                conformance/textures/texture-complete.html
-                conformance/textures/texture-formats-test.html
-                conformance/textures/texture-mips.html
-                conformance/textures/texture-npot-video.html
-                conformance/textures/texture-npot.html
-                conformance/textures/texture-size-cube-maps.html
-                conformance/textures/texture-size.html
-                conformance/textures/texture-transparent-pixels-initialized.html
-                conformance/typedarrays/00_test_list.txt
-                conformance/typedarrays/array-buffer-crash.html
-                conformance/typedarrays/array-buffer-view-crash.html
-                conformance/typedarrays/array-unit-tests.html
-                conformance/uniforms/00_test_list.txt
-                conformance/uniforms/gl-uniform-arrays.html
-                conformance/uniforms/gl-uniform-bool.html
-                conformance/uniforms/gl-uniformmatrix4fv.html
-                conformance/uniforms/gl-unknown-uniform.html
-                conformance/uniforms/null-uniform-location.html
-                conformance/uniforms/uniform-location.html
-                conformance/uniforms/uniform-samplers-test.html
-                resources/cors-util.js
-                resources/desktop-gl-constants.js
-                resources/js-test-pre.js
-                resources/js-test-style.css
-                resources/opengl_logo.jpg
-                resources/thunderbird-logo-64x64.png
-                resources/webgl-logo.png
-                resources/webgl-test-harness.js
-
-[_wrappers/test_always-fail.html]
-[_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html]
-[_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html]
-[_wrappers/test_conformance__attribs__gl-vertex-attrib.html]
-[_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html]
-[_wrappers/test_conformance__attribs__gl-vertexattribpointer.html]
-[_wrappers/test_conformance__buffers__buffer-bind-test.html]
-[_wrappers/test_conformance__buffers__buffer-data-array-buffer.html]
-[_wrappers/test_conformance__buffers__index-validation-copies-indices.html]
-[_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html]
-[_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html]
-[_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html]
-[_wrappers/test_conformance__buffers__index-validation.html]
-[_wrappers/test_conformance__canvas__buffer-offscreen-test.html]
-[_wrappers/test_conformance__canvas__buffer-preserve-test.html]
-[_wrappers/test_conformance__canvas__canvas-test.html]
-[_wrappers/test_conformance__canvas__canvas-zero-size.html]
-[_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html]
-skip-if = os == 'mac'
-[_wrappers/test_conformance__canvas__drawingbuffer-test.html]
-[_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html]
-[_wrappers/test_conformance__context__constants.html]
-[_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html]
-skip-if = (os == 'b2g')
-[_wrappers/test_conformance__context__context-lost-restored.html]
-[_wrappers/test_conformance__context__context-lost.html]
-[_wrappers/test_conformance__context__context-type-test.html]
-[_wrappers/test_conformance__context__incorrect-context-object-behaviour.html]
-[_wrappers/test_conformance__context__methods.html]
-[_wrappers/test_conformance__context__premultiplyalpha-test.html]
-[_wrappers/test_conformance__context__resource-sharing-test.html]
-[_wrappers/test_conformance__extensions__oes-standard-derivatives.html]
-[_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html]
-[_wrappers/test_conformance__extensions__oes-texture-float.html]
-[_wrappers/test_conformance__extensions__oes-vertex-array-object.html]
-[_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html]
-[_wrappers/test_conformance__extensions__webgl-debug-shaders.html]
-[_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html]
-[_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html]
-[_wrappers/test_conformance__extensions__ext-sRGB.html]
-[_wrappers/test_conformance__extensions__ext-shader-texture-lod.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-abs.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-acos.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-asin.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-atan.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-cos.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-cross.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-distance.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-dot.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-floor.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-fract.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-length.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-sign.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-sin.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html]
-[_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__greater_than.vert.html]
-[_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html]
-[_wrappers/test_conformance__glsl__implicit__less_than.vert.html]
-[_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html]
-[_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html]
-[_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html]
-[_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html]
-[_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html]
-[_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html]
-[_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html]
-[_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html]
-[_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html]
-[_wrappers/test_conformance__glsl__misc__non-ascii.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-long-line.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html]
-[_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html]
-[_wrappers/test_conformance__glsl__misc__shared.html]
-[_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html]
-[_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html]
-[_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html]
-[_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html]
-[_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html]
-[_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html]
-[_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html]
-[_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html]
-[_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html]
-[_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html]
-[_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html]
-[_wrappers/test_conformance__glsl__variables__gl-fragcoord.html]
-[_wrappers/test_conformance__glsl__variables__gl-frontfacing.html]
-[_wrappers/test_conformance__glsl__variables__gl-pointcoord.html]
-[_wrappers/test_conformance__limits__gl-min-attribs.html]
-[_wrappers/test_conformance__limits__gl-max-texture-dimensions.html]
-[_wrappers/test_conformance__limits__gl-min-textures.html]
-[_wrappers/test_conformance__limits__gl-min-uniforms.html]
-[_wrappers/test_conformance__misc__bad-arguments-test.html]
-[_wrappers/test_conformance__misc__error-reporting.html]
-[_wrappers/test_conformance__misc__instanceof-test.html]
-[_wrappers/test_conformance__misc__invalid-passed-params.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__misc__is-object.html]
-[_wrappers/test_conformance__misc__null-object-behaviour.html]
-[_wrappers/test_conformance__misc__functions-returning-strings.html]
-[_wrappers/test_conformance__misc__object-deletion-behaviour.html]
-[_wrappers/test_conformance__misc__shader-precision-format.html]
-[_wrappers/test_conformance__misc__type-conversion-test.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__misc__uninitialized-test.html]
-skip-if = os == 'android'
-[_wrappers/test_conformance__misc__webgl-specific.html]
-[_wrappers/test_conformance__programs__get-active-test.html]
-[_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html]
-[_wrappers/test_conformance__programs__gl-get-active-attribute.html]
-[_wrappers/test_conformance__programs__gl-get-active-uniform.html]
-[_wrappers/test_conformance__programs__gl-getshadersource.html]
-[_wrappers/test_conformance__programs__gl-shader-test.html]
-[_wrappers/test_conformance__programs__invalid-UTF-16.html]
-[_wrappers/test_conformance__programs__program-test.html]
-[_wrappers/test_conformance__reading__read-pixels-pack-alignment.html]
-[_wrappers/test_conformance__reading__read-pixels-test.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html]
-skip-if = os == 'android'
-[_wrappers/test_conformance__renderbuffers__framebuffer-test.html]
-[_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html]
-[_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html]
-[_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html]
-[_wrappers/test_conformance__rendering__gl-clear.html]
-[_wrappers/test_conformance__rendering__gl-drawelements.html]
-[_wrappers/test_conformance__rendering__gl-scissor-test.html]
-[_wrappers/test_conformance__rendering__more-than-65536-indices.html]
-[_wrappers/test_conformance__rendering__point-size.html]
-[_wrappers/test_conformance__rendering__triangle.html]
-[_wrappers/test_conformance__rendering__line-loop-tri-fan.html]
-[_wrappers/test_conformance__state__gl-enable-enum-test.html]
-[_wrappers/test_conformance__state__gl-enum-tests.html]
-[_wrappers/test_conformance__state__gl-get-calls.html]
-[_wrappers/test_conformance__state__gl-geterror.html]
-[_wrappers/test_conformance__state__gl-getstring.html]
-[_wrappers/test_conformance__state__gl-object-get-calls.html]
-[_wrappers/test_conformance__textures__compressed-tex-image.html]
-[_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html]
-[_wrappers/test_conformance__textures__gl-pixelstorei.html]
-[_wrappers/test_conformance__textures__gl-teximage.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__textures__origin-clean-conformance.html]
-[_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html]
-[_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html]
-[_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html]
-[_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html]
-[_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux') || (os == 'win')
-[_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html]
-skip-if = (os == 'b2g')
-[_wrappers/test_conformance__textures__tex-image-with-format-and-type.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__textures__tex-image-with-invalid-data.html]
-[_wrappers/test_conformance__textures__tex-input-validation.html]
-skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
-[_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html]
-[_wrappers/test_conformance__textures__tex-sub-image-2d.html]
-[_wrappers/test_conformance__textures__texparameter-test.html]
-[_wrappers/test_conformance__textures__texture-active-bind-2.html]
-[_wrappers/test_conformance__textures__texture-active-bind.html]
-[_wrappers/test_conformance__textures__texture-complete.html]
-[_wrappers/test_conformance__textures__texture-formats-test.html]
-[_wrappers/test_conformance__textures__texture-mips.html]
-[_wrappers/test_conformance__textures__texture-npot-video.html]
-skip-if = os == 'win'
-[_wrappers/test_conformance__textures__texture-npot.html]
-[_wrappers/test_conformance__textures__texture-size.html]
-skip-if = os == 'android'
-[_wrappers/test_conformance__textures__texture-size-cube-maps.html]
-skip-if = os == 'android'
-[_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html]
-[_wrappers/test_conformance__typedarrays__array-buffer-crash.html]
-[_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html]
-[_wrappers/test_conformance__typedarrays__array-unit-tests.html]
-[_wrappers/test_conformance__uniforms__gl-uniform-arrays.html]
-[_wrappers/test_conformance__uniforms__gl-uniform-bool.html]
-[_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html]
-[_wrappers/test_conformance__uniforms__gl-unknown-uniform.html]
-[_wrappers/test_conformance__uniforms__null-uniform-location.html]
-[_wrappers/test_conformance__uniforms__uniform-location.html]
-[_wrappers/test_conformance__uniforms__uniform-samplers-test.html]
-[_wrappers/test_conformance__more__conformance__constants.html]
-[_wrappers/test_conformance__more__conformance__getContext.html]
-[_wrappers/test_conformance__more__conformance__methods.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html]
-[_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html]
-[_wrappers/test_conformance__more__conformance__webGLArrays.html]
-[_wrappers/test_conformance__more__functions__bindBuffer.html]
-[_wrappers/test_conformance__more__functions__bindBufferBadArgs.html]
-[_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html]
-[_wrappers/test_conformance__more__functions__bufferData.html]
-[_wrappers/test_conformance__more__functions__bufferDataBadArgs.html]
-[_wrappers/test_conformance__more__functions__bufferSubData.html]
-[_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html]
-[_wrappers/test_conformance__more__functions__copyTexImage2D.html]
-[_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html]
-[_wrappers/test_conformance__more__functions__copyTexSubImage2D.html]
-[_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html]
-[_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html]
-[_wrappers/test_conformance__more__functions__drawArrays.html]
-[_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html]
-[_wrappers/test_conformance__more__functions__drawElements.html]
-[_wrappers/test_conformance__more__functions__drawElementsBadArgs.html]
-[_wrappers/test_conformance__more__functions__isTests.html]
-[_wrappers/test_conformance__more__functions__readPixels.html]
-[_wrappers/test_conformance__more__functions__readPixelsBadArgs.html]
-[_wrappers/test_conformance__more__functions__texImage2D.html]
-[_wrappers/test_conformance__more__functions__texImage2DBadArgs.html]
-[_wrappers/test_conformance__more__functions__texImage2DHTML.html]
-[_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html]
-[_wrappers/test_conformance__more__functions__texSubImage2D.html]
-[_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html]
-[_wrappers/test_conformance__more__functions__texSubImage2DHTML.html]
-[_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html]
-[_wrappers/test_conformance__more__functions__uniformf.html]
-[_wrappers/test_conformance__more__functions__uniformfBadArgs.html]
-[_wrappers/test_conformance__more__functions__uniformfArrayLen1.html]
-[_wrappers/test_conformance__more__functions__uniformi.html]
-[_wrappers/test_conformance__more__functions__uniformiBadArgs.html]
-[_wrappers/test_conformance__more__functions__uniformMatrix.html]
-[_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html]
-[_wrappers/test_conformance__more__functions__vertexAttrib.html]
-[_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html]
-[_wrappers/test_conformance__more__functions__vertexAttribPointer.html]
-[_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html]
-[_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html]
-[_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html]
--- a/dom/canvas/test/webgl-conformance/generate-wrappers-and-manifest.py
+++ b/dom/canvas/test/webgl-conformance/generate-wrappers-and-manifest.py
@@ -4,29 +4,55 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 # Write a Mochitest manifest for WebGL conformance test files.
 
 import os
 import re
 
+WRAPPER_TEMPLATE_FILEPATH = 'mochi-wrapper.html.template'
+WRAPPERS_DIR = '_wrappers'
+MANIFEST_TEMPLATE_FILEPATH = 'mochitest.ini.template'
+MANIFEST_OUTPUT_FILEPATH = '../_webgl-conformance.ini'
+ERRATA_FILEPATH = 'mochitest-errata.ini'
+BASE_TEST_LIST_FILENAME = '00_test_list.txt'
+FILE_PATH_PREFIX = os.path.basename(os.getcwd()) # 'webgl-conformance'
+
+SUPPORT_DIRS = [
+    'conformance',
+    'resources',
+]
+
+EXTRA_SUPPORT_FILES = [
+    'always-fail.html',
+]
+
+ACCEPTABLE_ERRATA_KEYS = set([
+  'skip-if',
+])
+
+GENERATED_HEADER = '''
+# This is a GENERATED FILE. Do not edit it directly.
+# Regenerated it by using `python generate-wrapper-and-manifest.py`.
+# Mark skipped tests in mochitest-errata.ini.
+# Mark failing tests in mochi-single.html.
+'''.strip()
+
 ########################################################################
 # GetTestList
 
 def GetTestList():
     testList = []
     AccumTests('', BASE_TEST_LIST_FILENAME, testList)
     return testList
 
 ##############################
 # Internals
 
-BASE_TEST_LIST_FILENAME = '00_test_list.txt'
-
 def AccumTests(path, listFile, out_testList):
     listFilePath = os.path.join(path, listFile)
     assert os.path.exists(listFilePath), 'Bad `listFilePath`: ' + listFilePath
 
     with open(listFilePath, 'rb') as fIn:
         for line in fIn:
             line = line.rstrip()
             if not line:
@@ -214,113 +240,116 @@ def WriteWrappers(testWebPathList):
 
         wrapperManifestPath = wrapperFilePath.replace(os.sep, '/')
         wrapperManifestPathList.append(wrapperManifestPath)
         continue
 
     return wrapperManifestPathList
 
 
+def PathFromManifestDir(path):
+    print('path: ' + path)
+    return os.path.join(FILE_PATH_PREFIX, path)
+
+
 def WriteManifest(wrapperManifestPathList, supportFilePathList):
     errataMap = LoadErrata()
 
     # DEFAULT_ERRATA
     defaultHeader = '[DEFAULT]'
     defaultErrataStr = ''
     if defaultHeader in errataMap:
         defaultErrataStr = '\n'.join(errataMap[defaultHeader])
         del errataMap[defaultHeader]
 
     # SUPPORT_FILES
     supportFilePathList = sorted(supportFilePathList)
+    supportFilePathList = [PathFromManifestDir(x) for x in supportFilePathList]
     supportFilesStr = '\n'.join(supportFilePathList)
 
     # MANIFEST_TESTS
-    headerList = ['[' + x + ']' for x in wrapperManifestPathList]
+    manifestTestLineList = []
+    for wrapperManifestPath in wrapperManifestPathList:
+        header = '[' + wrapperManifestPath + ']'
+        transformedHeader = '[' + PathFromManifestDir(wrapperManifestPath) + ']'
+        # header: '[foo.html]'
+        # transformedHeader: '[webgl-conformance/foo.html]'
 
-    manifestTestLineList = []
-    for header in headerList:
-        manifestTestLineList.append(header)
+        manifestTestLineList.append(transformedHeader)
 
         if not header in errataMap:
             continue
 
         errataLineList = errataMap[header]
         del errataMap[header]
         manifestTestLineList += errataLineList
         continue
 
     assert not errataMap, 'Errata left in map: {}'.format(str(errataMap))
 
     manifestTestsStr = '\n'.join(manifestTestLineList)
 
     # Fill the template.
     templateDict = {
+        'HEADER': GENERATED_HEADER,
         'DEFAULT_ERRATA': defaultErrataStr,
         'SUPPORT_FILES': supportFilesStr,
         'MANIFEST_TESTS': manifestTestsStr,
     }
 
     FillTemplate(MANIFEST_TEMPLATE_FILEPATH, templateDict,
                  MANIFEST_OUTPUT_FILEPATH)
     return
 
 ##############################
 # Internals
 
-WRAPPER_TEMPLATE_FILEPATH = 'mochi-wrapper.html.template'
-WRAPPERS_DIR = '_wrappers'
-MANIFEST_TEMPLATE_FILEPATH = 'mochitest.ini.template'
-MANIFEST_OUTPUT_FILEPATH = '_mochitest.ini'
-ERRATA_FILEPATH = 'mochitest-errata.ini'
 kManifestHeaderRegex = re.compile(r'\[[^\]]*?\]')
 
 
 def LoadErrata():
     nodeMap = {}
 
     nodeHeader = None
     nodeLineList = []
+    lineNum = 0
     with open(ERRATA_FILEPATH, 'rb') as f:
         for line in f:
+            lineNum += 1
             line = line.rstrip()
             cur = line.lstrip()
             if cur.startswith('#'):
                 continue
 
             if not cur:
                 continue
 
             if not cur.startswith('['):
+                split = cur.split('=')
+                key = split[0].strip()
+                if not key in ACCEPTABLE_ERRATA_KEYS:
+                    text = 'Unacceptable errata key on line {}: {}'
+                    text = text.format(str(lineNum), key)
+                    raise Exception(text)
                 nodeLineList.append(line)
                 continue
 
             match = kManifestHeaderRegex.search(cur)
             assert match, line
 
             nodeHeader = match.group()
             assert not nodeHeader in nodeMap, 'Duplicate header: ' + nodeHeader
             nodeLineList = []
             nodeMap[nodeHeader] = nodeLineList
             continue
 
     return nodeMap
 
 ########################################################################
 
-SUPPORT_DIRS = [
-    'conformance',
-    'resources',
-]
-
-EXTRA_SUPPORT_FILES = [
-    'always-fail.html',
-]
-
-
 def GetSupportFileList():
     ret = []
     for supportDir in SUPPORT_DIRS:
         ret += GetFilePathListForDir(supportDir)
 
     ret += EXTRA_SUPPORT_FILES
 
     return ret
--- a/dom/canvas/test/webgl-conformance/mochitest.ini.template
+++ b/dom/canvas/test/webgl-conformance/mochitest.ini.template
@@ -1,8 +1,10 @@
+%%HEADER%%
+
 [DEFAULT]
 %%DEFAULT_ERRATA%%
 
-support-files = mochi-single.html
-                mochi-wrapper.css
+support-files = webgl-conformance/mochi-single.html
+                webgl-conformance/mochi-wrapper.css
                 %%SUPPORT_FILES%%
 
 %%MANIFEST_TESTS%%
deleted file mode 100644
--- a/dom/canvas/test/webgl-conformance/moz.build
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-MOCHITEST_MANIFESTS += [
-    '_mochitest.ini',
-]
rename from dom/canvas/test/webgl-mochitest/mochitest.ini
rename to dom/canvas/test/webgl-mochitest.ini
--- a/dom/canvas/test/webgl-mochitest/mochitest.ini
+++ b/dom/canvas/test/webgl-mochitest.ini
@@ -1,24 +1,24 @@
 [DEFAULT]
 support-files =
-  driver-info.js
-  webgl-util.js
+  webgl-mochitest/driver-info.js
+  webgl-mochitest/webgl-util.js
 
-[test_depth_readpixels.html]
-[test_draw.html]
-[test_fb_param.html]
-[test_fb_param_crash.html]
-[test_highp_fs.html]
-[test_no_arr_points.html]
-[test_noprog_draw.html]
-[test_privileged_exts.html]
-[test_texsubimage_float.html]
-[test_webgl_available.html]
+[webgl-mochitest/test_depth_readpixels.html]
+[webgl-mochitest/test_draw.html]
+[webgl-mochitest/test_fb_param.html]
+[webgl-mochitest/test_fb_param_crash.html]
+[webgl-mochitest/test_highp_fs.html]
+[webgl-mochitest/test_no_arr_points.html]
+[webgl-mochitest/test_noprog_draw.html]
+[webgl-mochitest/test_privileged_exts.html]
+[webgl-mochitest/test_texsubimage_float.html]
+[webgl-mochitest/test_webgl_available.html]
 skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests
-[test_webgl_conformance.html]
+[webgl-mochitest/test_webgl_conformance.html]
 skip-if = buildapp == 'mulet' || toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests
-[test_webgl_request_context.html]
+[webgl-mochitest/test_webgl_request_context.html]
 skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests
-[test_webgl_request_mismatch.html]
+[webgl-mochitest/test_webgl_request_mismatch.html]
 skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests
-[test_webgl2_not_exposed.html]
+[webgl-mochitest/test_webgl2_not_exposed.html]
 skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests
deleted file mode 100644
--- a/dom/canvas/test/webgl-mochitest/moz.build
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-MOCHITEST_MANIFESTS += [
-    'mochitest.ini',
-]