From 6f5966c3837daf1280a3a41bab7dd679f88632d3 Mon Sep 17 00:00:00 2001 From: Morris Tseng Date: Wed, 27 Apr 2016 11:55:41 +0800 Subject: [PATCH] Bug 1193526 - Remove old conformance tests and generated files. r=jgilbert MozReview-Commit-ID: 7kXV1e0Cgua --- dom/canvas/test/_webgl-conformance.ini | 847 ------ .../test/webgl-conformance/00_test_list.txt | 8 - .../_wrappers/test_always-fail.html | 22 - ...nce__attribs__gl-enable-vertex-attrib.html | 22 - ...attribs__gl-vertex-attrib-zero-issues.html | 22 - ...onformance__attribs__gl-vertex-attrib.html | 22 - ...tribs__gl-vertexattribpointer-offsets.html | 22 - ...ance__attribs__gl-vertexattribpointer.html | 22 - ...onformance__buffers__buffer-bind-test.html | 22 - ...ce__buffers__buffer-data-array-buffer.html | 22 - ...fers__index-validation-copies-indices.html | 22 - ...validation-crash-with-buffer-sub-data.html | 22 - ...-validation-verifies-too-many-indices.html | 22 - ..._index-validation-with-resized-buffer.html | 22 - ...onformance__buffers__index-validation.html | 22 - ...rmance__canvas__buffer-offscreen-test.html | 22 - ...ormance__canvas__buffer-preserve-test.html | 22 - ...test_conformance__canvas__canvas-test.html | 22 - ...conformance__canvas__canvas-zero-size.html | 22 - ...vas__drawingbuffer-static-canvas-test.html | 22 - ...nformance__canvas__drawingbuffer-test.html | 22 - ...anvas__viewport-unchanged-upon-resize.html | 22 - .../test_conformance__context__constants.html | 22 - ...ributes-alpha-depth-stencil-antialias.html | 22 - ...mance__context__context-lost-restored.html | 22 - ...st_conformance__context__context-lost.html | 22 - ...nformance__context__context-type-test.html | 22 - ...t__incorrect-context-object-behaviour.html | 22 - .../test_conformance__context__methods.html | 22 - ...mance__context__premultiplyalpha-test.html | 22 - ...mance__context__resource-sharing-test.html | 22 - ...est_conformance__extensions__ext-sRGB.html | 22 - ...e__extensions__ext-shader-texture-lod.html | 22 - ...sions__ext-texture-filter-anisotropic.html | 22 - ..._extensions__oes-standard-derivatives.html | 22 - ...rmance__extensions__oes-texture-float.html | 22 - ...__extensions__oes-vertex-array-object.html | 22 - ...nsions__webgl-compressed-texture-etc1.html | 22 - ...nsions__webgl-compressed-texture-s3tc.html | 22 - ...extensions__webgl-debug-renderer-info.html | 22 - ...ance__extensions__webgl-debug-shaders.html | 22 - ...e__glsl__functions__glsl-function-abs.html | 22 - ...__glsl__functions__glsl-function-acos.html | 22 - ...__glsl__functions__glsl-function-asin.html | 22 - ...lsl__functions__glsl-function-atan-xy.html | 22 - ...__glsl__functions__glsl-function-atan.html | 22 - ...__glsl__functions__glsl-function-ceil.html | 22 - ..._functions__glsl-function-clamp-float.html | 22 - ...unctions__glsl-function-clamp-gentype.html | 22 - ...e__glsl__functions__glsl-function-cos.html | 22 - ..._glsl__functions__glsl-function-cross.html | 22 - ...sl__functions__glsl-function-distance.html | 22 - ...e__glsl__functions__glsl-function-dot.html | 22 - ..._functions__glsl-function-faceforward.html | 22 - ..._glsl__functions__glsl-function-floor.html | 22 - ..._glsl__functions__glsl-function-fract.html | 22 - ...glsl__functions__glsl-function-length.html | 22 - ...l__functions__glsl-function-max-float.html | 22 - ..._functions__glsl-function-max-gentype.html | 22 - ...l__functions__glsl-function-min-float.html | 22 - ..._functions__glsl-function-min-gentype.html | 22 - ...l__functions__glsl-function-mix-float.html | 22 - ..._functions__glsl-function-mix-gentype.html | 22 - ...l__functions__glsl-function-mod-float.html | 22 - ..._functions__glsl-function-mod-gentype.html | 22 - ...l__functions__glsl-function-normalize.html | 22 - ...lsl__functions__glsl-function-reflect.html | 22 - ...__glsl__functions__glsl-function-sign.html | 22 - ...e__glsl__functions__glsl-function-sin.html | 22 - ...tions__glsl-function-smoothstep-float.html | 22 - ...ons__glsl-function-smoothstep-gentype.html | 22 - ...__functions__glsl-function-step-float.html | 22 - ...functions__glsl-function-step-gentype.html | 22 - ...mance__glsl__functions__glsl-function.html | 22 - ...e__glsl__implicit__add_int_float.vert.html | 22 - ...ce__glsl__implicit__add_int_mat2.vert.html | 22 - ...ce__glsl__implicit__add_int_mat3.vert.html | 22 - ...ce__glsl__implicit__add_int_mat4.vert.html | 22 - ...ce__glsl__implicit__add_int_vec2.vert.html | 22 - ...ce__glsl__implicit__add_int_vec3.vert.html | 22 - ...ce__glsl__implicit__add_int_vec4.vert.html | 22 - ...__glsl__implicit__add_ivec2_vec2.vert.html | 22 - ...__glsl__implicit__add_ivec3_vec3.vert.html | 22 - ...__glsl__implicit__add_ivec4_vec4.vert.html | 22 - ...l__implicit__assign_int_to_float.vert.html | 22 - ...__implicit__assign_ivec2_to_vec2.vert.html | 22 - ...__implicit__assign_ivec3_to_vec3.vert.html | 22 - ...__implicit__assign_ivec4_to_vec4.vert.html | 22 - ...glsl__implicit__construct_struct.vert.html | 22 - ...glsl__implicit__divide_int_float.vert.html | 22 - ..._glsl__implicit__divide_int_mat2.vert.html | 22 - ..._glsl__implicit__divide_int_mat3.vert.html | 22 - ..._glsl__implicit__divide_int_mat4.vert.html | 22 - ..._glsl__implicit__divide_int_vec2.vert.html | 22 - ..._glsl__implicit__divide_int_vec3.vert.html | 22 - ..._glsl__implicit__divide_int_vec4.vert.html | 22 - ...lsl__implicit__divide_ivec2_vec2.vert.html | 22 - ...lsl__implicit__divide_ivec3_vec3.vert.html | 22 - ...lsl__implicit__divide_ivec4_vec4.vert.html | 22 - ..._glsl__implicit__equal_int_float.vert.html | 22 - ...glsl__implicit__equal_ivec2_vec2.vert.html | 22 - ...glsl__implicit__equal_ivec3_vec3.vert.html | 22 - ...glsl__implicit__equal_ivec4_vec4.vert.html | 22 - ...sl__implicit__function_int_float.vert.html | 22 - ...l__implicit__function_ivec2_vec2.vert.html | 22 - ...l__implicit__function_ivec3_vec3.vert.html | 22 - ...l__implicit__function_ivec4_vec4.vert.html | 22 - ...ce__glsl__implicit__greater_than.vert.html | 22 - ...sl__implicit__greater_than_equal.vert.html | 22 - ...mance__glsl__implicit__less_than.vert.html | 22 - ..._glsl__implicit__less_than_equal.vert.html | 22 - ...sl__implicit__multiply_int_float.vert.html | 22 - ...lsl__implicit__multiply_int_mat2.vert.html | 22 - ...lsl__implicit__multiply_int_mat3.vert.html | 22 - ...lsl__implicit__multiply_int_mat4.vert.html | 22 - ...lsl__implicit__multiply_int_vec2.vert.html | 22 - ...lsl__implicit__multiply_int_vec3.vert.html | 22 - ...lsl__implicit__multiply_int_vec4.vert.html | 22 - ...l__implicit__multiply_ivec2_vec2.vert.html | 22 - ...l__implicit__multiply_ivec3_vec3.vert.html | 22 - ...l__implicit__multiply_ivec4_vec4.vert.html | 22 - ...l__implicit__not_equal_int_float.vert.html | 22 - ...__implicit__not_equal_ivec2_vec2.vert.html | 22 - ...__implicit__not_equal_ivec3_vec3.vert.html | 22 - ...__implicit__not_equal_ivec4_vec4.vert.html | 22 - ...sl__implicit__subtract_int_float.vert.html | 22 - ...lsl__implicit__subtract_int_mat2.vert.html | 22 - ...lsl__implicit__subtract_int_mat3.vert.html | 22 - ...lsl__implicit__subtract_int_mat4.vert.html | 22 - ...lsl__implicit__subtract_int_vec2.vert.html | 22 - ...lsl__implicit__subtract_int_vec3.vert.html | 22 - ...lsl__implicit__subtract_int_vec4.vert.html | 22 - ...l__implicit__subtract_ivec2_vec2.vert.html | 22 - ...l__implicit__subtract_ivec3_vec3.vert.html | 22 - ...l__implicit__subtract_ivec4_vec4.vert.html | 22 - ...lsl__implicit__ternary_int_float.vert.html | 22 - ...sl__implicit__ternary_ivec2_vec2.vert.html | 22 - ...sl__implicit__ternary_ivec3_vec3.vert.html | 22 - ...sl__implicit__ternary_ivec4_vec4.vert.html | 22 - ...__misc__attrib-location-length-limits.html | 22 - ...embedded-struct-definitions-forbidden.html | 22 - ...ance__glsl__misc__glsl-function-nodes.html | 22 - ..._glsl__misc__glsl-long-variable-names.html | 22 - ...__glsl__misc__non-ascii-comments.vert.html | 22 - ...nformance__glsl__misc__non-ascii.vert.html | 22 - ...er-with-256-character-identifier.frag.html | 22 - ...er-with-257-character-identifier.frag.html | 22 - ...c__shader-with-_webgl-identifier.vert.html | 22 - ...__shader-with-arbitrary-indexing.frag.html | 22 - ...__shader-with-arbitrary-indexing.vert.html | 22 - ...__misc__shader-with-attrib-array.vert.html | 22 - ..._misc__shader-with-attrib-struct.vert.html | 22 - ...sl__misc__shader-with-clipvertex.vert.html | 22 - ...c__shader-with-default-precision.frag.html | 22 - ...c__shader-with-default-precision.vert.html | 22 - ...er-with-define-line-continuation.frag.html | 22 - ...l__misc__shader-with-dfdx-no-ext.frag.html | 22 - ...ce__glsl__misc__shader-with-dfdx.frag.html | 22 - ...sl__misc__shader-with-error-directive.html | 22 - ...c__shader-with-explicit-int-cast.vert.html | 22 - ...__shader-with-float-return-value.frag.html | 22 - ...sl__misc__shader-with-frag-depth.frag.html | 22 - ...__shader-with-function-recursion.frag.html | 22 - ..._glsl__misc__shader-with-glcolor.vert.html | 22 - ...__glsl__misc__shader-with-gles-1.frag.html | 22 - ...l__misc__shader-with-gles-symbol.frag.html | 22 - ...__shader-with-glprojectionmatrix.vert.html | 22 - ...-with-implicit-vec3-to-vec4-cast.vert.html | 22 - ..._glsl__misc__shader-with-include.vert.html | 22 - ...sc__shader-with-int-return-value.frag.html | 22 - ...__shader-with-invalid-identifier.frag.html | 22 - ...__shader-with-ivec2-return-value.frag.html | 22 - ...__shader-with-ivec3-return-value.frag.html | 22 - ...__shader-with-ivec4-return-value.frag.html | 22 - ...sc__shader-with-limited-indexing.frag.html | 22 - ...ce__glsl__misc__shader-with-long-line.html | 22 - ...isc__shader-with-non-ascii-error.frag.html | 22 - ...lsl__misc__shader-with-precision.frag.html | 22 - ...__misc__shader-with-quoted-error.frag.html | 22 - ...th-undefined-preprocessor-symbol.frag.html | 22 - ...r-with-uniform-in-loop-condition.vert.html | 22 - ...c__shader-with-vec2-return-value.frag.html | 22 - ...c__shader-with-vec3-return-value.frag.html | 22 - ...c__shader-with-vec4-return-value.frag.html | 22 - ...l__misc__shader-with-version-100.frag.html | 22 - ...l__misc__shader-with-version-100.vert.html | 22 - ...l__misc__shader-with-version-120.vert.html | 22 - ...l__misc__shader-with-version-130.vert.html | 22 - ...sc__shader-with-webgl-identifier.vert.html | 22 - ...__misc__shader-without-precision.frag.html | 22 - .../test_conformance__glsl__misc__shared.html | 22 - ..._misc__struct-nesting-exceeds-maximum.html | 22 - ...l__misc__struct-nesting-under-maximum.html | 22 - ..._misc__uniform-location-length-limits.html | 22 - ...ce__glsl__reserved___webgl_field.vert.html | 22 - ..._glsl__reserved___webgl_function.vert.html | 22 - ...e__glsl__reserved___webgl_struct.vert.html | 22 - ..._glsl__reserved___webgl_variable.vert.html | 22 - ...nce__glsl__reserved__webgl_field.vert.html | 22 - ...__glsl__reserved__webgl_function.vert.html | 22 - ...ce__glsl__reserved__webgl_struct.vert.html | 22 - ...__glsl__reserved__webgl_variable.vert.html | 22 - ...rmance__glsl__variables__gl-fragcoord.html | 22 - ...ance__glsl__variables__gl-frontfacing.html | 22 - ...mance__glsl__variables__gl-pointcoord.html | 22 - ...ce__limits__gl-max-texture-dimensions.html | 22 - ...t_conformance__limits__gl-min-attribs.html | 22 - ..._conformance__limits__gl-min-textures.html | 22 - ..._conformance__limits__gl-min-uniforms.html | 22 - ...conformance__misc__bad-arguments-test.html | 22 - ...st_conformance__misc__error-reporting.html | 22 - ...ce__misc__functions-returning-strings.html | 22 - ...st_conformance__misc__instanceof-test.html | 22 - ...formance__misc__invalid-passed-params.html | 22 - .../test_conformance__misc__is-object.html | 22 - ...formance__misc__null-object-behaviour.html | 22 - ...ance__misc__object-deletion-behaviour.html | 22 - ...rmance__misc__shader-precision-format.html | 22 - ...nformance__misc__type-conversion-test.html | 22 - ...conformance__misc__uninitialized-test.html | 22 - ...est_conformance__misc__webgl-specific.html | 22 - ...ormance__more__conformance__constants.html | 22 - ...rmance__more__conformance__getContext.html | 22 - ...nformance__more__conformance__methods.html | 22 - ...e__more__conformance__quickCheckAPI-A.html | 22 - ...__more__conformance__quickCheckAPI-B1.html | 22 - ...__more__conformance__quickCheckAPI-B2.html | 22 - ...__more__conformance__quickCheckAPI-B3.html | 22 - ...__more__conformance__quickCheckAPI-B4.html | 22 - ...e__more__conformance__quickCheckAPI-C.html | 22 - ..._more__conformance__quickCheckAPI-D_G.html | 22 - ..._more__conformance__quickCheckAPI-G_I.html | 22 - ..._more__conformance__quickCheckAPI-L_S.html | 22 - ..._more__conformance__quickCheckAPI-S_V.html | 22 - ...mance__more__conformance__webGLArrays.html | 22 - ...formance__more__functions__bindBuffer.html | 22 - ...e__more__functions__bindBufferBadArgs.html | 22 - ...unctions__bindFramebufferLeaveNonZero.html | 22 - ...formance__more__functions__bufferData.html | 22 - ...e__more__functions__bufferDataBadArgs.html | 22 - ...mance__more__functions__bufferSubData.html | 22 - ...more__functions__bufferSubDataBadArgs.html | 22 - ...ance__more__functions__copyTexImage2D.html | 22 - ...ore__functions__copyTexImage2DBadArgs.html | 22 - ...e__more__functions__copyTexSubImage2D.html | 22 - ...__functions__copyTexSubImage2DBadArgs.html | 22 - ..._more__functions__deleteBufferBadArgs.html | 22 - ...formance__more__functions__drawArrays.html | 22 - ...ore__functions__drawArraysOutOfBounds.html | 22 - ...rmance__more__functions__drawElements.html | 22 - ..._more__functions__drawElementsBadArgs.html | 22 - ...conformance__more__functions__isTests.html | 22 - ...formance__more__functions__readPixels.html | 22 - ...e__more__functions__readPixelsBadArgs.html | 22 - ...formance__more__functions__texImage2D.html | 22 - ...e__more__functions__texImage2DBadArgs.html | 22 - ...ance__more__functions__texImage2DHTML.html | 22 - ...ore__functions__texImage2DHTMLBadArgs.html | 22 - ...mance__more__functions__texSubImage2D.html | 22 - ...more__functions__texSubImage2DBadArgs.html | 22 - ...e__more__functions__texSubImage2DHTML.html | 22 - ...__functions__texSubImage2DHTMLBadArgs.html | 22 - ...mance__more__functions__uniformMatrix.html | 22 - ...more__functions__uniformMatrixBadArgs.html | 22 - ...onformance__more__functions__uniformf.html | 22 - ...e__more__functions__uniformfArrayLen1.html | 22 - ...nce__more__functions__uniformfBadArgs.html | 22 - ...onformance__more__functions__uniformi.html | 22 - ...nce__more__functions__uniformiBadArgs.html | 22 - ...rmance__more__functions__vertexAttrib.html | 22 - ..._more__functions__vertexAttribBadArgs.html | 22 - ..._more__functions__vertexAttribPointer.html | 22 - ...functions__vertexAttribPointerBadArgs.html | 22 - ...ormance__more__glsl__arrayOutOfBounds.html | 22 - ...mance__more__glsl__uniformOutOfBounds.html | 22 - ...onformance__programs__get-active-test.html | 22 - ...rograms__gl-bind-attrib-location-test.html | 22 - ...ce__programs__gl-get-active-attribute.html | 22 - ...ance__programs__gl-get-active-uniform.html | 22 - ...ormance__programs__gl-getshadersource.html | 22 - ...conformance__programs__gl-shader-test.html | 22 - ...conformance__programs__invalid-UTF-16.html | 22 - ...t_conformance__programs__program-test.html | 22 - ...__reading__read-pixels-pack-alignment.html | 22 - ...onformance__reading__read-pixels-test.html | 22 - ...uffers__framebuffer-object-attachment.html | 22 - ...ance__renderbuffers__framebuffer-test.html | 22 - ...rbuffers__renderbuffer-initialization.html | 22 - ..._rendering__draw-arrays-out-of-bounds.html | 22 - ...endering__draw-elements-out-of-bounds.html | 22 - ...test_conformance__rendering__gl-clear.html | 22 - ...nformance__rendering__gl-drawelements.html | 22 - ...nformance__rendering__gl-scissor-test.html | 22 - ...ormance__rendering__line-loop-tri-fan.html | 22 - ...e__rendering__more-than-65536-indices.html | 22 - ...st_conformance__rendering__point-size.html | 22 - ...test_conformance__rendering__triangle.html | 22 - ...nformance__state__gl-enable-enum-test.html | 22 - ...est_conformance__state__gl-enum-tests.html | 22 - ...test_conformance__state__gl-get-calls.html | 22 - .../test_conformance__state__gl-geterror.html | 22 - ...test_conformance__state__gl-getstring.html | 22 - ...nformance__state__gl-object-get-calls.html | 22 - ...mance__textures__compressed-tex-image.html | 22 - ...ures__copy-tex-image-and-sub-image-2d.html | 22 - ...conformance__textures__gl-pixelstorei.html | 22 - ...st_conformance__textures__gl-teximage.html | 22 - ...e__textures__origin-clean-conformance.html | 22 - ...d-sub-image-2d-with-array-buffer-view.html | 22 - ...ex-image-and-sub-image-2d-with-canvas.html | 22 - ...mage-and-sub-image-2d-with-image-data.html | 22 - ...tex-image-and-sub-image-2d-with-image.html | 22 - ...tex-image-and-sub-image-2d-with-video.html | 22 - ...s__tex-image-and-uniform-binding-bugs.html | 22 - ...tures__tex-image-with-format-and-type.html | 22 - ...textures__tex-image-with-invalid-data.html | 22 - ...mance__textures__tex-input-validation.html | 22 - ...__textures__tex-sub-image-2d-bad-args.html | 22 - ...nformance__textures__tex-sub-image-2d.html | 22 - ...formance__textures__texparameter-test.html | 22 - ...ance__textures__texture-active-bind-2.html | 22 - ...rmance__textures__texture-active-bind.html | 22 - ...nformance__textures__texture-complete.html | 22 - ...mance__textures__texture-formats-test.html | 22 - ...t_conformance__textures__texture-mips.html | 22 - ...ormance__textures__texture-npot-video.html | 22 - ...t_conformance__textures__texture-npot.html | 22 - ...nce__textures__texture-size-cube-maps.html | 22 - ...t_conformance__textures__texture-size.html | 22 - ...exture-transparent-pixels-initialized.html | 22 - ...ance__typedarrays__array-buffer-crash.html | 22 - ..._typedarrays__array-buffer-view-crash.html | 22 - ...rmance__typedarrays__array-unit-tests.html | 22 - ...formance__uniforms__gl-uniform-arrays.html | 22 - ...onformance__uniforms__gl-uniform-bool.html | 22 - ...rmance__uniforms__gl-uniformmatrix4fv.html | 22 - ...ormance__uniforms__gl-unknown-uniform.html | 22 - ...ance__uniforms__null-uniform-location.html | 22 - ...nformance__uniforms__uniform-location.html | 22 - ...ance__uniforms__uniform-samplers-test.html | 22 - .../conformance/00_readme.txt | 13 - .../conformance/00_test_list.txt | 17 - .../conformance/LICENSE_CHROMIUM | 30 - .../conformance/attribs/00_test_list.txt | 6 - .../attribs/gl-enable-vertex-attrib.html | 57 - .../attribs/gl-vertex-attrib-zero-issues.html | 91 - .../conformance/attribs/gl-vertex-attrib.html | 94 - .../gl-vertexattribpointer-offsets.html | 193 -- .../attribs/gl-vertexattribpointer.html | 133 - .../conformance/buffers/00_test_list.txt | 7 - .../conformance/buffers/buffer-bind-test.html | 63 - .../buffers/buffer-data-array-buffer.html | 67 - .../index-validation-copies-indices.html | 76 - ...validation-crash-with-buffer-sub-data.html | 35 - ...-validation-verifies-too-many-indices.html | 47 - .../index-validation-with-resized-buffer.html | 104 - .../conformance/buffers/index-validation.html | 141 - .../conformance/canvas/00_test_list.txt | 8 - .../canvas/buffer-offscreen-test.html | 91 - .../canvas/buffer-preserve-test.html | 86 - .../conformance/canvas/canvas-test.html | 192 -- .../conformance/canvas/canvas-zero-size.html | 42 - .../drawingbuffer-static-canvas-test.html | 148 - .../canvas/drawingbuffer-test.html | 147 - .../viewport-unchanged-upon-resize.html | 112 - .../conformance/context/00_test_list.txt | 10 - .../conformance/context/constants.html | 485 --- ...ext-attribute-preserve-drawing-buffer.html | 113 - ...ributes-alpha-depth-stencil-antialias.html | 245 -- .../context/context-lost-restored.html | 213 -- .../conformance/context/context-lost.html | 325 -- .../context/context-type-test.html | 49 - .../incorrect-context-object-behaviour.html | 83 - .../conformance/context/methods.html | 200 -- .../context/premultiplyalpha-test.html | 169 -- .../context/resource-sharing-test.html | 41 - .../conformance/extensions/00_test_list.txt | 11 - .../conformance/extensions/ext-sRGB.html | 369 --- .../extensions/ext-shader-texture-lod.html | 280 -- .../ext-texture-filter-anisotropic.html | 177 -- .../extensions/oes-standard-derivatives.html | 374 --- .../extensions/oes-texture-float.html | 218 -- .../extensions/oes-vertex-array-object.html | 414 --- .../webgl-compressed-texture-etc1.html | 506 ---- .../webgl-compressed-texture-s3tc.html | 614 ---- .../extensions/webgl-debug-renderer-info.html | 104 - .../extensions/webgl-debug-shaders.html | 97 - .../extensions/webgl-depth-texture.html | 343 --- .../conformance/glsl/00_test_list.txt | 8 - .../glsl/functions/00_test_list.txt | 36 - .../glsl/functions/glsl-function-abs.html | 44 - .../glsl/functions/glsl-function-acos.html | 94 - .../glsl/functions/glsl-function-asin.html | 94 - .../glsl/functions/glsl-function-atan-xy.html | 97 - .../glsl/functions/glsl-function-atan.html | 94 - .../glsl/functions/glsl-function-ceil.html | 52 - .../functions/glsl-function-clamp-float.html | 55 - .../glsl-function-clamp-gentype.html | 58 - .../glsl/functions/glsl-function-cos.html | 98 - .../glsl/functions/glsl-function-cross.html | 52 - .../functions/glsl-function-distance.html | 87 - .../glsl/functions/glsl-function-dot.html | 89 - .../functions/glsl-function-faceforward.html | 67 - .../glsl/functions/glsl-function-floor.html | 51 - .../glsl/functions/glsl-function-fract.html | 49 - .../glsl/functions/glsl-function-length.html | 86 - .../functions/glsl-function-lessThan.html | 51 - .../functions/glsl-function-max-float.html | 51 - .../functions/glsl-function-max-gentype.html | 51 - .../functions/glsl-function-min-float.html | 51 - .../functions/glsl-function-min-gentype.html | 51 - .../functions/glsl-function-mix-float.html | 53 - .../functions/glsl-function-mix-gentype.html | 53 - .../functions/glsl-function-mod-float.html | 52 - .../functions/glsl-function-mod-gentype.html | 55 - .../functions/glsl-function-normalize.html | 58 - .../glsl/functions/glsl-function-reflect.html | 62 - .../glsl/functions/glsl-function-refract.html | 71 - .../glsl/functions/glsl-function-sign.html | 52 - .../glsl/functions/glsl-function-sin.html | 95 - .../glsl-function-smoothstep-float.html | 54 - .../glsl-function-smoothstep-gentype.html | 57 - .../functions/glsl-function-step-float.html | 51 - .../functions/glsl-function-step-gentype.html | 51 - .../glsl/functions/glsl-function.html | 38 - .../glsl/implicit/00_test_list.txt | 65 - .../glsl/implicit/add_int_float.vert.html | 35 - .../glsl/implicit/add_int_mat2.vert.html | 35 - .../glsl/implicit/add_int_mat3.vert.html | 35 - .../glsl/implicit/add_int_mat4.vert.html | 35 - .../glsl/implicit/add_int_vec2.vert.html | 35 - .../glsl/implicit/add_int_vec3.vert.html | 35 - .../glsl/implicit/add_int_vec4.vert.html | 35 - .../glsl/implicit/add_ivec2_vec2.vert.html | 35 - .../glsl/implicit/add_ivec3_vec3.vert.html | 35 - .../glsl/implicit/add_ivec4_vec4.vert.html | 35 - .../implicit/assign_int_to_float.vert.html | 35 - .../implicit/assign_ivec2_to_vec2.vert.html | 35 - .../implicit/assign_ivec3_to_vec3.vert.html | 35 - .../implicit/assign_ivec4_to_vec4.vert.html | 35 - .../glsl/implicit/construct_struct.vert.html | 38 - .../glsl/implicit/divide_int_float.vert.html | 35 - .../glsl/implicit/divide_int_mat2.vert.html | 35 - .../glsl/implicit/divide_int_mat3.vert.html | 35 - .../glsl/implicit/divide_int_mat4.vert.html | 35 - .../glsl/implicit/divide_int_vec2.vert.html | 35 - .../glsl/implicit/divide_int_vec3.vert.html | 35 - .../glsl/implicit/divide_int_vec4.vert.html | 35 - .../glsl/implicit/divide_ivec2_vec2.vert.html | 35 - .../glsl/implicit/divide_ivec3_vec3.vert.html | 35 - .../glsl/implicit/divide_ivec4_vec4.vert.html | 35 - .../glsl/implicit/equal_int_float.vert.html | 35 - .../glsl/implicit/equal_ivec2_vec2.vert.html | 35 - .../glsl/implicit/equal_ivec3_vec3.vert.html | 35 - .../glsl/implicit/equal_ivec4_vec4.vert.html | 35 - .../implicit/function_int_float.vert.html | 38 - .../implicit/function_ivec2_vec2.vert.html | 38 - .../implicit/function_ivec3_vec3.vert.html | 38 - .../implicit/function_ivec4_vec4.vert.html | 38 - .../glsl/implicit/greater_than.vert.html | 35 - .../implicit/greater_than_equal.vert.html | 35 - .../glsl/implicit/less_than.vert.html | 35 - .../glsl/implicit/less_than_equal.vert.html | 35 - .../implicit/multiply_int_float.vert.html | 35 - .../glsl/implicit/multiply_int_mat2.vert.html | 35 - .../glsl/implicit/multiply_int_mat3.vert.html | 35 - .../glsl/implicit/multiply_int_mat4.vert.html | 35 - .../glsl/implicit/multiply_int_vec2.vert.html | 35 - .../glsl/implicit/multiply_int_vec3.vert.html | 35 - .../glsl/implicit/multiply_int_vec4.vert.html | 35 - .../implicit/multiply_ivec2_vec2.vert.html | 35 - .../implicit/multiply_ivec3_vec3.vert.html | 35 - .../implicit/multiply_ivec4_vec4.vert.html | 35 - .../implicit/not_equal_int_float.vert.html | 35 - .../implicit/not_equal_ivec2_vec2.vert.html | 35 - .../implicit/not_equal_ivec3_vec3.vert.html | 35 - .../implicit/not_equal_ivec4_vec4.vert.html | 35 - .../implicit/subtract_int_float.vert.html | 35 - .../glsl/implicit/subtract_int_mat2.vert.html | 35 - .../glsl/implicit/subtract_int_mat3.vert.html | 35 - .../glsl/implicit/subtract_int_mat4.vert.html | 35 - .../glsl/implicit/subtract_int_vec2.vert.html | 35 - .../glsl/implicit/subtract_int_vec3.vert.html | 35 - .../glsl/implicit/subtract_int_vec4.vert.html | 35 - .../implicit/subtract_ivec2_vec2.vert.html | 35 - .../implicit/subtract_ivec3_vec3.vert.html | 35 - .../implicit/subtract_ivec4_vec4.vert.html | 35 - .../glsl/implicit/ternary_int_float.vert.html | 35 - .../implicit/ternary_ivec2_vec2.vert.html | 35 - .../implicit/ternary_ivec3_vec3.vert.html | 35 - .../implicit/ternary_ivec4_vec4.vert.html | 35 - .../glsl/matrices/00_test_list.txt | 2 - .../glsl/matrices/glsl-mat4-to-mat3.html | 70 - .../conformance/glsl/misc/00_test_list.txt | 72 - .../misc/attrib-location-length-limits.html | 82 - ...embedded-struct-definitions-forbidden.html | 39 - .../glsl-2types-of-textures-on-same-unit.html | 137 - .../glsl/misc/glsl-function-nodes.html | 139 - .../glsl/misc/glsl-long-variable-names.html | 249 -- .../glsl/misc/glsl-vertex-branch.html | 130 - .../conformance/glsl/misc/include.vs | 4 - .../glsl/misc/non-ascii-comments.vert.html | 38 - .../conformance/glsl/misc/non-ascii.vert.html | 36 - .../glsl/misc/re-compile-re-link.html | 151 - ...er-with-256-character-identifier.frag.html | 36 - ...er-with-257-character-identifier.frag.html | 36 - .../shader-with-_webgl-identifier.vert.html | 35 - .../shader-with-arbitrary-indexing.frag.html | 39 - .../shader-with-arbitrary-indexing.vert.html | 38 - .../misc/shader-with-attrib-array.vert.html | 35 - .../misc/shader-with-attrib-struct.vert.html | 39 - .../misc/shader-with-clipvertex.vert.html | 36 - .../misc/shader-with-comma-assignment.html | 41 - ...der-with-comma-conditional-assignment.html | 200 -- .../misc/shader-with-conditional-scoping.html | 48 - .../shader-with-default-precision.frag.html | 35 - .../shader-with-default-precision.vert.html | 36 - ...er-with-define-line-continuation.frag.html | 37 - .../misc/shader-with-dfdx-no-ext.frag.html | 35 - .../glsl/misc/shader-with-dfdx.frag.html | 36 - .../glsl/misc/shader-with-do-scoping.html | 36 - .../misc/shader-with-error-directive.html | 50 - .../shader-with-explicit-int-cast.vert.html | 36 - .../shader-with-float-return-value.frag.html | 44 - .../glsl/misc/shader-with-for-loop.html | 82 - .../glsl/misc/shader-with-for-scoping.html | 36 - .../misc/shader-with-frag-depth.frag.html | 36 - .../shader-with-function-recursion.frag.html | 45 - .../shader-with-function-scoped-struct.html | 40 - .../misc/shader-with-functional-scoping.html | 39 - .../glsl/misc/shader-with-glcolor.vert.html | 35 - .../glsl/misc/shader-with-gles-1.frag.html | 39 - .../misc/shader-with-gles-symbol.frag.html | 39 - .../shader-with-glprojectionmatrix.vert.html | 35 - .../shader-with-hex-int-constant-macro.html | 38 - ...-with-implicit-vec3-to-vec4-cast.vert.html | 36 - .../glsl/misc/shader-with-include.vert.html | 39 - .../shader-with-int-return-value.frag.html | 42 - .../shader-with-invalid-identifier.frag.html | 36 - .../shader-with-ivec2-return-value.frag.html | 42 - .../shader-with-ivec3-return-value.frag.html | 42 - .../shader-with-ivec4-return-value.frag.html | 42 - .../shader-with-limited-indexing.frag.html | 52 - .../glsl/misc/shader-with-line-directive.html | 43 - .../glsl/misc/shader-with-long-line.html | 67 - .../shader-with-non-ascii-error.frag.html | 35 - .../glsl/misc/shader-with-precision.frag.html | 35 - .../misc/shader-with-quoted-error.frag.html | 35 - ...th-undefined-preprocessor-symbol.frag.html | 39 - ...r-with-uniform-in-loop-condition.vert.html | 40 - .../shader-with-vec2-return-value.frag.html | 44 - .../shader-with-vec3-return-value.frag.html | 44 - .../shader-with-vec4-return-value.frag.html | 44 - ...hader-with-vec4-vec3-vec4-conditional.html | 36 - .../misc/shader-with-version-100.frag.html | 39 - .../misc/shader-with-version-100.vert.html | 36 - .../misc/shader-with-version-120.vert.html | 36 - .../misc/shader-with-version-130.vert.html | 36 - .../shader-with-webgl-identifier.vert.html | 35 - .../misc/shader-without-precision.frag.html | 35 - .../conformance/glsl/misc/shared.html | 150 - .../misc/struct-nesting-exceeds-maximum.html | 53 - .../misc/struct-nesting-under-maximum.html | 49 - .../misc/uniform-location-length-limits.html | 85 - .../glsl/reserved/00_test_list.txt | 8 - .../glsl/reserved/_webgl_field.vert.html | 38 - .../glsl/reserved/_webgl_function.vert.html | 38 - .../glsl/reserved/_webgl_struct.vert.html | 38 - .../glsl/reserved/_webgl_variable.vert.html | 34 - .../glsl/reserved/webgl_field.vert.html | 38 - .../glsl/reserved/webgl_function.vert.html | 38 - .../glsl/reserved/webgl_struct.vert.html | 38 - .../glsl/reserved/webgl_variable.vert.html | 34 - .../glsl/samplers/00_test_list.txt | 4 - .../glsl-function-texture2d-bias.html | 102 - .../samplers/glsl-function-texture2dlod.html | 102 - .../samplers/glsl-function-texture2dproj.html | 117 - .../glsl/variables/00_test_list.txt | 3 - .../glsl/variables/gl-fragcoord.html | 87 - .../glsl/variables/gl-frontfacing.html | 88 - .../glsl/variables/gl-pointcoord.html | 141 - .../conformance/limits/00_test_list.txt | 5 - .../limits/gl-max-texture-dimensions.html | 97 - .../conformance/limits/gl-min-attribs.html | 85 - .../conformance/limits/gl-min-textures.html | 72 - .../conformance/limits/gl-min-uniforms.html | 104 - .../conformance/misc/00_test_list.txt | 13 - .../conformance/misc/bad-arguments-test.html | 114 - .../conformance/misc/delayed-drawing.html | 62 - .../conformance/misc/error-reporting.html | 100 - .../misc/functions-returning-strings.html | 103 - .../conformance/misc/instanceof-test.html | 89 - .../misc/invalid-passed-params.html | 193 -- .../conformance/misc/is-object.html | 73 - .../misc/null-object-behaviour.html | 107 - .../misc/object-deletion-behaviour.html | 428 --- .../misc/shader-precision-format.html | 83 - .../misc/type-conversion-test.html | 170 -- .../conformance/misc/uninitialized-test.html | 170 -- .../conformance/misc/webgl-specific.html | 104 - .../conformance/more/00_test_list.txt | 57 - .../conformance/more/README.md | 53 - .../conformance/more/all_tests.html | 400 --- .../conformance/more/all_tests_linkonly.html | 400 --- .../more/all_tests_sequential.html | 400 --- .../more/conformance/argGenerators-A.js | 63 - .../more/conformance/argGenerators-B1.js | 55 - .../more/conformance/argGenerators-B2.js | 148 - .../more/conformance/argGenerators-B3.js | 62 - .../more/conformance/argGenerators-B4.js | 65 - .../more/conformance/argGenerators-C.js | 113 - .../more/conformance/argGenerators-D_G.js | 229 -- .../more/conformance/argGenerators-G_I.js | 118 - .../more/conformance/argGenerators-L_S.js | 116 - .../more/conformance/argGenerators-S_V.js | 206 -- .../conformance/badArgsArityLessThanArgc.html | 598 ---- .../more/conformance/constants.html | 373 --- .../more/conformance/fuzzTheAPI.html | 110 - .../more/conformance/getContext.html | 32 - .../conformance/more/conformance/methods.html | 202 -- .../more/conformance/quickCheckAPI-A.html | 57 - .../more/conformance/quickCheckAPI-B1.html | 57 - .../more/conformance/quickCheckAPI-B2.html | 57 - .../more/conformance/quickCheckAPI-B3.html | 57 - .../more/conformance/quickCheckAPI-B4.html | 57 - .../more/conformance/quickCheckAPI-C.html | 57 - .../more/conformance/quickCheckAPI-D_G.html | 57 - .../more/conformance/quickCheckAPI-G_I.html | 57 - .../more/conformance/quickCheckAPI-L_S.html | 57 - .../more/conformance/quickCheckAPI-S_V.html | 57 - .../more/conformance/quickCheckAPI.js | 390 --- .../conformance/quickCheckAPIBadArgs.html | 76 - .../more/conformance/webGLArrays.html | 159 - .../conformance/more/demos/opengl_web.html | 580 ---- .../conformance/more/demos/video.html | 135 - .../more/functions/bindBuffer.html | 69 - .../more/functions/bindBufferBadArgs.html | 94 - .../bindFramebufferLeaveNonZero.html | 23 - .../more/functions/bufferData.html | 60 - .../more/functions/bufferDataBadArgs.html | 48 - .../more/functions/bufferSubData.html | 111 - .../more/functions/bufferSubDataBadArgs.html | 67 - .../more/functions/copyTexImage2D.html | 130 - .../more/functions/copyTexImage2DBadArgs.html | 109 - .../more/functions/copyTexSubImage2D.html | 142 - .../functions/copyTexSubImage2DBadArgs.html | 111 - .../more/functions/deleteBufferBadArgs.html | 38 - .../more/functions/drawArrays.html | 135 - .../more/functions/drawArraysOutOfBounds.html | 305 -- .../more/functions/drawElements.html | 143 - .../more/functions/drawElementsBadArgs.html | 209 -- .../conformance/more/functions/isTests.html | 82 - .../more/functions/readPixels.html | 63 - .../more/functions/readPixelsBadArgs.html | 125 - .../more/functions/texImage2D.html | 86 - .../more/functions/texImage2DBadArgs.html | 116 - .../more/functions/texImage2DHTML.html | 157 - .../more/functions/texImage2DHTMLBadArgs.html | 45 - .../more/functions/texSubImage2D.html | 91 - .../more/functions/texSubImage2DBadArgs.html | 111 - .../more/functions/texSubImage2DHTML.html | 169 -- .../functions/texSubImage2DHTMLBadArgs.html | 77 - .../more/functions/uniformMatrix.html | 63 - .../more/functions/uniformMatrixBadArgs.html | 137 - .../conformance/more/functions/uniformf.html | 68 - .../more/functions/uniformfArrayLen1.html | 94 - .../more/functions/uniformfBadArgs.html | 99 - .../conformance/more/functions/uniformi.html | 68 - .../more/functions/uniformiBadArgs.html | 95 - .../more/functions/vertexAttrib.html | 142 - .../more/functions/vertexAttribBadArgs.html | 118 - .../more/functions/vertexAttribPointer.html | 106 - .../functions/vertexAttribPointerBadArgs.html | 131 - .../more/glsl/arrayOutOfBounds.html | 273 -- .../conformance/more/glsl/longLoops.html | 253 -- .../more/glsl/uniformOutOfBounds.html | 217 -- .../more/glsl/unusedAttribsUniforms.html | 115 - .../conformance/more/index.html | 69 - .../more/performance/CPUvsGPU.html | 360 --- .../more/performance/bandwidth.html | 238 -- .../more/performance/jsGCPause.html | 58 - .../more/performance/jsMatrixMult.html | 50 - .../more/performance/jsToGLOverhead.html | 40 - .../conformance/more/unit.css | 66 - .../conformance/more/unit.js | 881 ------ .../conformance/more/util.js | 1281 -------- .../conformance/programs/00_test_list.txt | 9 - .../conformance/programs/get-active-test.html | 135 - .../gl-bind-attrib-location-test.html | 201 -- .../programs/gl-get-active-attribute.html | 84 - .../programs/gl-get-active-uniform.html | 143 - .../programs/gl-getshadersource.html | 38 - .../conformance/programs/gl-shader-test.html | 48 - .../conformance/programs/invalid-UTF-16.html | 50 - .../conformance/programs/program-test.html | 327 -- .../conformance/reading/00_test_list.txt | 3 - .../reading/read-pixels-pack-alignment.html | 240 -- .../conformance/reading/read-pixels-test.html | 226 -- .../renderbuffers/00_test_list.txt | 4 - .../framebuffer-object-attachment.html | 423 --- .../renderbuffers/framebuffer-test.html | 174 -- .../renderbuffer-initialization.html | 98 - .../conformance/rendering/00_test_list.txt | 9 - .../rendering/draw-arrays-out-of-bounds.html | 133 - .../draw-elements-out-of-bounds.html | 177 -- .../conformance/rendering/gl-clear.html | 66 - .../rendering/gl-drawelements.html | 98 - .../rendering/gl-scissor-test.html | 73 - .../rendering/line-loop-tri-fan.html | 242 -- .../rendering/more-than-65536-indices.html | 94 - .../conformance/rendering/point-size.html | 125 - .../conformance/rendering/triangle.html | 123 - .../conformance/resources/3x3.png | Bin 2806 -> 0 bytes .../conformance/resources/blue-1x1.jpg | Bin 319 -> 0 bytes .../resources/boolUniformShader.vert | 43 - .../resources/bug-32888-texture.png | Bin 10050 -> 0 bytes .../resources/floatUniformShader.vert | 43 - .../conformance/resources/fragmentShader.frag | 32 - .../resources/glsl-conformance-test.js | 322 -- .../resources/glsl-feature-tests.css | 26 - .../conformance/resources/glsl-generator.js | 1157 -------- .../gray-ramp-256-with-128-alpha.png | Bin 81 -> 0 bytes .../conformance/resources/gray-ramp-256.png | Bin 78 -> 0 bytes .../resources/gray-ramp-default-gamma.png | Bin 123 -> 0 bytes .../resources/gray-ramp-gamma0.1.png | Bin 133 -> 0 bytes .../resources/gray-ramp-gamma1.0.png | Bin 133 -> 0 bytes .../resources/gray-ramp-gamma2.0.png | Bin 133 -> 0 bytes .../resources/gray-ramp-gamma4.0.png | Bin 133 -> 0 bytes .../resources/gray-ramp-gamma9.0.png | Bin 133 -> 0 bytes .../conformance/resources/gray-ramp.png | Bin 123 -> 0 bytes .../conformance/resources/green-2x2-16bit.png | Bin 134 -> 0 bytes .../resources/intArrayUniformShader.vert | 8 - .../resources/intUniformShader.vert | 43 - .../resources/matUniformShader.vert | 40 - .../resources/noopUniformShader.frag | 34 - .../resources/noopUniformShader.vert | 4 - .../conformance/resources/npot-video.mp4 | Bin 38215 -> 0 bytes .../resources/npot-video.theora.ogv | Bin 24630 -> 0 bytes .../resources/npot-video.webmvp8.webm | Bin 51240 -> 0 bytes .../conformance/resources/pnglib.js | 207 -- .../conformance/resources/red-green.mp4 | Bin 92225 -> 0 bytes .../conformance/resources/red-green.png | Bin 144 -> 0 bytes .../resources/red-green.theora.ogv | Bin 10292 -> 0 bytes .../resources/red-green.webmvp8.webm | Bin 10979 -> 0 bytes .../conformance/resources/red-indexed.png | Bin 168 -> 0 bytes .../resources/samplerUniformShader.frag | 8 - .../small-square-with-cie-rgb-profile.png | Bin 868 -> 0 bytes .../small-square-with-colormatch-profile.png | Bin 871 -> 0 bytes .../small-square-with-colorspin-profile.jpg | Bin 9145 -> 0 bytes .../small-square-with-colorspin-profile.png | Bin 841 -> 0 bytes .../small-square-with-e-srgb-profile.png | Bin 1985 -> 0 bytes .../small-square-with-smpte-c-profile.png | Bin 871 -> 0 bytes ...-square-with-srgb-iec61966-2.1-profile.png | Bin 3201 -> 0 bytes .../resources/structUniformShader.vert | 53 - .../conformance/resources/vertexShader.vert | 36 - .../conformance/resources/webgl-test-utils.js | 1462 --------- .../conformance/resources/webgl-test.js | 805 ----- .../conformance/resources/zero-alpha.png | Bin 89 -> 0 bytes .../conformance/state/00_test_list.txt | 7 - .../state/gl-enable-enum-test.html | 133 - .../conformance/state/gl-enum-tests.html | 87 - .../conformance/state/gl-get-calls.html | 156 - .../conformance/state/gl-geterror.html | 76 - .../conformance/state/gl-getstring.html | 58 - .../state/gl-object-get-calls.html | 276 -- .../conformance/textures/00_test_list.txt | 29 - .../textures/compressed-tex-image.html | 60 - .../copy-tex-image-and-sub-image-2d.html | 136 - .../conformance/textures/gl-pixelstorei.html | 124 - .../conformance/textures/gl-teximage.html | 422 --- .../textures/origin-clean-conformance.html | 136 - ...d-sub-image-2d-with-array-buffer-view.html | 193 -- ...ex-image-and-sub-image-2d-with-canvas.html | 115 - ...mage-and-sub-image-2d-with-image-data.html | 138 - ...tex-image-and-sub-image-2d-with-image.html | 149 - ...tex-image-and-sub-image-2d-with-video.html | 125 - .../tex-image-and-uniform-binding-bugs.html | 66 - .../tex-image-with-format-and-type.html | 726 ----- .../textures/tex-image-with-invalid-data.html | 101 - .../textures/tex-input-validation.html | 361 --- .../textures/tex-sub-image-2d-bad-args.html | 66 - .../textures/tex-sub-image-2d.html | 100 - .../textures/texparameter-test.html | 188 -- .../textures/texture-active-bind-2.html | 189 -- .../textures/texture-active-bind.html | 138 - .../conformance/textures/texture-clear.html | 42 - .../textures/texture-complete.html | 67 - .../textures/texture-formats-test.html | 251 -- .../conformance/textures/texture-mips.html | 256 -- .../textures/texture-npot-video.html | 166 -- .../conformance/textures/texture-npot.html | 225 -- .../textures/texture-size-cube-maps.html | 332 --- .../conformance/textures/texture-size.html | 196 -- ...exture-transparent-pixels-initialized.html | 114 - .../conformance/typedarrays/00_test_list.txt | 4 - .../typedarrays/array-buffer-crash.html | 38 - .../typedarrays/array-buffer-view-crash.html | 65 - .../typedarrays/array-unit-tests.html | 1072 ------- .../conformance/uniforms/00_test_list.txt | 8 - .../uniforms/gl-uniform-arrays.html | 302 -- .../conformance/uniforms/gl-uniform-bool.html | 56 - .../uniforms/gl-uniformmatrix4fv.html | 79 - .../uniforms/gl-unknown-uniform.html | 65 - .../uniforms/null-uniform-location.html | 76 - .../uniforms/uniform-location.html | 112 - .../uniforms/uniform-samplers-test.html | 60 - .../50x50pixel-black-with-red-triangle.png | Bin 3032 -> 0 bytes .../extra/big-fbos-example.html | 216 -- .../extra/canvas-compositing-test.html | 125 - .../extra/canvas-compositing-test.png | Bin 212531 -> 0 bytes .../extra/fbo-lost-context.html | 199 -- .../extra/lots-of-polys-example.html | 88 - .../extra/offscreen-issue.html | 38 - .../out-of-bounds-uniform-array-access.html | 106 - .../extra/out-of-memory.html | 92 - .../extra/out-of-resources.html | 109 - .../webgl-conformance/extra/out-of-vram.html | 115 - .../extra/simulated-attrib-0-bug-test.html | 29 - .../extra/slow-shader-example.html | 116 - .../webgl-conformance/extra/webgl-info.html | 80 - .../misc/program-test-1.html | 81 - .../webgl-conformance/resources/cors-util.js | 31 - .../resources/desktop-gl-constants.js | 2626 ----------------- .../resources/js-test-pre.js | 474 --- .../resources/js-test-style.css | 12 - .../resources/opengl_logo.jpg | Bin 5827 -> 0 bytes .../resources/thunderbird-logo-64x64.png | Bin 63843 -> 0 bytes .../resources/webgl-logo.png | Bin 11020 -> 0 bytes .../resources/webgl-test-harness.js | 444 --- .../webgl-conformance-tests.html | 545 ---- 830 files changed, 62143 deletions(-) delete mode 100644 dom/canvas/test/_webgl-conformance.ini delete mode 100644 dom/canvas/test/webgl-conformance/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_always-fail.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-bind-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-data-array-buffer.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-copies-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__constants.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost-restored.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-type-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__incorrect-context-object-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__methods.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__premultiplyalpha-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__resource-sharing-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-sRGB.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-shader-texture-lod.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-abs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-acos.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-asin.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cos.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cross.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-distance.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-dot.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-floor.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-fract.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-length.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sign.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sin.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-long-line.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shared.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-fragcoord.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-frontfacing.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-pointcoord.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-max-texture-dimensions.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-attribs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-textures.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-uniforms.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__bad-arguments-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__error-reporting.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__functions-returning-strings.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__instanceof-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__invalid-passed-params.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__is-object.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__null-object-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__object-deletion-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__shader-precision-format.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__type-conversion-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__uninitialized-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__webgl-specific.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__constants.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__getContext.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__methods.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__webGLArrays.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBuffer.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBufferBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferData.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferDataBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubData.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArrays.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElements.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElementsBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__isTests.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixels.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixelsBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTML.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTML.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrix.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformf.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfArrayLen1.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformi.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformiBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttrib.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointer.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__get-active-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-attribute.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-uniform.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-getshadersource.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-shader-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__invalid-UTF-16.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__program-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-pack-alignment.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-clear.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-drawelements.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-scissor-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__line-loop-tri-fan.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__more-than-65536-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__point-size.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__triangle.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enable-enum-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enum-tests.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-get-calls.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-geterror.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-getstring.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-object-get-calls.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__compressed-tex-image.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-pixelstorei.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-teximage.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__origin-clean-conformance.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-format-and-type.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-invalid-data.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-input-validation.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texparameter-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind-2.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-complete.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size-cube-maps.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-crash.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-unit-tests.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-arrays.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-bool.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-unknown-uniform.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__null-uniform-location.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-location.html delete mode 100644 dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-samplers-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/00_readme.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/LICENSE_CHROMIUM delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/gl-enable-vertex-attrib.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib-zero-issues.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer-offsets.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/buffer-bind-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/buffer-data-array-buffer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-copies-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-crash-with-buffer-sub-data.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-verifies-too-many-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-with-resized-buffer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/buffers/index-validation.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/buffer-offscreen-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/buffer-preserve-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/canvas-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/canvas-zero-size.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-static-canvas-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/canvas/viewport-unchanged-upon-resize.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/constants.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/context-attribute-preserve-drawing-buffer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/context-attributes-alpha-depth-stencil-antialias.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/context-lost-restored.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/context-lost.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/context-type-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/incorrect-context-object-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/methods.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/premultiplyalpha-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/context/resource-sharing-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/ext-sRGB.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/ext-shader-texture-lod.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/ext-texture-filter-anisotropic.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/oes-standard-derivatives.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/oes-texture-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/oes-vertex-array-object.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-etc1.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-s3tc.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-renderer-info.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-shaders.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/extensions/webgl-depth-texture.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-abs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-acos.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-asin.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan-xy.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-ceil.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cos.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cross.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-distance.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-dot.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-faceforward.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-floor.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-fract.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-length.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-lessThan.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-normalize.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-reflect.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-refract.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sign.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sin.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-float.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-gentype.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_int_to_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/construct_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than_equal.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than_equal.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_int_float.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec2_vec2.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec3_vec3.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec4_vec4.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/matrices/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/matrices/glsl-mat4-to-mat3.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/attrib-location-length-limits.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/embedded-struct-definitions-forbidden.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-function-nodes.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-long-variable-names.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-vertex-branch.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/include.vs delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii-comments.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/re-compile-re-link.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-256-character-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-257-character-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-_webgl-identifier.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-array.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-clipvertex.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-assignment.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-conditional-scoping.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-define-line-continuation.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-do-scoping.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-error-directive.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-explicit-int-cast.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-float-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-loop.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-scoping.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-frag-depth.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-recursion.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-scoped-struct.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-functional-scoping.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glcolor.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-1.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-symbol.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-hex-int-constant-macro.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-include.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-int-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-invalid-identifier.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec2-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec3-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec4-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-limited-indexing.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-line-directive.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-long-line.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-non-ascii-error.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-quoted-error.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec2-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec3-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-return-value.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-120.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-130.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-webgl-identifier.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-without-precision.frag.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/shared.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-under-maximum.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/misc/uniform-location-length-limits.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_field.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_function.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_variable.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_field.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_function.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_struct.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_variable.vert.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/samplers/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2d-bias.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dlod.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dproj.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/variables/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-fragcoord.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-frontfacing.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-pointcoord.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/limits/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/limits/gl-max-texture-dimensions.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/limits/gl-min-attribs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/limits/gl-min-textures.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/limits/gl-min-uniforms.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/bad-arguments-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/delayed-drawing.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/error-reporting.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/functions-returning-strings.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/instanceof-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/invalid-passed-params.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/is-object.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/null-object-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/object-deletion-behaviour.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/shader-precision-format.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/type-conversion-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/uninitialized-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/misc/webgl-specific.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/README.md delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/all_tests.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/all_tests_linkonly.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/all_tests_sequential.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-A.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B1.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B2.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B3.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B4.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-C.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-D_G.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-G_I.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-L_S.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-S_V.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/badArgsArityLessThanArgc.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/constants.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/fuzzTheAPI.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/getContext.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/methods.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-A.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B1.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B2.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B3.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B4.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-C.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-D_G.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-G_I.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-L_S.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-S_V.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPIBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/conformance/webGLArrays.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/demos/opengl_web.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/demos/video.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bindBuffer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bindBufferBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bindFramebufferLeaveNonZero.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bufferData.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bufferDataBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubData.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubDataBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/deleteBufferBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/drawArrays.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/drawArraysOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/drawElements.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/drawElementsBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/isTests.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/readPixels.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/readPixelsBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTML.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTMLBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2D.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTML.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTMLBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrix.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrixBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformf.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfArrayLen1.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformi.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/uniformiBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttrib.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointer.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointerBadArgs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/glsl/arrayOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/glsl/longLoops.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/glsl/uniformOutOfBounds.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/glsl/unusedAttribsUniforms.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/index.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/performance/CPUvsGPU.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/performance/bandwidth.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/performance/jsGCPause.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/performance/jsMatrixMult.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/performance/jsToGLOverhead.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/unit.css delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/unit.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/more/util.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/get-active-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/gl-bind-attrib-location-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-attribute.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-uniform.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/gl-getshadersource.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/gl-shader-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/invalid-UTF-16.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/programs/program-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/reading/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-pack-alignment.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/renderbuffers/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-object-attachment.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/renderbuffers/renderbuffer-initialization.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/draw-arrays-out-of-bounds.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/draw-elements-out-of-bounds.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/gl-clear.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/gl-drawelements.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/gl-scissor-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/line-loop-tri-fan.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/more-than-65536-indices.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/point-size.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/rendering/triangle.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/3x3.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/blue-1x1.jpg delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/boolUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/bug-32888-texture.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/floatUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/fragmentShader.frag delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/glsl-conformance-test.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/glsl-feature-tests.css delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/glsl-generator.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256-with-128-alpha.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-default-gamma.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma0.1.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma1.0.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma2.0.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma4.0.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma9.0.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/green-2x2-16bit.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/intArrayUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/intUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/matUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.frag delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/npot-video.mp4 delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/npot-video.theora.ogv delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/npot-video.webmvp8.webm delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/pnglib.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/red-green.mp4 delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/red-green.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/red-green.theora.ogv delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/red-green.webmvp8.webm delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/red-indexed.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/samplerUniformShader.frag delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-cie-rgb-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-colormatch-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-colorspin-profile.jpg delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-colorspin-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-e-srgb-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-smpte-c-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/structUniformShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/vertexShader.vert delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/webgl-test-utils.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/webgl-test.js delete mode 100644 dom/canvas/test/webgl-conformance/conformance/resources/zero-alpha.png delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-enable-enum-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-enum-tests.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-get-calls.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-geterror.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-getstring.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/state/gl-object-get-calls.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/compressed-tex-image.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/copy-tex-image-and-sub-image-2d.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/gl-pixelstorei.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/gl-teximage.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/origin-clean-conformance.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-video.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-uniform-binding-bugs.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-format-and-type.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-invalid-data.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d-bad-args.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texparameter-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind-2.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-clear.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-complete.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-formats-test.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-mips.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-npot-video.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-npot.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-size-cube-maps.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-size.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/textures/texture-transparent-pixels-initialized.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/typedarrays/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-crash.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-view-crash.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/typedarrays/array-unit-tests.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/00_test_list.txt delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-arrays.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-bool.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniformmatrix4fv.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/gl-unknown-uniform.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/null-uniform-location.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-location.html delete mode 100644 dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-samplers-test.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/50x50pixel-black-with-red-triangle.png delete mode 100644 dom/canvas/test/webgl-conformance/extra/big-fbos-example.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.png delete mode 100644 dom/canvas/test/webgl-conformance/extra/fbo-lost-context.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/lots-of-polys-example.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/offscreen-issue.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/out-of-bounds-uniform-array-access.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/out-of-memory.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/out-of-resources.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/out-of-vram.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/simulated-attrib-0-bug-test.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/slow-shader-example.html delete mode 100644 dom/canvas/test/webgl-conformance/extra/webgl-info.html delete mode 100644 dom/canvas/test/webgl-conformance/misc/program-test-1.html delete mode 100644 dom/canvas/test/webgl-conformance/resources/cors-util.js delete mode 100644 dom/canvas/test/webgl-conformance/resources/desktop-gl-constants.js delete mode 100644 dom/canvas/test/webgl-conformance/resources/js-test-pre.js delete mode 100644 dom/canvas/test/webgl-conformance/resources/js-test-style.css delete mode 100644 dom/canvas/test/webgl-conformance/resources/opengl_logo.jpg delete mode 100644 dom/canvas/test/webgl-conformance/resources/thunderbird-logo-64x64.png delete mode 100644 dom/canvas/test/webgl-conformance/resources/webgl-logo.png delete mode 100644 dom/canvas/test/webgl-conformance/resources/webgl-test-harness.js delete mode 100644 dom/canvas/test/webgl-conformance/webgl-conformance-tests.html diff --git a/dom/canvas/test/_webgl-conformance.ini b/dom/canvas/test/_webgl-conformance.ini deleted file mode 100644 index 047c3748b3ec..000000000000 --- a/dom/canvas/test/_webgl-conformance.ini +++ /dev/null @@ -1,847 +0,0 @@ -# This is a GENERATED FILE. Do not edit it directly. -# Regenerated it by using `python generate-wrappers-and-manifest.py`. -# Mark skipped tests in mochitest-errata.ini. -# Mark failing tests in mochi-single.html. - -[DEFAULT] -subsuite = webgl -skip-if = os == 'b2g' || ((os == 'linux') && (buildapp == 'b2g')) || ((os == 'linux') && (buildapp == 'mulet')) - -support-files = webgl-conformance/../webgl-mochitest/driver-info.js - 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/iframe-autoresize.js - webgl-conformance/mochi-single.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] -skip-if = os == 'android' -[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] -skip-if = os == 'mac' -[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] -skip-if = (os == 'linux') -[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] -skip-if = (os == 'linux') -[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] -skip-if = (os == 'linux') -[webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html] -skip-if = (os == 'android') || (os == 'win') -[webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html] -skip-if = os == 'android' -[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') || (os == 'linux') -[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] diff --git a/dom/canvas/test/webgl-conformance/00_test_list.txt b/dom/canvas/test/webgl-conformance/00_test_list.txt deleted file mode 100644 index 0dfec1244325..000000000000 --- a/dom/canvas/test/webgl-conformance/00_test_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -// files that end in .txt list other tests -// other lines are assumed to be .html files - -always-fail.html - -conformance/00_test_list.txt -conformance/more/00_test_list.txt - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_always-fail.html b/dom/canvas/test/webgl-conformance/_wrappers/test_always-fail.html deleted file mode 100644 index 076a2d7e5339..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_always-fail.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html deleted file mode 100644 index a59bfbf3f5c1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-enable-vertex-attrib.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html deleted file mode 100644 index 3fdb7c913357..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib-zero-issues.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib.html deleted file mode 100644 index b583bb6dc2a8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertex-attrib.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html deleted file mode 100644 index 470104d94db9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer-offsets.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer.html deleted file mode 100644 index eb4a23c01531..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__attribs__gl-vertexattribpointer.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-bind-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-bind-test.html deleted file mode 100644 index 60217a4632c3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-bind-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-data-array-buffer.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-data-array-buffer.html deleted file mode 100644 index ec67ac38dad9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__buffer-data-array-buffer.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-copies-indices.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-copies-indices.html deleted file mode 100644 index 7e90930a5048..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-copies-indices.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html deleted file mode 100644 index e3221ecdea12..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-crash-with-buffer-sub-data.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html deleted file mode 100644 index 4e0ce6d57905..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-verifies-too-many-indices.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html deleted file mode 100644 index 7379cd210912..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html deleted file mode 100644 index 7fb1ef7c47d6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html deleted file mode 100644 index 9bedd2db3f5b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html deleted file mode 100644 index 2814d664acb6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html deleted file mode 100644 index c974d0bdbfba..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html deleted file mode 100644 index 9e4a9cf51db1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html deleted file mode 100644 index b16adce54ee1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-test.html deleted file mode 100644 index a0ca94d30784..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__drawingbuffer-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html deleted file mode 100644 index 100123d7d3a8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__canvas__viewport-unchanged-upon-resize.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__constants.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__constants.html deleted file mode 100644 index 6c6d7b18901b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__constants.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html deleted file mode 100644 index 7af81514ead5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost-restored.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost-restored.html deleted file mode 100644 index b6237e81d633..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost-restored.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost.html deleted file mode 100644 index ea2b78621712..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-lost.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-type-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-type-test.html deleted file mode 100644 index b93cde18a8d8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__context-type-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__incorrect-context-object-behaviour.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__incorrect-context-object-behaviour.html deleted file mode 100644 index 24fab8c9f605..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__incorrect-context-object-behaviour.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__methods.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__methods.html deleted file mode 100644 index b51feedda29a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__methods.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__premultiplyalpha-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__premultiplyalpha-test.html deleted file mode 100644 index f148e6a95381..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__premultiplyalpha-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__resource-sharing-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__resource-sharing-test.html deleted file mode 100644 index 89ab692a7a83..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__context__resource-sharing-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-sRGB.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-sRGB.html deleted file mode 100644 index f42bbaed69e2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-sRGB.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-shader-texture-lod.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-shader-texture-lod.html deleted file mode 100644 index ab8c713af158..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-shader-texture-lod.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html deleted file mode 100644 index 85c33652cc3d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html deleted file mode 100644 index ee2cbff3181c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html deleted file mode 100644 index 1ca0d4d5ac7f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html deleted file mode 100644 index 59baf9337683..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html deleted file mode 100644 index 65586c4dfa4b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-etc1.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html deleted file mode 100644 index 2178592c2396..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-compressed-texture-s3tc.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html deleted file mode 100644 index 0362dd4a0e7f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html deleted file mode 100644 index 4a2be525c867..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-abs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-abs.html deleted file mode 100644 index 7ba3df4e5d69..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-abs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-acos.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-acos.html deleted file mode 100644 index 3dbec0dbe4aa..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-acos.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-asin.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-asin.html deleted file mode 100644 index 0629b8594f67..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-asin.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html deleted file mode 100644 index 74081eecdce4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan-xy.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan.html deleted file mode 100644 index 604e3915e394..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-atan.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html deleted file mode 100644 index 5d73170e6acb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-ceil.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html deleted file mode 100644 index 1cacf5f8826f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html deleted file mode 100644 index 4db191b8f0f6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-clamp-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cos.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cos.html deleted file mode 100644 index 4cc67511a17b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cos.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cross.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cross.html deleted file mode 100644 index 20138de4a522..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-cross.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-distance.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-distance.html deleted file mode 100644 index 6024809df25f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-distance.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-dot.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-dot.html deleted file mode 100644 index 93ad8e1d43b2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-dot.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html deleted file mode 100644 index aa4302abaf1d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-faceforward.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-floor.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-floor.html deleted file mode 100644 index e9f52311db5b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-floor.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-fract.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-fract.html deleted file mode 100644 index bfbc9ededaed..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-fract.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-length.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-length.html deleted file mode 100644 index 231e2f2c8316..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-length.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html deleted file mode 100644 index 329a06b78ede..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html deleted file mode 100644 index 2d6f99a3a738..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-max-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html deleted file mode 100644 index d0115e38e444..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html deleted file mode 100644 index bb9b7000d236..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-min-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html deleted file mode 100644 index 5b13e1bee658..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html deleted file mode 100644 index 0851ed87134d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mix-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html deleted file mode 100644 index 1afce6ff420a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html deleted file mode 100644 index 195103ba7cbb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-mod-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html deleted file mode 100644 index 02fd913a1fb9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-normalize.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html deleted file mode 100644 index ed202882271b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-reflect.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sign.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sign.html deleted file mode 100644 index 9cba76ad646a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sign.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sin.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sin.html deleted file mode 100644 index 8380f76404fa..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-sin.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html deleted file mode 100644 index ee89d95601b0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html deleted file mode 100644 index 477149bc3c7e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-smoothstep-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html deleted file mode 100644 index f3497c725a22..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-float.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html deleted file mode 100644 index fa17bac009eb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function-step-gentype.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function.html deleted file mode 100644 index 141358eec786..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__functions__glsl-function.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html deleted file mode 100644 index 7fb8a0ffa56c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html deleted file mode 100644 index b8f8f4d9066e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html deleted file mode 100644 index db7cf9112706..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html deleted file mode 100644 index 680e1e8c510e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_mat4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html deleted file mode 100644 index 1e8570c89529..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html deleted file mode 100644 index 8758bf3d7fc0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html deleted file mode 100644 index 39d01d56ac9a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_int_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html deleted file mode 100644 index 1f2bba6d4dc2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html deleted file mode 100644 index 87b29443cfb7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html deleted file mode 100644 index d71b38f64a3a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__add_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html deleted file mode 100644 index 491c9d5df080..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_int_to_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html deleted file mode 100644 index 78fa93264430..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec2_to_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html deleted file mode 100644 index 6802ce72c81d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec3_to_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html deleted file mode 100644 index 5059d6934e80..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__assign_ivec4_to_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html deleted file mode 100644 index d90dba347b63..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__construct_struct.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html deleted file mode 100644 index e2eb61d20f15..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html deleted file mode 100644 index 9046adfb4db1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html deleted file mode 100644 index 353e97e28285..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html deleted file mode 100644 index 57a33ac58561..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_mat4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html deleted file mode 100644 index c0b7c917cda2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html deleted file mode 100644 index 59aea77be2d7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html deleted file mode 100644 index 19931a514fce..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_int_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html deleted file mode 100644 index c6becf2b05f6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html deleted file mode 100644 index 3afd06d023f2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html deleted file mode 100644 index de0d406146ec..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__divide_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html deleted file mode 100644 index c2c7d5c48093..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html deleted file mode 100644 index f95faf23680c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html deleted file mode 100644 index a8ed25ba151d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html deleted file mode 100644 index 6c5d9080eebb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__equal_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html deleted file mode 100644 index cd5cc03b7d1b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html deleted file mode 100644 index dabd581c0dab..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html deleted file mode 100644 index 115203e78e3a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html deleted file mode 100644 index 9b5587831b76..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__function_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than.vert.html deleted file mode 100644 index c8cbeed6c825..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html deleted file mode 100644 index 6ca73c09522c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__greater_than_equal.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than.vert.html deleted file mode 100644 index 5cb4a4617822..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html deleted file mode 100644 index fa910afcdfcf..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__less_than_equal.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html deleted file mode 100644 index cf086f3b6adf..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html deleted file mode 100644 index 9b6ef427ec32..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html deleted file mode 100644 index 73d06e8ea319..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html deleted file mode 100644 index fbff78274106..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_mat4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html deleted file mode 100644 index 5c4cbb405213..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html deleted file mode 100644 index fcb0e7d9eae0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html deleted file mode 100644 index e292cd06e87e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_int_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html deleted file mode 100644 index 5d8b69e72e8d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html deleted file mode 100644 index eec3834338b2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html deleted file mode 100644 index 0fdbcfbca569..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__multiply_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html deleted file mode 100644 index 3f5f9e84148d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html deleted file mode 100644 index 59c6ad0eabe5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html deleted file mode 100644 index 47cf0ef2e6a7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html deleted file mode 100644 index d5c04f4abcbe..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__not_equal_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html deleted file mode 100644 index c074aa12cbc8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html deleted file mode 100644 index 836cbb4b658e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html deleted file mode 100644 index 387eed0f7433..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html deleted file mode 100644 index c532aca8c452..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_mat4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html deleted file mode 100644 index ae0152be5fa5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html deleted file mode 100644 index c74bb889c40c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html deleted file mode 100644 index 00cd5f3e00b5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_int_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html deleted file mode 100644 index 0cc88e3292a6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html deleted file mode 100644 index 91b157d9b70d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html deleted file mode 100644 index 1d35620400d0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__subtract_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html deleted file mode 100644 index f099410cafa9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_int_float.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html deleted file mode 100644 index 19365e91d50f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec2_vec2.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html deleted file mode 100644 index 380ba6458b30..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec3_vec3.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html deleted file mode 100644 index 65455aaa918b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__implicit__ternary_ivec4_vec4.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html deleted file mode 100644 index 97bc42aa24c4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__attrib-location-length-limits.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html deleted file mode 100644 index 02681f9d4ac5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__embedded-struct-definitions-forbidden.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html deleted file mode 100644 index 6c78d52ce520..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-function-nodes.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html deleted file mode 100644 index 796814534fa9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__glsl-long-variable-names.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html deleted file mode 100644 index 50ae2c7056ff..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii-comments.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii.vert.html deleted file mode 100644 index 6f8b9bba7df5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__non-ascii.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html deleted file mode 100644 index 52913b543422..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-256-character-identifier.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html deleted file mode 100644 index e9042d91162b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-257-character-identifier.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html deleted file mode 100644 index cfc555a3bed3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-_webgl-identifier.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html deleted file mode 100644 index 10522011e305..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html deleted file mode 100644 index 7ef068826573..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-arbitrary-indexing.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html deleted file mode 100644 index 83f261967cc2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-array.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html deleted file mode 100644 index 897355296468..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-attrib-struct.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html deleted file mode 100644 index d207ac55c536..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-clipvertex.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html deleted file mode 100644 index 0883be6a0b4b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html deleted file mode 100644 index e47cfc568779..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-default-precision.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html deleted file mode 100644 index 7d8c66dab357..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-define-line-continuation.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html deleted file mode 100644 index 1a9a190da4e1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx-no-ext.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html deleted file mode 100644 index 9ec0a1c28492..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-dfdx.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html deleted file mode 100644 index a7ad5b3c2c07..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-error-directive.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html deleted file mode 100644 index 84768e9d0c3e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-explicit-int-cast.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html deleted file mode 100644 index cdc4ff2ac0e6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-float-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html deleted file mode 100644 index 4ee89b1d780e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-frag-depth.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html deleted file mode 100644 index 18c3c46d67f7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-function-recursion.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html deleted file mode 100644 index 9b51ccc0749f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glcolor.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html deleted file mode 100644 index 8f5c0723d4b9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-1.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html deleted file mode 100644 index 01f3481d5079..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-gles-symbol.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html deleted file mode 100644 index 6d1d0e7d1042..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-glprojectionmatrix.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html deleted file mode 100644 index 87f304a35798..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-implicit-vec3-to-vec4-cast.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html deleted file mode 100644 index e296fc12f1c3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-include.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html deleted file mode 100644 index f4e7f16ed00f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-int-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html deleted file mode 100644 index 436bb9880aa4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-invalid-identifier.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html deleted file mode 100644 index b81fc34580a9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec2-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html deleted file mode 100644 index 3f2ae5941513..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec3-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html deleted file mode 100644 index 9e4b85397615..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-ivec4-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html deleted file mode 100644 index 561eab95dc05..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-limited-indexing.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-long-line.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-long-line.html deleted file mode 100644 index 5b220f9f6c36..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-long-line.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html deleted file mode 100644 index 79d6346ec9de..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-non-ascii-error.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html deleted file mode 100644 index 76cddf63fd7f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-precision.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html deleted file mode 100644 index 3859f24c1959..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-quoted-error.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html deleted file mode 100644 index 023c772296cd..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-undefined-preprocessor-symbol.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html deleted file mode 100644 index 1a4eea59e4c0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-uniform-in-loop-condition.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html deleted file mode 100644 index 49bb3f9e7934..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec2-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html deleted file mode 100644 index efa7b1cd5840..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec3-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html deleted file mode 100644 index 21f310c51efb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-vec4-return-value.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html deleted file mode 100644 index 84d889078a0e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html deleted file mode 100644 index 24ab4a935aae..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-100.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html deleted file mode 100644 index b1ac6323247d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-120.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html deleted file mode 100644 index c4fff462e89b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-version-130.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html deleted file mode 100644 index efb54d72fe89..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-with-webgl-identifier.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html deleted file mode 100644 index 10ccd3f416c0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shader-without-precision.frag.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shared.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shared.html deleted file mode 100644 index 0a5a54f4f93f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__shared.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html deleted file mode 100644 index b842c872d07e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-exceeds-maximum.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html deleted file mode 100644 index 865dd3e59d57..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__struct-nesting-under-maximum.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html deleted file mode 100644 index 0d288cd5b432..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__misc__uniform-location-length-limits.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html deleted file mode 100644 index aff5d4a7051c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_field.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html deleted file mode 100644 index fda37f1cfe16..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_function.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html deleted file mode 100644 index c479f5aecde7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_struct.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html deleted file mode 100644 index 1d1c67b5fb64..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved___webgl_variable.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html deleted file mode 100644 index 44379b18da08..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_field.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html deleted file mode 100644 index 2b2b7ac8d4bb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_function.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html deleted file mode 100644 index 0992a580c3a6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_struct.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html deleted file mode 100644 index 0806461afdea..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__reserved__webgl_variable.vert.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-fragcoord.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-fragcoord.html deleted file mode 100644 index 6051b5bac336..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-fragcoord.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-frontfacing.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-frontfacing.html deleted file mode 100644 index 17499574524e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-frontfacing.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-pointcoord.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-pointcoord.html deleted file mode 100644 index 8c59081a72b3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__glsl__variables__gl-pointcoord.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-max-texture-dimensions.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-max-texture-dimensions.html deleted file mode 100644 index 1adbe90b4a4d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-max-texture-dimensions.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-attribs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-attribs.html deleted file mode 100644 index db1bc29beff7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-attribs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-textures.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-textures.html deleted file mode 100644 index 7d9a5a8b07d8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-textures.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-uniforms.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-uniforms.html deleted file mode 100644 index 4fd863d3b5e7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__limits__gl-min-uniforms.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__bad-arguments-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__bad-arguments-test.html deleted file mode 100644 index b303e88e697b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__bad-arguments-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__error-reporting.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__error-reporting.html deleted file mode 100644 index 857fba186c0b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__error-reporting.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__functions-returning-strings.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__functions-returning-strings.html deleted file mode 100644 index d903b726428f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__functions-returning-strings.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__instanceof-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__instanceof-test.html deleted file mode 100644 index f0be78d3801b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__instanceof-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__invalid-passed-params.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__invalid-passed-params.html deleted file mode 100644 index fd373f581820..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__invalid-passed-params.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__is-object.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__is-object.html deleted file mode 100644 index fa11aeebad23..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__is-object.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__null-object-behaviour.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__null-object-behaviour.html deleted file mode 100644 index 09a674ff702d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__null-object-behaviour.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__object-deletion-behaviour.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__object-deletion-behaviour.html deleted file mode 100644 index 45fb13a0f1c9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__object-deletion-behaviour.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__shader-precision-format.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__shader-precision-format.html deleted file mode 100644 index 56025326bece..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__shader-precision-format.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__type-conversion-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__type-conversion-test.html deleted file mode 100644 index 9d360ff46fd7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__type-conversion-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__uninitialized-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__uninitialized-test.html deleted file mode 100644 index 732773ad8198..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__uninitialized-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__webgl-specific.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__webgl-specific.html deleted file mode 100644 index 9dd097cb3620..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__misc__webgl-specific.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__constants.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__constants.html deleted file mode 100644 index 41afd67e8679..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__constants.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__getContext.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__getContext.html deleted file mode 100644 index 81370a84eab5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__getContext.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__methods.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__methods.html deleted file mode 100644 index 7f109c24295b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__methods.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html deleted file mode 100644 index b6d43d5b2da6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-A.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html deleted file mode 100644 index 0f3f9cc9ebdc..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B1.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html deleted file mode 100644 index eb0137524ef1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B2.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html deleted file mode 100644 index 4408055abb8e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B3.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html deleted file mode 100644 index 4aad38a6d695..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-B4.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html deleted file mode 100644 index a3a995b13b22..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-C.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html deleted file mode 100644 index 4fb40aea1aa0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-D_G.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html deleted file mode 100644 index 3abed18a8c14..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-G_I.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html deleted file mode 100644 index 5daa3c358159..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-L_S.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html deleted file mode 100644 index f369f445309a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__quickCheckAPI-S_V.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__webGLArrays.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__webGLArrays.html deleted file mode 100644 index 7d4da5595ae9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__conformance__webGLArrays.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBuffer.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBuffer.html deleted file mode 100644 index 1bcc3e507635..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBuffer.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBufferBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBufferBadArgs.html deleted file mode 100644 index e385598cef83..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindBufferBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html deleted file mode 100644 index 3abe272febf3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bindFramebufferLeaveNonZero.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferData.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferData.html deleted file mode 100644 index c421fa6252a9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferData.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferDataBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferDataBadArgs.html deleted file mode 100644 index dbcded696c2a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferDataBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubData.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubData.html deleted file mode 100644 index a65ca838e662..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubData.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html deleted file mode 100644 index c808242030d6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__bufferSubDataBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2D.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2D.html deleted file mode 100644 index e6c13955969c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2D.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html deleted file mode 100644 index 9d1d61c58ca7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexImage2DBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2D.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2D.html deleted file mode 100644 index 03a9ec16fbe4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2D.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html deleted file mode 100644 index e036af72afac..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__copyTexSubImage2DBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html deleted file mode 100644 index 4bbfa1f13bb6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__deleteBufferBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArrays.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArrays.html deleted file mode 100644 index ad4da94a4ef1..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArrays.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html deleted file mode 100644 index 402ceadde450..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawArraysOutOfBounds.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElements.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElements.html deleted file mode 100644 index f642d015eedd..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElements.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElementsBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElementsBadArgs.html deleted file mode 100644 index 81e82c42b51b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__drawElementsBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__isTests.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__isTests.html deleted file mode 100644 index 37ec4abd501b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__isTests.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixels.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixels.html deleted file mode 100644 index 2b38ef3c4e8a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixels.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixelsBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixelsBadArgs.html deleted file mode 100644 index 95207cd16bcc..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__readPixelsBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2D.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2D.html deleted file mode 100644 index 0a32b6fac71a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2D.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DBadArgs.html deleted file mode 100644 index ee67d281070c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTML.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTML.html deleted file mode 100644 index d053e6f9c506..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTML.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html deleted file mode 100644 index ac7845a648ed..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texImage2DHTMLBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2D.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2D.html deleted file mode 100644 index 04268ef2135c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2D.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html deleted file mode 100644 index 0c63ef7b53f9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTML.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTML.html deleted file mode 100644 index fe89d516c2bb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTML.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html deleted file mode 100644 index 5b25fb14d92c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__texSubImage2DHTMLBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrix.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrix.html deleted file mode 100644 index 898eb17030e2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrix.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html deleted file mode 100644 index b3e1375d659c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformMatrixBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformf.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformf.html deleted file mode 100644 index 2e53484100f4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformf.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfArrayLen1.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfArrayLen1.html deleted file mode 100644 index 61d30304a84a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfArrayLen1.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfBadArgs.html deleted file mode 100644 index 1fb044b93097..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformfBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformi.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformi.html deleted file mode 100644 index 824d044c91ac..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformi.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformiBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformiBadArgs.html deleted file mode 100644 index 111e17d46e9d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__uniformiBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttrib.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttrib.html deleted file mode 100644 index cdd1d9465e7a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttrib.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html deleted file mode 100644 index eea3272c440a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointer.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointer.html deleted file mode 100644 index a6000b3ebdde..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointer.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html deleted file mode 100644 index f337284f50a3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__functions__vertexAttribPointerBadArgs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html deleted file mode 100644 index 2311d6d56808..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__arrayOutOfBounds.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html deleted file mode 100644 index f95696e3b1e3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__more__glsl__uniformOutOfBounds.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__get-active-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__get-active-test.html deleted file mode 100644 index 5ce8aa5b77f3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__get-active-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html deleted file mode 100644 index 222cad505504..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-bind-attrib-location-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-attribute.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-attribute.html deleted file mode 100644 index d9294b44a199..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-attribute.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-uniform.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-uniform.html deleted file mode 100644 index 9349fc894ede..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-get-active-uniform.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-getshadersource.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-getshadersource.html deleted file mode 100644 index 3ebee416bfd0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-getshadersource.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-shader-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-shader-test.html deleted file mode 100644 index d0e2153c89f4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__gl-shader-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__invalid-UTF-16.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__invalid-UTF-16.html deleted file mode 100644 index ed72fda211e9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__invalid-UTF-16.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__program-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__program-test.html deleted file mode 100644 index 1d8ccf972cc5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__programs__program-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-pack-alignment.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-pack-alignment.html deleted file mode 100644 index 8b950b0918c4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-pack-alignment.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-test.html deleted file mode 100644 index 3f8ef1cf0eed..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__reading__read-pixels-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html deleted file mode 100644 index d40cef16395c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-object-attachment.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-test.html deleted file mode 100644 index 110752d6e2ae..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__framebuffer-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html deleted file mode 100644 index 6f42a202034f..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__renderbuffers__renderbuffer-initialization.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html deleted file mode 100644 index 10a6b381e961..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-arrays-out-of-bounds.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html deleted file mode 100644 index be56a039c99a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__draw-elements-out-of-bounds.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-clear.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-clear.html deleted file mode 100644 index 9b735f19b74a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-clear.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-drawelements.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-drawelements.html deleted file mode 100644 index e8af62c99b59..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-drawelements.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-scissor-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-scissor-test.html deleted file mode 100644 index 7e5d2469e06c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__gl-scissor-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__line-loop-tri-fan.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__line-loop-tri-fan.html deleted file mode 100644 index 2d00183e930e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__line-loop-tri-fan.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__more-than-65536-indices.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__more-than-65536-indices.html deleted file mode 100644 index 1302bddd0780..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__more-than-65536-indices.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__point-size.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__point-size.html deleted file mode 100644 index e8d01b4ea0f7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__point-size.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__triangle.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__triangle.html deleted file mode 100644 index 367eabaa766d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__rendering__triangle.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enable-enum-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enable-enum-test.html deleted file mode 100644 index 3fe089ee439c..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enable-enum-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enum-tests.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enum-tests.html deleted file mode 100644 index 6c1c7bc5a47b..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-enum-tests.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-get-calls.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-get-calls.html deleted file mode 100644 index 463748cd06e7..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-get-calls.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-geterror.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-geterror.html deleted file mode 100644 index 68bbbbc04bdb..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-geterror.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-getstring.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-getstring.html deleted file mode 100644 index 8c9640f474f4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-getstring.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-object-get-calls.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-object-get-calls.html deleted file mode 100644 index 486c4c69e096..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__state__gl-object-get-calls.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__compressed-tex-image.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__compressed-tex-image.html deleted file mode 100644 index 7dc93c9618be..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__compressed-tex-image.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html deleted file mode 100644 index f651604be0c5..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__copy-tex-image-and-sub-image-2d.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-pixelstorei.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-pixelstorei.html deleted file mode 100644 index e83b72b67f77..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-pixelstorei.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-teximage.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-teximage.html deleted file mode 100644 index b835f6a4ee1e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__gl-teximage.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__origin-clean-conformance.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__origin-clean-conformance.html deleted file mode 100644 index 2ca27860df9e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__origin-clean-conformance.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html deleted file mode 100644 index 2b4dd26eef35..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-array-buffer-view.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html deleted file mode 100644 index e6f8603586f8..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-canvas.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html deleted file mode 100644 index 6916c221f4ab..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image-data.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html deleted file mode 100644 index 80c7b1439afe..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-image.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html deleted file mode 100644 index ade5542fd894..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-sub-image-2d-with-video.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html deleted file mode 100644 index ce8c5471c63d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-and-uniform-binding-bugs.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-format-and-type.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-format-and-type.html deleted file mode 100644 index 843f993d4e5a..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-format-and-type.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-invalid-data.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-invalid-data.html deleted file mode 100644 index c85881c8ae83..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-image-with-invalid-data.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-input-validation.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-input-validation.html deleted file mode 100644 index 71861b40a6fc..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-input-validation.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html deleted file mode 100644 index 926d89aa2e16..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d-bad-args.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d.html deleted file mode 100644 index b52c406ac3ee..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__tex-sub-image-2d.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texparameter-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texparameter-test.html deleted file mode 100644 index 03b572bb7273..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texparameter-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind-2.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind-2.html deleted file mode 100644 index 7a2b71dcc046..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind-2.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind.html deleted file mode 100644 index f3f0dee2e0bf..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-active-bind.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-complete.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-complete.html deleted file mode 100644 index eee4f820c263..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-complete.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html deleted file mode 100644 index 9999795cd00d..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html deleted file mode 100644 index 9f797b56f726..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html deleted file mode 100644 index 3e3733677aa0..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html deleted file mode 100644 index c8aa41bd4ffa..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size-cube-maps.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size-cube-maps.html deleted file mode 100644 index b4ba9d4c2cf6..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size-cube-maps.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size.html deleted file mode 100644 index 8145f8c36acf..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-size.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html deleted file mode 100644 index 1279978518d3..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__textures__texture-transparent-pixels-initialized.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-crash.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-crash.html deleted file mode 100644 index b8be2dc56641..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-crash.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html deleted file mode 100644 index 18cfd8ddbc30..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-buffer-view-crash.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-unit-tests.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-unit-tests.html deleted file mode 100644 index 5d3ba5649d89..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__typedarrays__array-unit-tests.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-arrays.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-arrays.html deleted file mode 100644 index 8c711d0759b9..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-arrays.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-bool.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-bool.html deleted file mode 100644 index 085dca72925e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniform-bool.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html deleted file mode 100644 index 66b23edccd34..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-uniformmatrix4fv.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-unknown-uniform.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-unknown-uniform.html deleted file mode 100644 index b8ee490a09bc..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__gl-unknown-uniform.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__null-uniform-location.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__null-uniform-location.html deleted file mode 100644 index b00786c7811e..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__null-uniform-location.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-location.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-location.html deleted file mode 100644 index 84411e0e1ab4..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-location.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-samplers-test.html b/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-samplers-test.html deleted file mode 100644 index c4be550da7a2..000000000000 --- a/dom/canvas/test/webgl-conformance/_wrappers/test_conformance__uniforms__uniform-samplers-test.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - Mochitest wrapper for WebGL Conformance Test Suite tests - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/00_readme.txt b/dom/canvas/test/webgl-conformance/conformance/00_readme.txt deleted file mode 100644 index a04eaa37b331..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/00_readme.txt +++ /dev/null @@ -1,13 +0,0 @@ -This file "00_test_list.txt" lists which files the test harness should run. - -If you add new tests you can update it with - -on windows - - dir /b *.html >00_test_list.txt - -on OSX / Linux - - ls -1 *.html >00_test_list.txt - - diff --git a/dom/canvas/test/webgl-conformance/conformance/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/00_test_list.txt deleted file mode 100644 index f9746e84cf7a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/00_test_list.txt +++ /dev/null @@ -1,17 +0,0 @@ -attribs/00_test_list.txt -buffers/00_test_list.txt -canvas/00_test_list.txt -context/00_test_list.txt -extensions/00_test_list.txt -glsl/00_test_list.txt -limits/00_test_list.txt -misc/00_test_list.txt -programs/00_test_list.txt -reading/00_test_list.txt -renderbuffers/00_test_list.txt -rendering/00_test_list.txt -state/00_test_list.txt -textures/00_test_list.txt -typedarrays/00_test_list.txt -uniforms/00_test_list.txt - diff --git a/dom/canvas/test/webgl-conformance/conformance/LICENSE_CHROMIUM b/dom/canvas/test/webgl-conformance/conformance/LICENSE_CHROMIUM deleted file mode 100644 index a5723d213093..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/LICENSE_CHROMIUM +++ /dev/null @@ -1,30 +0,0 @@ -// For files copyrighted by the Chromium Authors, the following -// license applies: - -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/attribs/00_test_list.txt deleted file mode 100644 index 21912f32ba3d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/00_test_list.txt +++ /dev/null @@ -1,6 +0,0 @@ -gl-enable-vertex-attrib.html -gl-vertex-attrib-zero-issues.html -gl-vertex-attrib.html -gl-vertexattribpointer-offsets.html -gl-vertexattribpointer.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-enable-vertex-attrib.html b/dom/canvas/test/webgl-conformance/conformance/attribs/gl-enable-vertex-attrib.html deleted file mode 100644 index 89d7acb84b0f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-enable-vertex-attrib.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - WebGL Enable Vertex Attrib Test - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib-zero-issues.html b/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib-zero-issues.html deleted file mode 100644 index c1b54d691c55..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib-zero-issues.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -WebGL Enable Vertex Attrib Zero Test - - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib.html b/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib.html deleted file mode 100644 index 64ff49bdcf89..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -WebGL vertexAttrib Conformance Tests - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer-offsets.html b/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer-offsets.html deleted file mode 100644 index 641995a8c3bf..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer-offsets.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - vertexattribpointer offsets test - - - - - - - -There is supposed to be an example drawing here, but it's not important. - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer.html b/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer.html deleted file mode 100644 index fc7da6db75b3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/attribs/gl-vertexattribpointer.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -WebGL vertexAttribPointer Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/buffers/00_test_list.txt deleted file mode 100644 index 9a320eef5694..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/00_test_list.txt +++ /dev/null @@ -1,7 +0,0 @@ -buffer-bind-test.html -buffer-data-array-buffer.html -index-validation-copies-indices.html -index-validation-crash-with-buffer-sub-data.html -index-validation-verifies-too-many-indices.html -index-validation-with-resized-buffer.html -index-validation.html diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-bind-test.html b/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-bind-test.html deleted file mode 100644 index 85dbed7579a3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-bind-test.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - WebGL BindBuffer conformance test. - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-data-array-buffer.html b/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-data-array-buffer.html deleted file mode 100644 index 21522e048b7a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/buffer-data-array-buffer.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-copies-indices.html b/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-copies-indices.html deleted file mode 100644 index df11beb2edc1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-copies-indices.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-crash-with-buffer-sub-data.html b/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-crash-with-buffer-sub-data.html deleted file mode 100644 index 89fd92250c22..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-crash-with-buffer-sub-data.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-verifies-too-many-indices.html b/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-verifies-too-many-indices.html deleted file mode 100644 index 7989e47e7d90..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-verifies-too-many-indices.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-with-resized-buffer.html b/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-with-resized-buffer.html deleted file mode 100644 index 27fcf50e4e07..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation-with-resized-buffer.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation.html b/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation.html deleted file mode 100644 index f2097cb36613..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/buffers/index-validation.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/canvas/00_test_list.txt deleted file mode 100644 index a0f1d27cf533..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/00_test_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -buffer-offscreen-test.html -buffer-preserve-test.html -canvas-test.html -canvas-zero-size.html -drawingbuffer-static-canvas-test.html -drawingbuffer-test.html -viewport-unchanged-upon-resize.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-offscreen-test.html b/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-offscreen-test.html deleted file mode 100644 index 4a022e647dd1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-offscreen-test.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - -WebGL required buffer clear behaviour test - - - - - - - - -
- -
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-preserve-test.html b/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-preserve-test.html deleted file mode 100644 index 7bc23db31852..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/buffer-preserve-test.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - -WebGL required buffer clear behaviour test - - - - - - - - - - -
-
- - \ No newline at end of file diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-test.html b/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-test.html deleted file mode 100644 index 1370e89c62fc..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-test.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - -WebGL Canvas Conformance Tests - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-zero-size.html b/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-zero-size.html deleted file mode 100644 index 98b7f7db8481..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/canvas-zero-size.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - Zero Size Canvas Test - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-static-canvas-test.html b/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-static-canvas-test.html deleted file mode 100644 index 9b1acd88f511..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-static-canvas-test.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - -WebGL Canvas Conformance Tests - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-test.html b/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-test.html deleted file mode 100644 index 8f21dafa5da7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/drawingbuffer-test.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - -WebGL Canvas Conformance Tests - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/canvas/viewport-unchanged-upon-resize.html b/dom/canvas/test/webgl-conformance/conformance/canvas/viewport-unchanged-upon-resize.html deleted file mode 100644 index a6f6d189753e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/canvas/viewport-unchanged-upon-resize.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/context/00_test_list.txt deleted file mode 100644 index 4ad3e6c84edf..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/00_test_list.txt +++ /dev/null @@ -1,10 +0,0 @@ -constants.html -context-attributes-alpha-depth-stencil-antialias.html -context-lost-restored.html -context-lost.html -context-type-test.html -incorrect-context-object-behaviour.html -methods.html -premultiplyalpha-test.html -resource-sharing-test.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/constants.html b/dom/canvas/test/webgl-conformance/conformance/context/constants.html deleted file mode 100644 index 5a5c8b66deb6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/constants.html +++ /dev/null @@ -1,485 +0,0 @@ - - - - - -WebGL Constants Test - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/context-attribute-preserve-drawing-buffer.html b/dom/canvas/test/webgl-conformance/conformance/context/context-attribute-preserve-drawing-buffer.html deleted file mode 100644 index 19a26b6f23e1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/context-attribute-preserve-drawing-buffer.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - -
- - - - should look as right pattern -
-
-
-
-
- - - - should look as right pattern -
-
-
-
-
-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/context-attributes-alpha-depth-stencil-antialias.html b/dom/canvas/test/webgl-conformance/conformance/context/context-attributes-alpha-depth-stencil-antialias.html deleted file mode 100644 index 92ae4c8f49aa..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/context-attributes-alpha-depth-stencil-antialias.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/context-lost-restored.html b/dom/canvas/test/webgl-conformance/conformance/context/context-lost-restored.html deleted file mode 100644 index c50edd07a482..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/context-lost-restored.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/context-lost.html b/dom/canvas/test/webgl-conformance/conformance/context/context-lost.html deleted file mode 100644 index 0a52389f0ff4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/context-lost.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - - - - -
-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/context-type-test.html b/dom/canvas/test/webgl-conformance/conformance/context/context-type-test.html deleted file mode 100644 index 6eb7030a4f5b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/context-type-test.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -WebGL Canvas Conformance Tests - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/incorrect-context-object-behaviour.html b/dom/canvas/test/webgl-conformance/conformance/context/incorrect-context-object-behaviour.html deleted file mode 100644 index 8691f604a41c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/incorrect-context-object-behaviour.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/methods.html b/dom/canvas/test/webgl-conformance/conformance/context/methods.html deleted file mode 100644 index f4c37dcb3975..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/methods.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - -WebGL Methods Test - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/premultiplyalpha-test.html b/dom/canvas/test/webgl-conformance/conformance/context/premultiplyalpha-test.html deleted file mode 100644 index c67fc5be95d4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/premultiplyalpha-test.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - -Test the WebGL premultipledAlpha context creation flag. - - - - - - -
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/context/resource-sharing-test.html b/dom/canvas/test/webgl-conformance/conformance/context/resource-sharing-test.html deleted file mode 100644 index 24a18b62c152..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/context/resource-sharing-test.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - WebGL Resource Sharing. - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/extensions/00_test_list.txt deleted file mode 100644 index 0b2d6ee2888b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/00_test_list.txt +++ /dev/null @@ -1,11 +0,0 @@ -oes-standard-derivatives.html -ext-texture-filter-anisotropic.html -oes-texture-float.html -oes-vertex-array-object.html -webgl-debug-renderer-info.html -webgl-debug-shaders.html -webgl-compressed-texture-etc1.html -webgl-compressed-texture-s3tc.html ---min-version 1.0.2 webgl-depth-texture.html -ext-sRGB.html -ext-shader-texture-lod.html diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-sRGB.html b/dom/canvas/test/webgl-conformance/conformance/extensions/ext-sRGB.html deleted file mode 100644 index e5db221fff78..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-sRGB.html +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - - - - - -
-
- - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-shader-texture-lod.html b/dom/canvas/test/webgl-conformance/conformance/extensions/ext-shader-texture-lod.html deleted file mode 100644 index e53e35270314..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-shader-texture-lod.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - -WebGL EXT_shader_texture_lod Conformance Tests - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-texture-filter-anisotropic.html b/dom/canvas/test/webgl-conformance/conformance/extensions/ext-texture-filter-anisotropic.html deleted file mode 100644 index accc019c2453..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/ext-texture-filter-anisotropic.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -WebGL EXT_texture_filter_anisotropic Conformance Tests - - - - - - - -
- -
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-standard-derivatives.html b/dom/canvas/test/webgl-conformance/conformance/extensions/oes-standard-derivatives.html deleted file mode 100644 index d89f9e2a942c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-standard-derivatives.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - -WebGL OES_standard_derivatives Conformance Tests - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-texture-float.html b/dom/canvas/test/webgl-conformance/conformance/extensions/oes-texture-float.html deleted file mode 100644 index 890ab4375ba2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-texture-float.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - -WebGL OES_texture_float Conformance Tests - - - - - - - -
- -
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-vertex-array-object.html b/dom/canvas/test/webgl-conformance/conformance/extensions/oes-vertex-array-object.html deleted file mode 100644 index 3aca5200b5fd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/oes-vertex-array-object.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - -WebGL OES_vertex_array_object Conformance Tests - - - - - - - - - -
- -
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-etc1.html b/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-etc1.html deleted file mode 100644 index 7ad0b26d42aa..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-etc1.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - - - - -WebGL WEBGL_compressed_texture_etc1 Conformance Tests - - - -
- -
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-s3tc.html b/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-s3tc.html deleted file mode 100644 index bbdfeb6b5ad0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-compressed-texture-s3tc.html +++ /dev/null @@ -1,614 +0,0 @@ - - - - - - - - - -WebGL WEBGL_compressed_texture_s3tc Conformance Tests - - - -
- -
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-renderer-info.html b/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-renderer-info.html deleted file mode 100644 index ec8d87da62c2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-renderer-info.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - -WebGL WebGL_debug_renderer_info Conformance Tests - - - - - - - -
- -
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-shaders.html b/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-shaders.html deleted file mode 100644 index 69340681cfad..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-debug-shaders.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -WebGL WebGL_debug_shaders Conformance Tests - - - - - - - -
- -
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-depth-texture.html b/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-depth-texture.html deleted file mode 100644 index 5d964f6a77e0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/extensions/webgl-depth-texture.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - -WebGL WEBGL_depth_texture Conformance Tests - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/00_test_list.txt deleted file mode 100644 index 9686a78032f4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/00_test_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -functions/00_test_list.txt -implicit/00_test_list.txt ---min-version 1.0.2 matrices/00_test_list.txt -misc/00_test_list.txt -reserved/00_test_list.txt ---min-version 1.0.2 samplers/00_test_list.txt -variables/00_test_list.txt - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/00_test_list.txt deleted file mode 100644 index dd06ea05206d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/00_test_list.txt +++ /dev/null @@ -1,36 +0,0 @@ -glsl-function.html -glsl-function-abs.html -glsl-function-acos.html -glsl-function-asin.html -glsl-function-atan.html -glsl-function-atan-xy.html -glsl-function-ceil.html -glsl-function-clamp-float.html -glsl-function-clamp-gentype.html -glsl-function-cos.html -glsl-function-cross.html -glsl-function-distance.html -glsl-function-dot.html -glsl-function-faceforward.html -glsl-function-floor.html -glsl-function-fract.html -glsl-function-length.html -#glsl-function-lessThan.html -glsl-function-max-float.html -glsl-function-max-gentype.html -glsl-function-min-float.html -glsl-function-min-gentype.html -glsl-function-mix-float.html -glsl-function-mix-gentype.html -glsl-function-mod-float.html -glsl-function-mod-gentype.html -glsl-function-normalize.html -glsl-function-reflect.html -#glsl-function-refract.html -glsl-function-sign.html -glsl-function-sin.html -glsl-function-step-float.html -glsl-function-step-gentype.html -glsl-function-smoothstep-float.html -glsl-function-smoothstep-gentype.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-abs.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-abs.html deleted file mode 100644 index 769a5ca785e2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-abs.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - GLSL abs function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-acos.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-acos.html deleted file mode 100644 index 5deaf3670ce5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-acos.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - GLSL acos function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-asin.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-asin.html deleted file mode 100644 index 8713b298cd60..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-asin.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - GLSL asin function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan-xy.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan-xy.html deleted file mode 100644 index e3fd62ee3100..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan-xy.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - GLSL atan-xy function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan.html deleted file mode 100644 index 574f95982380..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-atan.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - GLSL atan function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-ceil.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-ceil.html deleted file mode 100644 index b99ad5723d46..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-ceil.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - GLSL ceil function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-float.html deleted file mode 100644 index e32b6f2b46d4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-float.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - GLSL clamp-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-gentype.html deleted file mode 100644 index 55ebc55c3f7f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-clamp-gentype.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - GLSL clamp-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cos.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cos.html deleted file mode 100644 index 39e6185a1897..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cos.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - GLSL cos function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cross.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cross.html deleted file mode 100644 index c4d5b2116187..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-cross.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - GLSL cross function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-distance.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-distance.html deleted file mode 100644 index 984bb681518c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-distance.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - GLSL distance function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-dot.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-dot.html deleted file mode 100644 index fe6b4b339714..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-dot.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - GLSL dot function test - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-faceforward.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-faceforward.html deleted file mode 100644 index 16b62687c713..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-faceforward.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - GLSL faceforward function test - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-floor.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-floor.html deleted file mode 100644 index d5eb2d52fac9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-floor.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL floor function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-fract.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-fract.html deleted file mode 100644 index 39d183a5d79f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-fract.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - GLSL fract function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-length.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-length.html deleted file mode 100644 index efa50a1bf049..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-length.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - GLSL length function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-lessThan.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-lessThan.html deleted file mode 100644 index e67e94cf5ada..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-lessThan.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL lessThan function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-float.html deleted file mode 100644 index c34d3873724a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-float.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL max-float function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-gentype.html deleted file mode 100644 index c6bb70327301..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-max-gentype.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL max-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-float.html deleted file mode 100644 index 96b735725965..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-float.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL min-float function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-gentype.html deleted file mode 100644 index 4ccebb7b9327..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-min-gentype.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL min-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-float.html deleted file mode 100644 index f2472a122ce1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-float.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - GLSL mix-float function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-gentype.html deleted file mode 100644 index 1ca65d298a44..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mix-gentype.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - GLSL mix-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-float.html deleted file mode 100644 index a870c626f5ec..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-float.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - GLSL mod-float function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-gentype.html deleted file mode 100644 index 8e4ae7ba23c3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-mod-gentype.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - GLSL mod-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-normalize.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-normalize.html deleted file mode 100644 index 28176e348a63..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-normalize.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - GLSL normalize function test - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-reflect.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-reflect.html deleted file mode 100644 index e718b4c1c533..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-reflect.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - GLSL reflect function test - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-refract.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-refract.html deleted file mode 100644 index b9d3ee704f09..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-refract.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - GLSL refract function test - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sign.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sign.html deleted file mode 100644 index 5d49a96ed499..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sign.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - GLSL sign function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sin.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sin.html deleted file mode 100644 index 8cdb015a683a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-sin.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - GLSL sin function test - - - - - - - - -
-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-float.html deleted file mode 100644 index 50f34a3884a8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-float.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - GLSL smoothstep-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-gentype.html deleted file mode 100644 index cdbf4f4dff05..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-smoothstep-gentype.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - GLSL smoothstep-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-float.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-float.html deleted file mode 100644 index 4bb65b3028f6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-float.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL step-float function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-gentype.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-gentype.html deleted file mode 100644 index 8affb37c41c0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-step-gentype.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - GLSL step-gentype function test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function.html b/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function.html deleted file mode 100644 index 714f74a61659..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - GLSL function test test - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/00_test_list.txt deleted file mode 100644 index d700b29a5632..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/00_test_list.txt +++ /dev/null @@ -1,65 +0,0 @@ -add_int_float.vert.html -add_int_mat2.vert.html -add_int_mat3.vert.html -add_int_mat4.vert.html -add_int_vec2.vert.html -add_int_vec3.vert.html -add_int_vec4.vert.html -add_ivec2_vec2.vert.html -add_ivec3_vec3.vert.html -add_ivec4_vec4.vert.html -assign_int_to_float.vert.html -assign_ivec2_to_vec2.vert.html -assign_ivec3_to_vec3.vert.html -assign_ivec4_to_vec4.vert.html -construct_struct.vert.html -divide_int_float.vert.html -divide_int_mat2.vert.html -divide_int_mat3.vert.html -divide_int_mat4.vert.html -divide_int_vec2.vert.html -divide_int_vec3.vert.html -divide_int_vec4.vert.html -divide_ivec2_vec2.vert.html -divide_ivec3_vec3.vert.html -divide_ivec4_vec4.vert.html -equal_int_float.vert.html -equal_ivec2_vec2.vert.html -equal_ivec3_vec3.vert.html -equal_ivec4_vec4.vert.html -function_int_float.vert.html -function_ivec2_vec2.vert.html -function_ivec3_vec3.vert.html -function_ivec4_vec4.vert.html -greater_than.vert.html -greater_than_equal.vert.html -less_than.vert.html -less_than_equal.vert.html -multiply_int_float.vert.html -multiply_int_mat2.vert.html -multiply_int_mat3.vert.html -multiply_int_mat4.vert.html -multiply_int_vec2.vert.html -multiply_int_vec3.vert.html -multiply_int_vec4.vert.html -multiply_ivec2_vec2.vert.html -multiply_ivec3_vec3.vert.html -multiply_ivec4_vec4.vert.html -not_equal_int_float.vert.html -not_equal_ivec2_vec2.vert.html -not_equal_ivec3_vec3.vert.html -not_equal_ivec4_vec4.vert.html -subtract_int_float.vert.html -subtract_int_mat2.vert.html -subtract_int_mat3.vert.html -subtract_int_mat4.vert.html -subtract_int_vec2.vert.html -subtract_int_vec3.vert.html -subtract_int_vec4.vert.html -subtract_ivec2_vec2.vert.html -subtract_ivec3_vec3.vert.html -subtract_ivec4_vec4.vert.html -ternary_int_float.vert.html -ternary_ivec2_vec2.vert.html -ternary_ivec3_vec3.vert.html -ternary_ivec4_vec4.vert.html diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_float.vert.html deleted file mode 100644 index 395634d769e3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat2.vert.html deleted file mode 100644 index ebb3b4deef8d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat3.vert.html deleted file mode 100644 index 5f55e528ea3f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat4.vert.html deleted file mode 100644 index ca894e135e0a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_mat4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec2.vert.html deleted file mode 100644 index eff4cd124e52..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec3.vert.html deleted file mode 100644 index d43458d56fff..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec4.vert.html deleted file mode 100644 index 044220e2d49f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_int_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec2_vec2.vert.html deleted file mode 100644 index 0035a30b7d16..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec3_vec3.vert.html deleted file mode 100644 index 9f14c22d7550..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec4_vec4.vert.html deleted file mode 100644 index ddbf23868ccb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/add_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_int_to_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_int_to_float.vert.html deleted file mode 100644 index b9c8e1e36b6f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_int_to_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html deleted file mode 100644 index f63d46726a34..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html deleted file mode 100644 index 8c61328038a4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html deleted file mode 100644 index dd2d8dfd52d5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/construct_struct.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/construct_struct.vert.html deleted file mode 100644 index 8dedd44df44a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/construct_struct.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_float.vert.html deleted file mode 100644 index b1f98fbbc14b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat2.vert.html deleted file mode 100644 index f13d4917ca44..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat3.vert.html deleted file mode 100644 index e566d5ba71a0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat4.vert.html deleted file mode 100644 index 2559526caaef..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_mat4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec2.vert.html deleted file mode 100644 index 023b3b2a0111..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec3.vert.html deleted file mode 100644 index 3bc23bf39754..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec4.vert.html deleted file mode 100644 index a988b6e9f2e6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_int_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec2_vec2.vert.html deleted file mode 100644 index aabacf458dbd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec3_vec3.vert.html deleted file mode 100644 index f2092e7f9c88..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec4_vec4.vert.html deleted file mode 100644 index 9739a51959f9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/divide_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_int_float.vert.html deleted file mode 100644 index 9ca59ef4cc16..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec2_vec2.vert.html deleted file mode 100644 index 80420d950af2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec3_vec3.vert.html deleted file mode 100644 index 8c1783f8820a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec4_vec4.vert.html deleted file mode 100644 index c805cdf95518..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/equal_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_int_float.vert.html deleted file mode 100644 index 9121dfdaa321..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_int_float.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec2_vec2.vert.html deleted file mode 100644 index 0cf8e3783cbf..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec2_vec2.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec3_vec3.vert.html deleted file mode 100644 index aef0cb01ec5c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec3_vec3.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec4_vec4.vert.html deleted file mode 100644 index fe9c9b4fe5b1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/function_ivec4_vec4.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than.vert.html deleted file mode 100644 index 6423b2dd85c0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than_equal.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than_equal.vert.html deleted file mode 100644 index d5e97b287bb7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/greater_than_equal.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than.vert.html deleted file mode 100644 index e39c580edf19..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than_equal.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than_equal.vert.html deleted file mode 100644 index 4d26a720a600..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/less_than_equal.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_float.vert.html deleted file mode 100644 index a71e3f187815..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat2.vert.html deleted file mode 100644 index f26a68c1addb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat3.vert.html deleted file mode 100644 index 4bf3c9a2754b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat4.vert.html deleted file mode 100644 index 5085b9515d05..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_mat4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec2.vert.html deleted file mode 100644 index c35f6a9a247c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec3.vert.html deleted file mode 100644 index 0edbe677844a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec4.vert.html deleted file mode 100644 index 945e70c5f2af..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_int_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec2_vec2.vert.html deleted file mode 100644 index 25d84d9e9fca..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec3_vec3.vert.html deleted file mode 100644 index 501c97f1b658..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec4_vec4.vert.html deleted file mode 100644 index 214b278bcfc5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/multiply_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_int_float.vert.html deleted file mode 100644 index 866aca4f0e85..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html deleted file mode 100644 index 2b0988980a59..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html deleted file mode 100644 index 0fe8e8391611..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html deleted file mode 100644 index fc24420b167b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_float.vert.html deleted file mode 100644 index d298a759c4a0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat2.vert.html deleted file mode 100644 index 2c61babf7212..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat3.vert.html deleted file mode 100644 index 52d1f1effb95..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat4.vert.html deleted file mode 100644 index ee34cddea326..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_mat4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec2.vert.html deleted file mode 100644 index d9fceb45572e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec3.vert.html deleted file mode 100644 index 98b1c05a7b55..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec4.vert.html deleted file mode 100644 index db6b60393804..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_int_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec2_vec2.vert.html deleted file mode 100644 index 6e4ce2f1a1ae..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec3_vec3.vert.html deleted file mode 100644 index e399dcecb254..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec4_vec4.vert.html deleted file mode 100644 index 28393dad460f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/subtract_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_int_float.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_int_float.vert.html deleted file mode 100644 index 7a878815f6be..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_int_float.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec2_vec2.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec2_vec2.vert.html deleted file mode 100644 index 06f590b7cc55..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec2_vec2.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec3_vec3.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec3_vec3.vert.html deleted file mode 100644 index abd12cf01e46..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec3_vec3.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec4_vec4.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec4_vec4.vert.html deleted file mode 100644 index d0e2fb2615b1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/implicit/ternary_ivec4_vec4.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/00_test_list.txt deleted file mode 100644 index 196b782b3db0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/00_test_list.txt +++ /dev/null @@ -1,2 +0,0 @@ -glsl-mat4-to-mat3.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/glsl-mat4-to-mat3.html b/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/glsl-mat4-to-mat3.html deleted file mode 100644 index 8510a08c7b51..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/matrices/glsl-mat4-to-mat3.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - GLSL mat4 to mat3 test - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/00_test_list.txt deleted file mode 100644 index 76984b33908a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/00_test_list.txt +++ /dev/null @@ -1,72 +0,0 @@ -attrib-location-length-limits.html -embedded-struct-definitions-forbidden.html -# this test is intentionally disabled as it is too strict and to hard to simulate -# glsl-2types-of-textures-on-same-unit.html -glsl-function-nodes.html ---min-version 1.0.2 glsl-vertex-branch.html -glsl-long-variable-names.html -non-ascii-comments.vert.html -non-ascii.vert.html ---min-version 1.0.2 re-compile-re-link.html -shader-with-256-character-identifier.frag.html -shader-with-257-character-identifier.frag.html -shader-with-_webgl-identifier.vert.html -shader-with-arbitrary-indexing.frag.html -shader-with-arbitrary-indexing.vert.html -shader-with-attrib-array.vert.html -shader-with-attrib-struct.vert.html -shader-with-clipvertex.vert.html ---min-version 1.0.2 shader-with-conditional-scoping.html -shader-with-default-precision.frag.html -shader-with-default-precision.vert.html -shader-with-define-line-continuation.frag.html -shader-with-dfdx-no-ext.frag.html -shader-with-dfdx.frag.html ---min-version 1.0.2 shader-with-do-scoping.html -shader-with-error-directive.html -shader-with-explicit-int-cast.vert.html -shader-with-float-return-value.frag.html ---min-version 1.0.2 shader-with-for-scoping.html ---min-version 1.0.2 shader-with-for-loop.html -shader-with-frag-depth.frag.html -shader-with-function-recursion.frag.html ---min-version 1.0.2 shader-with-function-scoped-struct.html ---min-version 1.0.2 shader-with-functional-scoping.html ---min-version 1.0.2 shader-with-comma-assignment.html ---min-version 1.0.2 shader-with-comma-conditional-assignment.html -shader-with-glcolor.vert.html -shader-with-gles-1.frag.html -shader-with-gles-symbol.frag.html -shader-with-glprojectionmatrix.vert.html -shader-with-implicit-vec3-to-vec4-cast.vert.html -shader-with-include.vert.html -shader-with-int-return-value.frag.html -shader-with-invalid-identifier.frag.html -shader-with-ivec2-return-value.frag.html -shader-with-ivec3-return-value.frag.html -shader-with-ivec4-return-value.frag.html -shader-with-limited-indexing.frag.html -# we can not check line directives because GLSL 1.0.17 says error messages -# are implementation defined. -#shader-with-line-directive.html ---min-version 1.0.2 shader-with-hex-int-constant-macro.html -shader-with-long-line.html -shader-with-non-ascii-error.frag.html -shader-with-precision.frag.html -shader-with-quoted-error.frag.html -shader-with-undefined-preprocessor-symbol.frag.html -shader-with-uniform-in-loop-condition.vert.html -shader-with-vec2-return-value.frag.html -shader-with-vec3-return-value.frag.html -shader-with-vec4-return-value.frag.html ---min-version 1.0.2 shader-with-vec4-vec3-vec4-conditional.html -shader-with-version-100.frag.html -shader-with-version-100.vert.html -shader-with-version-120.vert.html -shader-with-version-130.vert.html -shader-with-webgl-identifier.vert.html -shader-without-precision.frag.html -shared.html -struct-nesting-exceeds-maximum.html -struct-nesting-under-maximum.html -uniform-location-length-limits.html diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/attrib-location-length-limits.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/attrib-location-length-limits.html deleted file mode 100644 index 51f1ed992401..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/attrib-location-length-limits.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - -WebGL attrib location length tests - - - - - - - - -There is supposed to be an example drawing here, but it's not important. - -
Verify limits on the lengths of attribute locations per WebGL spec, "Maximum Uniform and Attribute Location Lengths".
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/embedded-struct-definitions-forbidden.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/embedded-struct-definitions-forbidden.html deleted file mode 100644 index 9387c946c0b0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/embedded-struct-definitions-forbidden.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html deleted file mode 100644 index e3b5f0c69fae..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - WebGL GLSL 2 types of textures on same unit conformance test. - - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-function-nodes.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-function-nodes.html deleted file mode 100644 index 89bb3f66ac79..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-function-nodes.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - -GLSL function nodes Test - - - - - - - - - - - - - - - -
This tests against a Mac driver bug related to function calls.
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-long-variable-names.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-long-variable-names.html deleted file mode 100644 index a8acd1fbddf4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-long-variable-names.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - glsl long variable name mapping tests - - - - - - - There is supposed to be an example drawing here, but it's not important. - -
-
- - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-vertex-branch.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-vertex-branch.html deleted file mode 100644 index a74694585a3f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/glsl-vertex-branch.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -GLSL function nodes Test - - - - - - - - - - - - - - - -
This tests against a Mac driver bug related to branches - inside of Vertex Shaders.
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/include.vs b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/include.vs deleted file mode 100644 index 7096579f082a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/include.vs +++ /dev/null @@ -1,4 +0,0 @@ -// Do not delete! -// Needed to help glsl-conformance tests. - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii-comments.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii-comments.vert.html deleted file mode 100644 index dd0b284dd3c4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii-comments.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii.vert.html deleted file mode 100644 index e71da1396033..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/non-ascii.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/re-compile-re-link.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/re-compile-re-link.html deleted file mode 100644 index 21db39890a34..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/re-compile-re-link.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -WebGL Re-Compile and Re-link Shader conformance test. - - - - - - - -
-
- - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-256-character-identifier.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-256-character-identifier.frag.html deleted file mode 100644 index 55e26ebff2a6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-256-character-identifier.frag.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-257-character-identifier.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-257-character-identifier.frag.html deleted file mode 100644 index 8dec406e9393..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-257-character-identifier.frag.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-_webgl-identifier.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-_webgl-identifier.vert.html deleted file mode 100644 index fe05b1bb5850..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-_webgl-identifier.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html deleted file mode 100644 index 5e1af44e6da1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html deleted file mode 100644 index 9644b16a9692..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-array.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-array.vert.html deleted file mode 100644 index 9b377eb494d5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-array.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-struct.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-struct.vert.html deleted file mode 100644 index d5c66e7b5a25..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-attrib-struct.vert.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-clipvertex.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-clipvertex.vert.html deleted file mode 100644 index 7837461de8a5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-clipvertex.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-assignment.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-assignment.html deleted file mode 100644 index ad2d4cc1acbe..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-assignment.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html deleted file mode 100644 index 70d84c458a8f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-comma-conditional-assignment.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-conditional-scoping.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-conditional-scoping.html deleted file mode 100644 index 7130be5d9182..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-conditional-scoping.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.frag.html deleted file mode 100644 index d9ec945c90f9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.vert.html deleted file mode 100644 index 6d509ea16e32..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-default-precision.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-define-line-continuation.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-define-line-continuation.frag.html deleted file mode 100644 index 087e3bebd1c0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-define-line-continuation.frag.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html deleted file mode 100644 index 7d01ffa927be..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx.frag.html deleted file mode 100644 index c3c69ec4cf45..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-dfdx.frag.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-do-scoping.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-do-scoping.html deleted file mode 100644 index 99d8c81e21f6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-do-scoping.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-error-directive.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-error-directive.html deleted file mode 100644 index f959642d7959..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-error-directive.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-explicit-int-cast.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-explicit-int-cast.vert.html deleted file mode 100644 index b9c044fa3df0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-explicit-int-cast.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-float-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-float-return-value.frag.html deleted file mode 100644 index 89c9ed975598..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-float-return-value.frag.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-loop.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-loop.html deleted file mode 100644 index 4d4e491cdd01..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-loop.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-scoping.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-scoping.html deleted file mode 100644 index 72dc3aac68d9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-for-scoping.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-frag-depth.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-frag-depth.frag.html deleted file mode 100644 index f912f31a847a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-frag-depth.frag.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-recursion.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-recursion.frag.html deleted file mode 100644 index 242e5be9fd18..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-recursion.frag.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-scoped-struct.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-scoped-struct.html deleted file mode 100644 index 3873f42769d4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-function-scoped-struct.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-functional-scoping.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-functional-scoping.html deleted file mode 100644 index 23319230a7e8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-functional-scoping.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glcolor.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glcolor.vert.html deleted file mode 100644 index 98e2e9beb30a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glcolor.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-1.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-1.frag.html deleted file mode 100644 index 3295d9c3e9a1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-1.frag.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-symbol.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-symbol.frag.html deleted file mode 100644 index 5df342f59602..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-gles-symbol.frag.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html deleted file mode 100644 index d021a24c4f8b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-hex-int-constant-macro.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-hex-int-constant-macro.html deleted file mode 100644 index 1c5d9b72ea13..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-hex-int-constant-macro.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html deleted file mode 100644 index d4f2786414cb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-include.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-include.vert.html deleted file mode 100644 index 2848ccfba52e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-include.vert.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-int-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-int-return-value.frag.html deleted file mode 100644 index 13e63ba0c9dd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-int-return-value.frag.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-invalid-identifier.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-invalid-identifier.frag.html deleted file mode 100644 index 969dd8ebe046..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-invalid-identifier.frag.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec2-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec2-return-value.frag.html deleted file mode 100644 index 951685a3d8c3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec2-return-value.frag.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec3-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec3-return-value.frag.html deleted file mode 100644 index e37f82bf8669..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec3-return-value.frag.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec4-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec4-return-value.frag.html deleted file mode 100644 index 4c41b9b4b57a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-ivec4-return-value.frag.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-limited-indexing.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-limited-indexing.frag.html deleted file mode 100644 index c2c1ce194157..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-limited-indexing.frag.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-line-directive.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-line-directive.html deleted file mode 100644 index 49c16949b57e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-line-directive.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-long-line.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-long-line.html deleted file mode 100644 index e2cb887b7ba2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-long-line.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-non-ascii-error.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-non-ascii-error.frag.html deleted file mode 100644 index 21e5003d72ef..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-non-ascii-error.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-precision.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-precision.frag.html deleted file mode 100644 index e9ebb33d0cd6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-precision.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-quoted-error.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-quoted-error.frag.html deleted file mode 100644 index 941ef2433d8e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-quoted-error.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html deleted file mode 100644 index 7ac96bf3d838..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html deleted file mode 100644 index 571b3ddf96f2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec2-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec2-return-value.frag.html deleted file mode 100644 index 9a3857eeb0a0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec2-return-value.frag.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec3-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec3-return-value.frag.html deleted file mode 100644 index 6a21fe451a78..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec3-return-value.frag.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-return-value.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-return-value.frag.html deleted file mode 100644 index a37ead063883..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-return-value.frag.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html deleted file mode 100644 index 01829bd09f99..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.frag.html deleted file mode 100644 index ef645aa9b6c9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.frag.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.vert.html deleted file mode 100644 index 44c0d4ec1f6c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-100.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-120.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-120.vert.html deleted file mode 100644 index a1e1fa689bc4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-120.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-130.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-130.vert.html deleted file mode 100644 index 38f775aab797..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-version-130.vert.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-webgl-identifier.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-webgl-identifier.vert.html deleted file mode 100644 index b547ed36ef3b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-webgl-identifier.vert.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-without-precision.frag.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-without-precision.frag.html deleted file mode 100644 index 37134f79ff66..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shader-without-precision.frag.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shared.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shared.html deleted file mode 100644 index 26bd5233968a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/shared.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html deleted file mode 100644 index 157a9a8a0077..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-under-maximum.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-under-maximum.html deleted file mode 100644 index e6d61a5c9745..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-under-maximum.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/uniform-location-length-limits.html b/dom/canvas/test/webgl-conformance/conformance/glsl/misc/uniform-location-length-limits.html deleted file mode 100644 index dd39c55424ac..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/misc/uniform-location-length-limits.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - -WebGL uniform location length tests - - - - - - - - -There is supposed to be an example drawing here, but it's not important. - -
Verify limits on the lengths of uniform locations per WebGL spec, "Maximum Uniform and Attribute Location Lengths".
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/00_test_list.txt deleted file mode 100644 index 7c2da3e8f5c9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/00_test_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -_webgl_field.vert.html -_webgl_function.vert.html -_webgl_struct.vert.html -_webgl_variable.vert.html -webgl_field.vert.html -webgl_function.vert.html -webgl_struct.vert.html -webgl_variable.vert.html diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_field.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_field.vert.html deleted file mode 100644 index 417de0fb9604..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_field.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_function.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_function.vert.html deleted file mode 100644 index 39842666fc18..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_function.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_struct.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_struct.vert.html deleted file mode 100644 index aead4860005f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_struct.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_variable.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_variable.vert.html deleted file mode 100644 index d1c5894de14b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/_webgl_variable.vert.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_field.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_field.vert.html deleted file mode 100644 index 540e63cfdb0c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_field.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_function.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_function.vert.html deleted file mode 100644 index f7ac57568b22..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_function.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_struct.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_struct.vert.html deleted file mode 100644 index 1fc44ad8e150..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_struct.vert.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_variable.vert.html b/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_variable.vert.html deleted file mode 100644 index 883838e1ed57..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/reserved/webgl_variable.vert.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -WebGL GLSL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/00_test_list.txt deleted file mode 100644 index a17d8c52df21..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/00_test_list.txt +++ /dev/null @@ -1,4 +0,0 @@ -glsl-function-texture2d-bias.html -glsl-function-texture2dlod.html -glsl-function-texture2dproj.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2d-bias.html b/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2d-bias.html deleted file mode 100644 index 20a61b438446..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2d-bias.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -WebGL texture2D GLSL conformance test. - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dlod.html b/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dlod.html deleted file mode 100644 index 822f6c1fc1c7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dlod.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -WebGL texture2D GLSL conformance test. - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dproj.html b/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dproj.html deleted file mode 100644 index ae0568bcd46e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/samplers/glsl-function-texture2dproj.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -WebGL texture2D GLSL conformance test. - - - - - - - - -
-
- - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/glsl/variables/00_test_list.txt deleted file mode 100644 index 670b02f5215f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/00_test_list.txt +++ /dev/null @@ -1,3 +0,0 @@ -gl-fragcoord.html -gl-frontfacing.html -gl-pointcoord.html diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-fragcoord.html b/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-fragcoord.html deleted file mode 100644 index 5456ee8dfaa7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-fragcoord.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - gl-fragcoord Test - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-frontfacing.html b/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-frontfacing.html deleted file mode 100644 index 1fbb60c9a461..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-frontfacing.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - gl-fragcoord Test - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-pointcoord.html b/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-pointcoord.html deleted file mode 100644 index 60fdd986abd4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/glsl/variables/gl-pointcoord.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - gl-pointcoord Test - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/limits/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/limits/00_test_list.txt deleted file mode 100644 index 0b342cad1d3f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/limits/00_test_list.txt +++ /dev/null @@ -1,5 +0,0 @@ -gl-min-attribs.html -gl-max-texture-dimensions.html -gl-min-textures.html -gl-min-uniforms.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/limits/gl-max-texture-dimensions.html b/dom/canvas/test/webgl-conformance/conformance/limits/gl-max-texture-dimensions.html deleted file mode 100644 index 5ad72fd9152b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/limits/gl-max-texture-dimensions.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -WebGL the max advertized texture size is supported. - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-attribs.html b/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-attribs.html deleted file mode 100644 index 7c4d294c0cd5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-attribs.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - -WebGL the minimum number of attributes are supported. - - - - - - - -
-
- - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-textures.html b/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-textures.html deleted file mode 100644 index e40ec2fce5f8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-textures.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -WebGL the minimum number of uniforms are supported. - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-uniforms.html b/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-uniforms.html deleted file mode 100644 index 68526f032c57..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/limits/gl-min-uniforms.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - -WebGL the minimum number of uniforms are supported. - - - - - - - -
-
- - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/misc/00_test_list.txt deleted file mode 100644 index 59b483f61289..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/00_test_list.txt +++ /dev/null @@ -1,13 +0,0 @@ -bad-arguments-test.html ---min-version 1.0.2 delayed-drawing.html -error-reporting.html -instanceof-test.html -invalid-passed-params.html -is-object.html -null-object-behaviour.html -functions-returning-strings.html -object-deletion-behaviour.html -shader-precision-format.html -type-conversion-test.html -uninitialized-test.html -webgl-specific.html diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/bad-arguments-test.html b/dom/canvas/test/webgl-conformance/conformance/misc/bad-arguments-test.html deleted file mode 100644 index e00a065c4808..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/bad-arguments-test.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/delayed-drawing.html b/dom/canvas/test/webgl-conformance/conformance/misc/delayed-drawing.html deleted file mode 100644 index e3f9e45a8567..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/delayed-drawing.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - -WebGL Delayed Drawing test. - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/error-reporting.html b/dom/canvas/test/webgl-conformance/conformance/misc/error-reporting.html deleted file mode 100644 index c7ce65c3172e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/error-reporting.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/functions-returning-strings.html b/dom/canvas/test/webgl-conformance/conformance/misc/functions-returning-strings.html deleted file mode 100644 index a1a8c6020fd1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/functions-returning-strings.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -WebGL Conformance Tests - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/instanceof-test.html b/dom/canvas/test/webgl-conformance/conformance/misc/instanceof-test.html deleted file mode 100644 index 1fc025b9aab4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/instanceof-test.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -WebGL instanceof test. - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/invalid-passed-params.html b/dom/canvas/test/webgl-conformance/conformance/misc/invalid-passed-params.html deleted file mode 100644 index 3b67f4bc70a1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/invalid-passed-params.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/is-object.html b/dom/canvas/test/webgl-conformance/conformance/misc/is-object.html deleted file mode 100644 index 21439a453468..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/is-object.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/null-object-behaviour.html b/dom/canvas/test/webgl-conformance/conformance/misc/null-object-behaviour.html deleted file mode 100644 index e25997771dfd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/null-object-behaviour.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/object-deletion-behaviour.html b/dom/canvas/test/webgl-conformance/conformance/misc/object-deletion-behaviour.html deleted file mode 100644 index 2fc4a6139547..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/object-deletion-behaviour.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/shader-precision-format.html b/dom/canvas/test/webgl-conformance/conformance/misc/shader-precision-format.html deleted file mode 100644 index 53b344ca4c7b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/shader-precision-format.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -WebGL shader precision format test. - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/type-conversion-test.html b/dom/canvas/test/webgl-conformance/conformance/misc/type-conversion-test.html deleted file mode 100644 index 63f498dbee51..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/type-conversion-test.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/uninitialized-test.html b/dom/canvas/test/webgl-conformance/conformance/misc/uninitialized-test.html deleted file mode 100644 index ad67f1fb256d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/uninitialized-test.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - -WebGL Uninitialized GL Resources Tests - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/misc/webgl-specific.html b/dom/canvas/test/webgl-conformance/conformance/misc/webgl-specific.html deleted file mode 100644 index 206bca7d4408..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/misc/webgl-specific.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - -WebGL GLES2 difference test. - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/more/00_test_list.txt deleted file mode 100644 index 042ac6ff80b2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/00_test_list.txt +++ /dev/null @@ -1,57 +0,0 @@ -conformance/constants.html -conformance/getContext.html -conformance/methods.html -conformance/quickCheckAPI-A.html -conformance/quickCheckAPI-B1.html -conformance/quickCheckAPI-B2.html -conformance/quickCheckAPI-B3.html -conformance/quickCheckAPI-B4.html -conformance/quickCheckAPI-C.html -conformance/quickCheckAPI-D_G.html -conformance/quickCheckAPI-G_I.html -conformance/quickCheckAPI-L_S.html -conformance/quickCheckAPI-S_V.html -conformance/webGLArrays.html -functions/bindBuffer.html -functions/bindBufferBadArgs.html -functions/bindFramebufferLeaveNonZero.html -functions/bufferData.html -functions/bufferDataBadArgs.html -functions/bufferSubData.html -functions/bufferSubDataBadArgs.html -functions/copyTexImage2D.html -functions/copyTexImage2DBadArgs.html -functions/copyTexSubImage2D.html -functions/copyTexSubImage2DBadArgs.html -functions/deleteBufferBadArgs.html -functions/drawArrays.html -functions/drawArraysOutOfBounds.html -functions/drawElements.html -functions/drawElementsBadArgs.html -functions/isTests.html -functions/readPixels.html -functions/readPixelsBadArgs.html -functions/texImage2D.html -functions/texImage2DBadArgs.html -functions/texImage2DHTML.html -functions/texImage2DHTMLBadArgs.html -functions/texSubImage2D.html -functions/texSubImage2DBadArgs.html -functions/texSubImage2DHTML.html -functions/texSubImage2DHTMLBadArgs.html -functions/uniformf.html -functions/uniformfBadArgs.html -functions/uniformfArrayLen1.html -functions/uniformi.html -functions/uniformiBadArgs.html -functions/uniformMatrix.html -functions/uniformMatrixBadArgs.html -functions/vertexAttrib.html -functions/vertexAttribBadArgs.html -functions/vertexAttribPointer.html -functions/vertexAttribPointerBadArgs.html -glsl/arrayOutOfBounds.html -#glsl/longLoops.html // No interactive tests. -glsl/uniformOutOfBounds.html -#glsl/unusedAttribsUniforms.html // No interactive tests. - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/README.md b/dom/canvas/test/webgl-conformance/conformance/more/README.md deleted file mode 100644 index 01937147f69a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/README.md +++ /dev/null @@ -1,53 +0,0 @@ -Tests for the WebGL canvas context -================================== - -These tests are intended to serve the following purposes: - - * Assert spec conformance - * Check the safety of the GL binding (bounds checking, same origin policy) - * Provide performance numbers for developers - - -Running the tests ------------------ - - 1. Install a browser with WebGL support - 2. Run ruby gen_tests.rb if you have modified the tests. - 3. Run ruby test_server.rb if you want to get test run output to test_server's stdout (especially useful for finding out which test crashed your browser.) - 4. Open all_tests.html in your browser. - - -Want to contribute? -------------------- - - 1. Fork this repo - 2. Run gen_tests.rb - 3. Look into templates/ to see which functions lack tests (also see methods.txt and nsICanvasRenderingContextWebGL.idl): - 1. copy methodName.html to functions/methodName.html and write tests that test the results of valid inputs. - 2. copy methodNameBadArgs.html to functions/methodNameBadArgs.html and write tests to assert that invalid inputs throw exceptions. - 3. If your test causes a segfault, add the following to the top of the script tag: Tests.autorun = false; Tests.message = "Caution: this may crash your browser"; - 4. For each performance test: - 1. Write a performance/myTestName.html and set Tests.autorun = false; - 5. If you have a test that you would like to run over the whole API or want to generate tests programmatically, add them to gen_tests.rb or write your own script. - 6. Create a commit for each file. (E.g. for f in $(git status | grep -e "^#\\s*functions/\\S*$" | sed "s/^#\s*//"); do git add $f; git commit -m $f; done) - 7. Send me a pull request. - 8. Congratulations, you're now a contributor! - - -For more information on WebGL: - - * Planet WebGL - * Learning WebGL - * WebGL on Khronos Message Boards - -Developer links: - - * WebGL on Mozilla Bugzilla - * WebGL on WebKit Bugzilla - * WebGL on Chromium Bugzilla - -What's the stuff in apigen? - - There are some Python scripts in the apigen/ directory that generate C++ based on the API definition files (gl2.h, api_modifications.txt, valid_args.txt.) The generated code is Mozilla XPCOM functions that check their args against the valid GLES 2.0 constants (as they were written on the man pages.) There's also some wackier stuff for checking copyTexImage2D and copyTexSubImage2D image dimensions against viewport dimensions. - - If you can use it to generate code for your WebGL implementation, it might save you 1500 lines of typing and testing. The last time I used it was summer 2009 to generate a patch for Canvas 3D, so it's likely somewhat out of date. diff --git a/dom/canvas/test/webgl-conformance/conformance/more/all_tests.html b/dom/canvas/test/webgl-conformance/conformance/more/all_tests.html deleted file mode 100644 index b20f17e7948a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/all_tests.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - OpenGL ES 2.0 <canvas> context tests - - - - - -
- -

conformance/badArgsArityLessThanArgc.html

-
- - -
- -

conformance/constants.html

-
- - -
- -

conformance/fuzzTheAPI.html

-
- - -
- -

conformance/getContext.html

-
- - -
- -

conformance/methods.html

-
- - -
- -

conformance/quickCheckAPI.html

-
- - -
- -

conformance/quickCheckAPIBadArgs.html

-
- - -
- -

conformance/webGLArrays.html

-
- - -
- -

functions/bindBuffer.html

-
- - -
- -

functions/bindBufferBadArgs.html

-
- - -
- -

functions/bindFramebufferLeaveNonZero.html

-
- - -
- -

functions/bufferData.html

-
- - -
- -

functions/bufferDataBadArgs.html

-
- - -
- -

functions/bufferSubData.html

-
- - -
- -

functions/bufferSubDataBadArgs.html

-
- - -
- -

functions/copyTexImage2D.html

-
- - -
- -

functions/copyTexImage2DBadArgs.html

-
- - -
- -

functions/copyTexSubImage2D.html

-
- - -
- -

functions/copyTexSubImage2DBadArgs.html

-
- - -
- -

functions/deleteBufferBadArgs.html

-
- - -
- -

functions/drawArrays.html

-
- - -
- -

functions/drawArraysOutOfBounds.html

-
- - -
- -

functions/drawElements.html

-
- - -
- -

functions/drawElementsBadArgs.html

-
- - -
- -

functions/getImageData.html

-
- - -
- -

functions/getImageDataBadArgs.html

-
- - -
- -

functions/isTests.html

-
- - -
- -

functions/linkProgramBadArgs.html

-
- - -
- -

functions/readPixels.html

-
- - -
- -

functions/readPixelsBadArgs.html

-
- - -
- -

functions/texImage2D.html

-
- - -
- -

functions/texImage2DBadArgs.html

-
- - -
- -

functions/texImage2DHTML.html

-
- - -
- -

functions/texImage2DHTMLBadArgs.html

-
- - -
- -

functions/texSubImage2D.html

-
- - -
- -

functions/texSubImage2DBadArgs.html

-
- - -
- -

functions/texSubImage2DHTML.html

-
- - -
- -

functions/texSubImage2DHTMLBadArgs.html

-
- - -
- -

functions/uniformMatrix.html

-
- - -
- -

functions/uniformMatrixBadArgs.html

-
- - -
- -

functions/uniformf.html

-
- - -
- -

functions/uniformfBadArgs.html

-
- - -
- -

functions/uniformi.html

-
- - -
- -

functions/uniformiBadArgs.html

-
- - -
- -

functions/vertexAttrib.html

-
- - -
- -

functions/vertexAttribBadArgs.html

-
- - -
- -

functions/vertexAttribPointer.html

-
- - -
- -

functions/vertexAttribPointerBadArgs.html

-
- - -
- -

performance/CPUvsGPU.html

-
- - -
- -

performance/bandwidth.html

-
- - -
- -

performance/jsGCPause.html

-
- - -
- -

performance/jsMatrixMult.html

-
- - -
- -

performance/jsToGLOverhead.html

-
- - -
- -

glsl/arrayOutOfBounds.html

-
- - -
- -

glsl/longLoops.html

-
- - -
- -

glsl/uniformOutOfBounds.html

-
- - -
- -

glsl/unusedAttribsUniforms.html

-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/all_tests_linkonly.html b/dom/canvas/test/webgl-conformance/conformance/more/all_tests_linkonly.html deleted file mode 100644 index 4f91689aab5c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/all_tests_linkonly.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - OpenGL ES 2.0 <canvas> context tests - - - - - -
- -

conformance/badArgsArityLessThanArgc.html

-
- - -
- -

conformance/constants.html

-
- - -
- -

conformance/fuzzTheAPI.html

-
- - -
- -

conformance/getContext.html

-
- - -
- -

conformance/methods.html

-
- - -
- -

conformance/quickCheckAPI.html

-
- - -
- -

conformance/quickCheckAPIBadArgs.html

-
- - -
- -

conformance/webGLArrays.html

-
- - -
- -

functions/bindBuffer.html

-
- - -
- -

functions/bindBufferBadArgs.html

-
- - -
- -

functions/bindFramebufferLeaveNonZero.html

-
- - -
- -

functions/bufferData.html

-
- - -
- -

functions/bufferDataBadArgs.html

-
- - -
- -

functions/bufferSubData.html

-
- - -
- -

functions/bufferSubDataBadArgs.html

-
- - -
- -

functions/copyTexImage2D.html

-
- - -
- -

functions/copyTexImage2DBadArgs.html

-
- - -
- -

functions/copyTexSubImage2D.html

-
- - -
- -

functions/copyTexSubImage2DBadArgs.html

-
- - -
- -

functions/deleteBufferBadArgs.html

-
- - -
- -

functions/drawArrays.html

-
- - -
- -

functions/drawArraysOutOfBounds.html

-
- - -
- -

functions/drawElements.html

-
- - -
- -

functions/drawElementsBadArgs.html

-
- - -
- -

functions/getImageData.html

-
- - -
- -

functions/getImageDataBadArgs.html

-
- - -
- -

functions/isTests.html

-
- - -
- -

functions/linkProgramBadArgs.html

-
- - -
- -

functions/readPixels.html

-
- - -
- -

functions/readPixelsBadArgs.html

-
- - -
- -

functions/texImage2D.html

-
- - -
- -

functions/texImage2DBadArgs.html

-
- - -
- -

functions/texImage2DHTML.html

-
- - -
- -

functions/texImage2DHTMLBadArgs.html

-
- - -
- -

functions/texSubImage2D.html

-
- - -
- -

functions/texSubImage2DBadArgs.html

-
- - -
- -

functions/texSubImage2DHTML.html

-
- - -
- -

functions/texSubImage2DHTMLBadArgs.html

-
- - -
- -

functions/uniformMatrix.html

-
- - -
- -

functions/uniformMatrixBadArgs.html

-
- - -
- -

functions/uniformf.html

-
- - -
- -

functions/uniformfBadArgs.html

-
- - -
- -

functions/uniformi.html

-
- - -
- -

functions/uniformiBadArgs.html

-
- - -
- -

functions/vertexAttrib.html

-
- - -
- -

functions/vertexAttribBadArgs.html

-
- - -
- -

functions/vertexAttribPointer.html

-
- - -
- -

functions/vertexAttribPointerBadArgs.html

-
- - -
- -

performance/CPUvsGPU.html

-
- - -
- -

performance/bandwidth.html

-
- - -
- -

performance/jsGCPause.html

-
- - -
- -

performance/jsMatrixMult.html

-
- - -
- -

performance/jsToGLOverhead.html

-
- - -
- -

glsl/arrayOutOfBounds.html

-
- - -
- -

glsl/longLoops.html

-
- - -
- -

glsl/uniformOutOfBounds.html

-
- - -
- -

glsl/unusedAttribsUniforms.html

-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/all_tests_sequential.html b/dom/canvas/test/webgl-conformance/conformance/more/all_tests_sequential.html deleted file mode 100644 index 738e64b69dad..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/all_tests_sequential.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - OpenGL ES 2.0 <canvas> context tests - - - - - -
- -

conformance/badArgsArityLessThanArgc.html

-
- - -
- -

conformance/constants.html

-
- - -
- -

conformance/fuzzTheAPI.html

-
- - -
- -

conformance/getContext.html

-
- - -
- -

conformance/methods.html

-
- - -
- -

conformance/quickCheckAPI.html

-
- - -
- -

conformance/quickCheckAPIBadArgs.html

-
- - -
- -

conformance/webGLArrays.html

-
- - -
- -

functions/bindBuffer.html

-
- - -
- -

functions/bindBufferBadArgs.html

-
- - -
- -

functions/bindFramebufferLeaveNonZero.html

-
- - -
- -

functions/bufferData.html

-
- - -
- -

functions/bufferDataBadArgs.html

-
- - -
- -

functions/bufferSubData.html

-
- - -
- -

functions/bufferSubDataBadArgs.html

-
- - -
- -

functions/copyTexImage2D.html

-
- - -
- -

functions/copyTexImage2DBadArgs.html

-
- - -
- -

functions/copyTexSubImage2D.html

-
- - -
- -

functions/copyTexSubImage2DBadArgs.html

-
- - -
- -

functions/deleteBufferBadArgs.html

-
- - -
- -

functions/drawArrays.html

-
- - -
- -

functions/drawArraysOutOfBounds.html

-
- - -
- -

functions/drawElements.html

-
- - -
- -

functions/drawElementsBadArgs.html

-
- - -
- -

functions/getImageData.html

-
- - -
- -

functions/getImageDataBadArgs.html

-
- - -
- -

functions/isTests.html

-
- - -
- -

functions/linkProgramBadArgs.html

-
- - -
- -

functions/readPixels.html

-
- - -
- -

functions/readPixelsBadArgs.html

-
- - -
- -

functions/texImage2D.html

-
- - -
- -

functions/texImage2DBadArgs.html

-
- - -
- -

functions/texImage2DHTML.html

-
- - -
- -

functions/texImage2DHTMLBadArgs.html

-
- - -
- -

functions/texSubImage2D.html

-
- - -
- -

functions/texSubImage2DBadArgs.html

-
- - -
- -

functions/texSubImage2DHTML.html

-
- - -
- -

functions/texSubImage2DHTMLBadArgs.html

-
- - -
- -

functions/uniformMatrix.html

-
- - -
- -

functions/uniformMatrixBadArgs.html

-
- - -
- -

functions/uniformf.html

-
- - -
- -

functions/uniformfBadArgs.html

-
- - -
- -

functions/uniformi.html

-
- - -
- -

functions/uniformiBadArgs.html

-
- - -
- -

functions/vertexAttrib.html

-
- - -
- -

functions/vertexAttribBadArgs.html

-
- - -
- -

functions/vertexAttribPointer.html

-
- - -
- -

functions/vertexAttribPointerBadArgs.html

-
- - -
- -

performance/CPUvsGPU.html

-
- - -
- -

performance/bandwidth.html

-
- - -
- -

performance/jsGCPause.html

-
- - -
- -

performance/jsMatrixMult.html

-
- - -
- -

performance/jsToGLOverhead.html

-
- - -
- -

glsl/arrayOutOfBounds.html

-
- - -
- -

glsl/longLoops.html

-
- - -
- -

glsl/uniformOutOfBounds.html

-
- - -
- -

glsl/unusedAttribsUniforms.html

-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-A.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-A.js deleted file mode 100644 index a418f44643e8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-A.js +++ /dev/null @@ -1,63 +0,0 @@ -// ArgGenerators contains argument generators for WebGL functions. -// The argument generators are used for running random tests against the WebGL -// functions. -// -// ArgGenerators is an object consisting of functionName : argGen -properties. -// -// functionName is a WebGL context function name and the argGen is an argument -// generator object that encapsulates the requirements to run -// randomly generated tests on the WebGL function. -// -// An argGen object has the following methods: -// - setup -- set up state for testing the GL function, returns values -// that need cleanup in teardown. Run once before entering a -// test loop. -// - teardown -- do cleanup on setup's return values after testing is complete -// - generate -- generate a valid set of random arguments for the GL function -// - returnValueCleanup -- do cleanup on value returned by the tested GL function -// - cleanup -- do cleanup on generated arguments from generate -// - checkArgValidity -- check if passed args are valid. Has a call signature -// that matches generate's return value. Returns true -// if args are valid, false if not. -// -// Example test loop that demonstrates how the function args and return -// values flow together: -// -// var setupArgs = argGen.setup(); -// for (var i=0; i 0.5 ? null : GL.createFramebuffer()]; - }, - checkArgValidity : function(target, fbo) { - if (target != GL.FRAMEBUFFER) - return false; - if (fbo != null) - GL.bindFramebuffer(target, fbo); - return (fbo == null || GL.isFramebuffer(fbo)); - }, - cleanup : function(target, fbo) { - GL.bindFramebuffer(target, null); - if (fbo) - GL.deleteFramebuffer(fbo); - } - }, - bindRenderbuffer : { - generate : function() { - return [GL.RENDERBUFFER, Math.random() > 0.5 ? null : GL.createRenderbuffer()]; - }, - checkArgValidity : function(target, rbo) { - if (target != GL.RENDERBUFFER) - return false; - if (rbo != null) - GL.bindRenderbuffer(target, rbo); - return (rbo == null || GL.isRenderbuffer(rbo)); - }, - cleanup : function(target, rbo) { - GL.bindRenderbuffer(target, null); - if (rbo) - GL.deleteRenderbuffer(rbo); - } - }, - bindTexture : { - generate : function() { - return [bindTextureTarget.random(), Math.random() > 0.5 ? null : GL.createTexture()]; - }, - checkArgValidity : function(target, o) { - if (!bindTextureTarget.has(target)) - return false; - if (o != null) - GL.bindTexture(target, o); - return (o == null || GL.isTexture(o)); - }, - cleanup : function(target, o) { - GL.bindTexture(target, null); - if (o) - GL.deleteTexture(o); - } - }, - blendColor : { - generate : function() { return randomColor(); }, - teardown : function() { GL.blendColor(0,0,0,0); } - }, - blendEquation : { - generate : function() { return [blendEquationMode.random()]; }, - checkArgValidity : function(o) { return blendEquationMode.has(o); }, - teardown : function() { GL.blendEquation(GL.FUNC_ADD); } - }, - blendEquationSeparate : { - generate : function() { - return [blendEquationMode.random(), blendEquationMode.random()]; - }, - checkArgValidity : function(o,p) { - return blendEquationMode.has(o) && blendEquationMode.has(p); - }, - teardown : function() { GL.blendEquationSeparate(GL.FUNC_ADD, GL.FUNC_ADD); } - }, - blendFunc : { - generate : function() { - return [blendFuncSfactor.random(), blendFuncDfactor.random()]; - }, - checkArgValidity : function(s,d) { - return blendFuncSfactor.has(s) && blendFuncDfactor.has(d); - }, - teardown : function() { GL.blendFunc(GL.ONE, GL.ZERO); } - }, - blendFuncSeparate : { - generate : function() { - return [blendFuncSfactor.random(), blendFuncDfactor.random(), - blendFuncSfactor.random(), blendFuncDfactor.random()]; - }, - checkArgValidity : function(s,d,as,ad) { - return blendFuncSfactor.has(s) && blendFuncDfactor.has(d) && - blendFuncSfactor.has(as) && blendFuncDfactor.has(ad) ; - }, - teardown : function() { - GL.blendFuncSeparate(GL.ONE, GL.ZERO, GL.ONE, GL.ZERO); - } - } - -}; diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B3.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B3.js deleted file mode 100644 index 10aa64945e94..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-B3.js +++ /dev/null @@ -1,62 +0,0 @@ -// ArgGenerators contains argument generators for WebGL functions. -// The argument generators are used for running random tests against the WebGL -// functions. -// -// ArgGenerators is an object consisting of functionName : argGen -properties. -// -// functionName is a WebGL context function name and the argGen is an argument -// generator object that encapsulates the requirements to run -// randomly generated tests on the WebGL function. -// -// An argGen object has the following methods: -// - setup -- set up state for testing the GL function, returns values -// that need cleanup in teardown. Run once before entering a -// test loop. -// - teardown -- do cleanup on setup's return values after testing is complete -// - generate -- generate a valid set of random arguments for the GL function -// - returnValueCleanup -- do cleanup on value returned by the tested GL function -// - cleanup -- do cleanup on generated arguments from generate -// - checkArgValidity -- check if passed args are valid. Has a call signature -// that matches generate's return value. Returns true -// if args are valid, false if not. -// -// Example test loop that demonstrates how the function args and return -// values flow together: -// -// var setupArgs = argGen.setup(); -// for (var i=0; i= 0 && data.byteLength >= 0 && offset + data.byteLength <= 256; - }, - teardown : function(buf, ebuf) { - GL.deleteBuffer(buf); - GL.deleteBuffer(ebuf); - }, - } - -}; diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-C.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-C.js deleted file mode 100644 index 7aa97040d93c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-C.js +++ /dev/null @@ -1,113 +0,0 @@ -// ArgGenerators contains argument generators for WebGL functions. -// The argument generators are used for running random tests against the WebGL -// functions. -// -// ArgGenerators is an object consisting of functionName : argGen -properties. -// -// functionName is a WebGL context function name and the argGen is an argument -// generator object that encapsulates the requirements to run -// randomly generated tests on the WebGL function. -// -// An argGen object has the following methods: -// - setup -- set up state for testing the GL function, returns values -// that need cleanup in teardown. Run once before entering a -// test loop. -// - teardown -- do cleanup on setup's return values after testing is complete -// - generate -- generate a valid set of random arguments for the GL function -// - returnValueCleanup -- do cleanup on value returned by the tested GL function -// - cleanup -- do cleanup on generated arguments from generate -// - checkArgValidity -- check if passed args are valid. Has a call signature -// that matches generate's return value. Returns true -// if args are valid, false if not. -// -// Example test loop that demonstrates how the function args and return -// values flow together: -// -// var setupArgs = argGen.setup(); -// for (var i=0; i 0.5 ? null : GL.createFramebuffer()]; - }, - checkArgValidity : function(fbo) { - if (fbo != null) - GL.bindFramebuffer(GL.FRAMEBUFFER, fbo); - return fbo == null || GL.isFramebuffer(fbo); - }, - cleanup : function(fbo){ - GL.bindFramebuffer(GL.FRAMEBUFFER, null); - if (fbo != null) - try{ GL.deleteFramebuffer(fbo); } catch(e) {} - } - }, - clear : { - generate : function() { return [clearMask.random()]; }, - checkArgValidity : function(mask) { return clearMask.has(mask); } - }, - clearColor : { - generate : function() { return randomColor(); }, - teardown : function() { GL.clearColor(0,0,0,0); } - }, - clearDepth : { - generate : function() { return [Math.random()]; }, - teardown : function() { GL.clearDepth(1); } - }, - clearStencil : { - generate : function() { return [randomStencil()]; }, - teardown : function() { GL.clearStencil(0); } - }, - colorMask : { - generate : function() { - return [randomBool(), randomBool(), randomBool(), randomBool()]; - }, - teardown : function() { GL.colorMask(true, true, true, true); } - }, - compileShader : {}, // FIXME - copyTexImage2D : {}, // FIXME - copyTexSubImage2D : {}, // FIXME - createBuffer : { - generate : function() { return []; }, - returnValueCleanup : function(o) { GL.deleteBuffer(o); } - }, - createFramebuffer : { - generate : function() { return []; }, - returnValueCleanup : function(o) { GL.deleteFramebuffer(o); } - }, - createProgram : { - generate : function() { return []; }, - returnValueCleanup : function(o) { GL.deleteProgram(o); } - }, - createRenderbuffer : { - generate : function() { return []; }, - returnValueCleanup : function(o) { GL.deleteRenderbuffer(o); } - }, - createShader : { - generate : function() { return [shaderType.random()]; }, - checkArgValidity : function(t) { return shaderType.has(t); }, - returnValueCleanup : function(o) { GL.deleteShader(o); } - }, - createTexture : { - generate : function() { return []; }, - returnValueCleanup : function(o) { GL.deleteTexture(o); } - }, - cullFace : { - generate : function() { return [cullFace.random()]; }, - checkArgValidity : function(f) { return cullFace.has(f); }, - teardown : function() { GL.cullFace(GL.BACK); } - } - -}; diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-D_G.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-D_G.js deleted file mode 100644 index d39c5bb33274..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-D_G.js +++ /dev/null @@ -1,229 +0,0 @@ -// ArgGenerators contains argument generators for WebGL functions. -// The argument generators are used for running random tests against the WebGL -// functions. -// -// ArgGenerators is an object consisting of functionName : argGen -properties. -// -// functionName is a WebGL context function name and the argGen is an argument -// generator object that encapsulates the requirements to run -// randomly generated tests on the WebGL function. -// -// An argGen object has the following methods: -// - setup -- set up state for testing the GL function, returns values -// that need cleanup in teardown. Run once before entering a -// test loop. -// - teardown -- do cleanup on setup's return values after testing is complete -// - generate -- generate a valid set of random arguments for the GL function -// - returnValueCleanup -- do cleanup on value returned by the tested GL function -// - cleanup -- do cleanup on generated arguments from generate -// - checkArgValidity -- check if passed args are valid. Has a call signature -// that matches generate's return value. Returns true -// if args are valid, false if not. -// -// Example test loop that demonstrates how the function args and return -// values flow together: -// -// var setupArgs = argGen.setup(); -// for (var i=0; i= 0 && castToInt(h) >= 0; - }, - teardown : function() { - GL.scissor(0,0,GL.canvas.width, GL.canvas.height); - } - }, - shaderSource : {}, // FIXME - stencilFunc : { - generate : function(){ - return [stencilFuncFunc.random(), randomInt(MaxStencilValue), randomInt(0xffffffff)]; - }, - checkArgValidity : function(func, ref, mask) { - return stencilFuncFunc.has(func) && castToInt(ref) >= 0 && castToInt(ref) < MaxStencilValue; - }, - teardown : function() { - GL.stencilFunc(GL.ALWAYS, 0, 0xffffffff); - } - }, - stencilFuncSeparate : { - generate : function(){ - return [cullFace.random(), stencilFuncFunc.random(), randomInt(MaxStencilValue), randomInt(0xffffffff)]; - }, - checkArgValidity : function(face, func, ref, mask) { - return cullFace.has(face) && stencilFuncFunc.has(func) && castToInt(ref) >= 0 && castToInt(ref) < MaxStencilValue; - }, - teardown : function() { - GL.stencilFunc(GL.ALWAYS, 0, 0xffffffff); - } - }, - stencilMask : { - generate : function() { return [randomInt(0xffffffff)]; }, - teardown : function() { GL.stencilMask(0xffffffff); } - } - -}; diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-S_V.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-S_V.js deleted file mode 100644 index 59f8955337e0..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/argGenerators-S_V.js +++ /dev/null @@ -1,206 +0,0 @@ -// ArgGenerators contains argument generators for WebGL functions. -// The argument generators are used for running random tests against the WebGL -// functions. -// -// ArgGenerators is an object consisting of functionName : argGen -properties. -// -// functionName is a WebGL context function name and the argGen is an argument -// generator object that encapsulates the requirements to run -// randomly generated tests on the WebGL function. -// -// An argGen object has the following methods: -// - setup -- set up state for testing the GL function, returns values -// that need cleanup in teardown. Run once before entering a -// test loop. -// - teardown -- do cleanup on setup's return values after testing is complete -// - generate -- generate a valid set of random arguments for the GL function -// - returnValueCleanup -- do cleanup on value returned by the tested GL function -// - cleanup -- do cleanup on generated arguments from generate -// - checkArgValidity -- check if passed args are valid. Has a call signature -// that matches generate's return value. Returns true -// if args are valid, false if not. -// -// Example test loop that demonstrates how the function args and return -// values flow together: -// -// var setupArgs = argGen.setup(); -// for (var i=0; i 0.5) { - pix = new Uint8Array(16*16*4); - } - return [ - texImageTarget.random(), 0, - format, 16, 16, 0, - format, GL.UNSIGNED_BYTE, pix - ]; - } - }, - checkArgValidity : function(target, level, internalformat, width, height, border, format, type, data) { - // or : function(target, level, internalformat, format, type, image) - if (!texImageTarget.has(target) || castToInt(level) < 0) - return false; - if (arguments.length <= 6) { - var xformat = width; - var xtype = height; - var ximage = border; - if ((ximage instanceof HTMLImageElement || - ximage instanceof HTMLVideoElement || - ximage instanceof HTMLCanvasElement || - ximage instanceof ImageData) && - texImageInternalFormat.has(internalformat) && - texImageFormat.has(xformat) && - texImageType.has(xtype) && - internalformat == xformat) - return true; - return false; - } - var w = castToInt(width), h = castToInt(height), b = castToInt(border); - return texImageInternalFormat.has(internalformat) && w >= 0 && h >= 0 && - b == 0 && (data == null || data.byteLength == w*h*4) && - texImageFormat.has(format) && texImageType.has(type) - && internalformat == format; - }, - teardown : function(tex, tex2) { - GL.bindTexture(GL.TEXTURE_2D, null); - GL.bindTexture(GL.TEXTURE_CUBE_MAP, null); - GL.deleteTexture(tex); - GL.deleteTexture(tex2); - } - }, - texParameterf : { - generate : function() { - var pname = texParameterPname.random(); - var param = texParameterParam[pname].random(); - return [bindTextureTarget.random(), pname, param]; - }, - checkArgValidity : function(target, pname, param) { - if (!bindTextureTarget.has(target)) - return false; - if (!texParameterPname.has(pname)) - return false; - return texParameterParam[pname].has(param); - } - }, - texParameteri : { - generate : function() { - var pname = texParameterPname.random(); - var param = texParameterParam[pname].random(); - return [bindTextureTarget.random(), pname, param]; - }, - checkArgValidity : function(target, pname, param) { - if (!bindTextureTarget.has(target)) - return false; - if (!texParameterPname.has(pname)) - return false; - return texParameterParam[pname].has(param); - } - }, - texSubImage2D : {}, // FIXME - -// U - - uniform1f : {}, // FIXME - uniform1fv : {}, // FIXME - uniform1i : {}, // FIXME - uniform1iv : {}, // FIXME - uniform2f : {}, // FIXME - uniform2fv : {}, // FIXME - uniform2i : {}, // FIXME - uniform2iv : {}, // FIXME - uniform3f : {}, // FIXME - uniform3fv : {}, // FIXME - uniform3i : {}, // FIXME - uniform3iv : {}, // FIXME - uniform4f : {}, // FIXME - uniform4fv : {}, // FIXME - uniform4i : {}, // FIXME - uniform4iv : {}, // FIXME - uniformMatrix2fv : {}, // FIXME - uniformMatrix3fv : {}, // FIXME - uniformMatrix4fv : {}, // FIXME - useProgram : {}, // FIXME - -// V - - validateProgram : {}, // FIXME - vertexAttrib1f : {}, // FIXME - vertexAttrib1fv : {}, // FIXME - vertexAttrib2f : {}, // FIXME - vertexAttrib2fv : {}, // FIXME - vertexAttrib3f : {}, // FIXME - vertexAttrib3fv : {}, // FIXME - vertexAttrib4f : {}, // FIXME - vertexAttrib4fv : {}, // FIXME - vertexAttribPointer : {}, // FIXME - viewport : { - generate : function() { - return [randomInt(3000)-1500, randomInt(3000)-1500, randomIntFromRange(0,3000), randomIntFromRange(0,3000)]; - }, - checkArgValidity : function(x,y,w,h) { - return castToInt(w) >= 0 && castToInt(h) >= 0; - }, - teardown : function() { - GL.viewport(0,0,GL.canvas.width, GL.canvas.height); - } - } - -}; diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/badArgsArityLessThanArgc.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/badArgsArityLessThanArgc.html deleted file mode 100644 index a12f07b95851..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/badArgsArityLessThanArgc.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/constants.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/constants.html deleted file mode 100644 index 0afb6d5be782..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/constants.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/fuzzTheAPI.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/fuzzTheAPI.html deleted file mode 100644 index 959a17181d2b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/fuzzTheAPI.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - -

Optional: Enter a comma-separated list of functions to fuzz (leave blank for full API)

- -

-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/getContext.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/getContext.html
deleted file mode 100644
index ab32e9c56356..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/getContext.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-  
-  
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/methods.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/methods.html
deleted file mode 100644
index 085453ae71fe..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/methods.html
+++ /dev/null
@@ -1,202 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-  
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-A.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-A.html
deleted file mode 100644
index 57ef14807a6b..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-A.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B1.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B1.html
deleted file mode 100644
index 57823f2414e9..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B1.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B2.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B2.html
deleted file mode 100644
index ed968e455058..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B2.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B3.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B3.html
deleted file mode 100644
index 9b706365e15e..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B3.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B4.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B4.html
deleted file mode 100644
index 485cf1b9712e..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-B4.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-C.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-C.html
deleted file mode 100644
index a5d85e7fcc1c..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-C.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-D_G.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-D_G.html
deleted file mode 100644
index 6f7b35ac1092..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-D_G.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-G_I.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-G_I.html
deleted file mode 100644
index a974cb64cc89..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-G_I.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-L_S.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-L_S.html
deleted file mode 100644
index ccfe7532a66a..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-L_S.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-S_V.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-S_V.html
deleted file mode 100644
index 415ea843fe93..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI-S_V.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI.js b/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI.js
deleted file mode 100644
index 330f7c82444f..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/quickCheckAPI.js
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
-  QuickCheck tests for WebGL:
-
-    1. Write a valid arg generator for each function
-      1.1. Write valid arg predicates to use with random generator:
-            if value passes generator, accept it as valid.
-      1.2. Often needs initializing and cleanup:
-            setup - generate - cleanup
-            gl.createBuffer - test(bindBufferGenerator) - gl.deleteBuffer
-
-    2. Write an invalid arg generator
-      2.1. Take valid args, modify an arg until the args no longer pass
-            checkArgValidity.
-      2.2. Repeat for all args.
-
-    3. Test functions using the generators
-      3.1. Args generated with the valid arg generator should pass
-            assertOk(f(args))
-      3.2. Args generated with the invalid arg generator should pass
-            assertFail(f(args))
-*/
-var GLcanvas = document.createElement('canvas');
-var canvas2D = document.createElement('canvas');
-GLcanvas.width = GLcanvas.height = 256;
-GL = GLcanvas.getContext(GL_CONTEXT_ID);
-Array.from = function(o) {
-  var a = [];
-  for (var i=0; i= 0;
-  if (bufData instanceof ArrayBuffer)
-    return true;
-  return WebGLArrayTypes.some(function(t) {
-    return bufData instanceof t;
-  });
-};
-
-isVertexAttribute = function(idx) {
-  if (typeof idx != 'number') return false;
-  return idx >= 0 && idx < MaxVertexAttribs;
-};
-
-isValidName = function(name) {
-  if (typeof name != 'string') return false;
-  for (var i=0; i 0.5; };
-
-randomStencil = function() {
-  return randomInt(MaxStencilValue);
-};
-
-randomLineWidth = function() {
-  var lo = LineWidthRange[0],
-      hi = LineWidthRange[1];
-  return randomFloatFromRange(lo, hi);
-};
-
-randomImage = function(w,h) {
-  var img;
-  var r = Math.random();
-  if (r < 0.5) {
-    img = document.createElement('canvas');
-    img.width = w; img.height = h;
-    img.getContext('2d').fillRect(0,0,w,h);
-  } else if (r < 0.5) {
-    img = document.createElement('video');
-    img.width = w; img.height = h;
-  } else if (r < 0.5) {
-    img = document.createElement('img');
-    img.width = w; img.height = h;
-  } else {
-    img = canvas2D.getContext('2d').createImageData(w,h);
-  }
-  return img
-};
-
-mutateArgs = function(args) {
-  var mutateCount = randomIntFromRange(1, args.length);
-  var newArgs = Array.from(args);
-  for (var i=0; i
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/conformance/webGLArrays.html b/dom/canvas/test/webgl-conformance/conformance/more/conformance/webGLArrays.html
deleted file mode 100644
index 0e41c57cffcf..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/conformance/webGLArrays.html
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dom/canvas/test/webgl-conformance/conformance/more/demos/opengl_web.html b/dom/canvas/test/webgl-conformance/conformance/more/demos/opengl_web.html
deleted file mode 100644
index 20cd6b56580e..000000000000
--- a/dom/canvas/test/webgl-conformance/conformance/more/demos/opengl_web.html
+++ /dev/null
@@ -1,580 +0,0 @@
-
-
-
-
-OpenGL for the web
-
-
-
-    
-
-    
-
-    
-    
-    
-
-    
-    
-    
-    
-
-    
-    
-    
-    
-
-    
-
-
-    
-    

-
-    
-

OpenGL for the web

-

-The WebGL specification gives web developers access to an -OpenGL ES 2.0 drawing context for the canvas tag. What that means is -that you can finally harness the power of the GPU for awesome visuals -and heavy-duty number crunching in your web apps.

OpenGL ES 2.0 is a subset of OpenGL 2.0 aimed at embedded -devices and game consoles. As such, it's a very minimalistic low-level -API, even more so than desktop OpenGL. In fact, if you took desktop -OpenGL and stripped out everything but shaders, vertex arrays and -textures, you'd get something quite like OpenGL ES 2.0.

-

- As there is no fixed-function pipeline, you need to write GLSL shaders to draw anything. -And you need to do your own transformation math, including keeping -track of the transformation matrix stack. So the raw API is really not -for the faint of heart; you do need to know your 3D math and shading -equations.

-

For example, to draw the spinning cubes on the -right - around 200 lines of application code, 250 lines of shaders and -800 lines of library code - I had to scrounge the internet for GLSL shaders -to do the transformation and lighting, write a small matrix math -library in JavaScript and a DOF blur shader. While highly educational, -it was also a rather steep hill to climb.

-

So, the intended audience of the raw context -interface are not really end-users, but library developers who can -write easy-to-use interfaces to the functionality, and 3D developers -who require a high level of control over the rendering pipeline.

-

The really cool thing about the OpenGL Canvas is -that it doesn't make policy decisions. There's no single set-in-stone -use case for it: In addition to 3D graphics, you can also use it for -filtering images, visualizing fluid dynamics, doing real-time video -effects, or just crunching a whole lot of FP math. If you can do it on -the GPU, you're in luck!

-
-
-

You can also place content above the canvas

-
- diff --git a/dom/canvas/test/webgl-conformance/conformance/more/demos/video.html b/dom/canvas/test/webgl-conformance/conformance/more/demos/video.html deleted file mode 100644 index 0ae663814ab9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/demos/video.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - -
- This is a port of Paul Rouget's Canvas+Video green screen demo, plus a texture lookup from the Firefox logo based on the values of the green and red color channels. -
-
- - -
-
- -
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBuffer.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBuffer.html deleted file mode 100644 index b5ffccf2e340..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBuffer.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBufferBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBufferBadArgs.html deleted file mode 100644 index 80bb7d74ae12..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindBufferBadArgs.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindFramebufferLeaveNonZero.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bindFramebufferLeaveNonZero.html deleted file mode 100644 index a7fafa80dc40..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bindFramebufferLeaveNonZero.html +++ /dev/null @@ -1,23 +0,0 @@ - - - -OpenGL for the web - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferData.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferData.html deleted file mode 100644 index 7946f19e241b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferData.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferDataBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferDataBadArgs.html deleted file mode 100644 index 53fab67adf96..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferDataBadArgs.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubData.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubData.html deleted file mode 100644 index ccfa7ed38575..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubData.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubDataBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubDataBadArgs.html deleted file mode 100644 index 2c191e1a4dd4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/bufferSubDataBadArgs.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2D.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2D.html deleted file mode 100644 index 2138b625dcda..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2D.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2DBadArgs.html deleted file mode 100644 index d21af41215d7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexImage2DBadArgs.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2D.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2D.html deleted file mode 100644 index 97f78bc33290..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2D.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2DBadArgs.html deleted file mode 100644 index 747d4b25a2cd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/copyTexSubImage2DBadArgs.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/deleteBufferBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/deleteBufferBadArgs.html deleted file mode 100644 index 1569bfb7158e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/deleteBufferBadArgs.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArrays.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArrays.html deleted file mode 100644 index f23895dce0f3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArrays.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArraysOutOfBounds.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArraysOutOfBounds.html deleted file mode 100644 index a24bc623799c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawArraysOutOfBounds.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElements.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElements.html deleted file mode 100644 index bcb0c5ad75fe..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElements.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElementsBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElementsBadArgs.html deleted file mode 100644 index 5441735ab621..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/drawElementsBadArgs.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/isTests.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/isTests.html deleted file mode 100644 index 037e4545010d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/isTests.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixels.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixels.html deleted file mode 100644 index 1740d8a846d3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixels.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixelsBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixelsBadArgs.html deleted file mode 100644 index 1db4c8df2fe8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/readPixelsBadArgs.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2D.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2D.html deleted file mode 100644 index 58bcf239612b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2D.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html deleted file mode 100644 index 750e681385c8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - -
- -
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTML.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTML.html deleted file mode 100644 index 83744b4b27a9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTML.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTMLBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTMLBadArgs.html deleted file mode 100644 index e86f8fd0dffb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DHTMLBadArgs.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2D.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2D.html deleted file mode 100644 index 25025faf110b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2D.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html deleted file mode 100644 index edfd10f480f8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTML.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTML.html deleted file mode 100644 index 0d63076fec9a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTML.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTMLBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTMLBadArgs.html deleted file mode 100644 index 4411f4583dba..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DHTMLBadArgs.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrix.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrix.html deleted file mode 100644 index 447abb5bc51a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrix.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrixBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrixBadArgs.html deleted file mode 100644 index 58680176e944..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformMatrixBadArgs.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformf.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformf.html deleted file mode 100644 index 343b90ebe7de..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformf.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfArrayLen1.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfArrayLen1.html deleted file mode 100644 index 29e021d24aa5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfArrayLen1.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfBadArgs.html deleted file mode 100644 index 79bc3f8d7f28..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformfBadArgs.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformi.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformi.html deleted file mode 100644 index 0fb1414344c6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformi.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformiBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformiBadArgs.html deleted file mode 100644 index 223fe8308217..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/uniformiBadArgs.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttrib.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttrib.html deleted file mode 100644 index 1c31a3fe8c09..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttrib.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribBadArgs.html deleted file mode 100644 index 7c3cb6f09230..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribBadArgs.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointer.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointer.html deleted file mode 100644 index c0af5f0b6227..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointer.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointerBadArgs.html b/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointerBadArgs.html deleted file mode 100644 index dcae8a225294..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/functions/vertexAttribPointerBadArgs.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/glsl/arrayOutOfBounds.html b/dom/canvas/test/webgl-conformance/conformance/more/glsl/arrayOutOfBounds.html deleted file mode 100644 index 85602056e113..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/glsl/arrayOutOfBounds.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/glsl/longLoops.html b/dom/canvas/test/webgl-conformance/conformance/more/glsl/longLoops.html deleted file mode 100644 index 9def713c3ea8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/glsl/longLoops.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/glsl/uniformOutOfBounds.html b/dom/canvas/test/webgl-conformance/conformance/more/glsl/uniformOutOfBounds.html deleted file mode 100644 index 378219dac792..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/glsl/uniformOutOfBounds.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/glsl/unusedAttribsUniforms.html b/dom/canvas/test/webgl-conformance/conformance/more/glsl/unusedAttribsUniforms.html deleted file mode 100644 index 72754af54cba..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/glsl/unusedAttribsUniforms.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/index.html b/dom/canvas/test/webgl-conformance/conformance/more/index.html deleted file mode 100644 index f06c45992476..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - WebGL tests - - - -

Tests for the WebGL canvas context

- -

These tests are intended to serve the following purposes:

-
    -
  • Assert spec conformance (so that WebGL pages work the same across browsers and hardware)
  • -
  • Check the safety of the GL binding (bounds checking, same origin policy)
  • -
  • Provide performance numbers for developers
  • -
- -

Test runners

- - - -

Demos

- - -

Running the tests

- -
    -
  1. Install a browser with WebGL support
  2. -
  3. Open one of the test runners linked above in your browser.
  4. -
  5. For more control over the tests, go the GitHub page, see the readme, and clone the repo.
  6. -
- -

Want to contribute?

- -

See the README.

-

See the GitHub page.

-

Mail me at ilmari.heikkinen@gmail.com

- - -

For more information on WebGL

- - - -

Developer links

- - - -

License

- -

- These tests are released under the BSD license. The images and videos used in the tests are the respective property of their authors. -

- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/performance/CPUvsGPU.html b/dom/canvas/test/webgl-conformance/conformance/more/performance/CPUvsGPU.html deleted file mode 100644 index 94a8d4c60643..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/performance/CPUvsGPU.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - - - - - - - - - - -
-
CPU 1x Gaussian blur
-
- -
GPU 1000x Gaussian blur
-
-
- diff --git a/dom/canvas/test/webgl-conformance/conformance/more/performance/bandwidth.html b/dom/canvas/test/webgl-conformance/conformance/more/performance/bandwidth.html deleted file mode 100644 index 55530fae1333..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/performance/bandwidth.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - -

100x 256x256x4 texture upload with texImage2D (26.2MB total)

-

-

100x 256x256x4 texture upload with texSubImage2D (26.2MB total)

-

-

100x 256x256x4 texture upload with texImage2DHTML (26.2MB total)

-

-

100x 256x256x4 texture upload with texSubImage2DHTML (26.2MB total)

-

-

100x 256x256x4 readPixels (26.2MB total)

-

-

100x 256x256x4 getImageData (26.2MB total)

-

-

25x 256x256x4 float bufferData (6.6MB total)

-

-

25x 256x256x4 float bufferSubData (6.6MB total)

-

-

100x 256x256x4 float bufferData, reuse Float32Array (26.2MB total)

-

-

100x 256x256x4 float bufferSubData, reuse Float32Array (26.2MB total)

-

-

100x 256x256 vert VBO draw

-

-

100x 256x256 vert VBO draw, change VBO after each draw

-

- -

1000x 256x256 texture draw

-

- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsGCPause.html b/dom/canvas/test/webgl-conformance/conformance/more/performance/jsGCPause.html deleted file mode 100644 index edd1c20fcdc2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsGCPause.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - -

10 seconds of 60fps 200x mul4x4, frame time statistics

-

- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsMatrixMult.html b/dom/canvas/test/webgl-conformance/conformance/more/performance/jsMatrixMult.html deleted file mode 100644 index ddb8d77b4dcf..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsMatrixMult.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - -

1000000x JavaScript Matrix.mul4x4

-

-

1000x JavaScript transform stack

-

- - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsToGLOverhead.html b/dom/canvas/test/webgl-conformance/conformance/more/performance/jsToGLOverhead.html deleted file mode 100644 index 9bacc9806999..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/performance/jsToGLOverhead.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - -

1000000x gl.getError() (measuring JS->GL call overhead)

-

-

1000000x fakeGl.getError() (measuring JS->JS call overhead)

-

-

1000000x i++ (measuring loop overhead)

-

- - diff --git a/dom/canvas/test/webgl-conformance/conformance/more/unit.css b/dom/canvas/test/webgl-conformance/conformance/more/unit.css deleted file mode 100644 index 0758b43bd9dd..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/unit.css +++ /dev/null @@ -1,66 +0,0 @@ -/* -Tests for the OpenGL ES 2.0 HTML Canvas context - -Copyright (C) 2009 Ilmari Heikkinen - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -*/ -.ok { - color: green; -} -.fail { - color: red; -} -canvas { - display: none; -} -#test-status { - font-size: large; -} - -#test-log { - padding-left: 0.5em; - padding-right: 0.5em; - background: white; - color: black; -} -#test-log > div { - padding-bottom: 0.5em; -} -#test-log h2 { - font-size: 1em; - margin-bottom: 0em; - padding-top: 0.5em; -} -#test-log h3 { - font-size: small; - margin-left: 1.5em; - margin-bottom: 0em; - margin-top: 0.5em; -} -#test-log p { - margin-left: 4em; - font-size: small; - margin-top: 0em; - margin-bottom: 0.2em; -} diff --git a/dom/canvas/test/webgl-conformance/conformance/more/unit.js b/dom/canvas/test/webgl-conformance/conformance/more/unit.js deleted file mode 100644 index 57cdb620fd7a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/more/unit.js +++ /dev/null @@ -1,881 +0,0 @@ -/* -Unit testing library for the OpenGL ES 2.0 HTML Canvas context - -Copyright (C) 2011 Ilmari Heikkinen - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. -*/ -Tests = { - autorun : true, - message : null, - delay : 0, - - startUnit : function(){ return []; }, - setup : function() { return arguments; }, - teardown : function() {}, - endUnit : function() {} -} - -var __testSuccess__ = true; -var __testFailCount__ = 0; -var __testLog__; -var __backlog__ = []; - -Object.toSource = function(a, seen){ - if (a == null) return "null"; - if (typeof a == 'boolean') return a ? "true" : "false"; - if (typeof a == 'string') return '"' + a.replace(/"/g, '\\"') + '"'; - if (a instanceof HTMLElement) return a.toString(); - if (a.width && a.height && a.data) return "[ImageData]"; - if (a instanceof Array) { - if (!seen) seen = []; - var idx = seen.indexOf(a); - if (idx != -1) return '#'+(idx+1)+'#'; - seen.unshift(a); - var srcs = a.map(function(o){ return Object.toSource(o,seen) }); - var prefix = ''; - idx = seen.indexOf(a); - if (idx != -1) prefix = '#'+(idx+1)+'='; - return prefix + '[' + srcs.join(", ") + ']'; - } - if (typeof a == 'object') { - if (!seen) seen = []; - var idx = seen.indexOf(a); - if (idx != -1) return '#'+(idx+1)+'#'; - seen.unshift(a); - var members = []; - var name; - try { - for (var i in a) { - if (i.search(/^[a-zA-Z0-9]+$/) != -1) - name = i; - else - name = '"' + i.replace(/"/g, '\\"') + '"'; - var ai; - try { ai = a[i]; } - catch(e) { ai = 'null /*ERROR_ACCESSING*/'; } - var s = name + ':' + Object.toSource(ai, seen); - members.push(s); - } - } catch (e) {} - var prefix = ''; - idx = seen.indexOf(a); - if (idx != -1) prefix = '#'+(idx+1)+'='; - return prefix + '{' + members.join(", ") + '}' - } - if (typeof a == 'function') - return '('+a.toString().replace(/\n/g, " ").replace(/\s+/g, " ")+')'; - return a.toString(); -} - -function formatError(e) { - if (window.console) console.log(e); - var pathSegs = location.href.toString().split("/"); - var currentDoc = e.lineNumber != null ? pathSegs[pathSegs.length - 1] : null; - var trace = (e.filename || currentDoc) + ":" + e.lineNumber + (e.trace ? "\n"+e.trace : ""); - return e.message + "\n" + trace; -} - -function runTests() { - var h = document.getElementById('test-status'); - if (h == null) { - h = document.createElement('h1'); - h.id = 'test-status'; - document.body.appendChild(h); - } - h.textContent = ""; - var log = document.getElementById('test-log'); - if (log == null) { - log = document.createElement('div'); - log.id = 'test-log'; - document.body.appendChild(log); - } - while (log.childNodes.length > 0) - log.removeChild(log.firstChild); - - var setup_args = []; - - if (Tests.startUnit != null) { - __testLog__ = document.createElement('div'); - try { - setup_args = Tests.startUnit(); - if (__testLog__.childNodes.length > 0) - log.appendChild(__testLog__); - } catch(e) { - testFailed("startUnit", formatError(e)); - log.appendChild(__testLog__); - printTestStatus(); - return; - } - } - - var testsRun = false; - var allTestsSuccessful = true; - - for (var i in Tests) { - if (i.substring(0,4) != "test") continue; - __testLog__ = document.createElement('div'); - __testSuccess__ = true; - try { - doTestNotify (i); - var args = setup_args; - if (Tests.setup != null) - args = Tests.setup.apply(Tests, setup_args); - Tests[i].apply(Tests, args); - if (Tests.teardown != null) - Tests.teardown.apply(Tests, args); - } - catch (e) { - testFailed(i, e.name, formatError(e)); - } - if (__testSuccess__ == false) { - ++__testFailCount__; - } - var h = document.createElement('h2'); - h.textContent = i; - __testLog__.insertBefore(h, __testLog__.firstChild); - log.appendChild(__testLog__); - allTestsSuccessful = allTestsSuccessful && __testSuccess__ == true; - reportTestResultsToHarness(__testSuccess__, i); - doTestNotify (i+"--"+(__testSuccess__?"OK":"FAIL")); - testsRun = true; - } - - printTestStatus(testsRun); - if (Tests.endUnit != null) { - __testLog__ = document.createElement('div'); - try { - Tests.endUnit.apply(Tests, setup_args); - if (__testLog__.childNodes.length > 0) - log.appendChild(__testLog__); - } catch(e) { - testFailed("endUnit", e.name, formatError(e)); - log.appendChild(__testLog__); - } - } - notifyFinishedToHarness(allTestsSuccessful, "finished tests"); -} - -function doTestNotify(name) { - //try { - // var xhr = new XMLHttpRequest(); - // xhr.open("GET", "http://localhost:8888/"+name, true); - // xhr.send(null); - //} catch(e) {} -} - -function testFailed(assertName, name) { - var d = document.createElement('div'); - var h = document.createElement('h3'); - var d1 = document.createElement("span"); - h.appendChild(d1); - d1.appendChild(document.createTextNode("FAIL: ")); - d1.style.color = "red"; - h.appendChild(document.createTextNode( - name==null ? assertName : name + " (in " + assertName + ")")); - d.appendChild(h); - var args = [] - for (var i=2; i 0.95) - return hi; - else - return lo + Math.random()*(hi-lo); -} -function randomInt (sz) { - if (sz != null) - return Math.floor(Math.random()*sz); - else - return Math.floor(randomFloat()); -} -function randomIntFromRange(lo, hi) { - return Math.floor(randomFloatFromRange(lo, hi)); -} -function randomLength () { - var l = Math.floor(Math.random() * 256); - if (Math.random < 0.5) l = l / 10; - if (Math.random < 0.3) l = l / 10; - return l; -} -function randomSmallIntArray () { - var l = randomLength(); - var s = new Array(l); - for (var i=0; i - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. -*/ - -function loadTexture(gl, elem, mipmaps) { - var tex = gl.createTexture(); - gl.bindTexture(gl.TEXTURE_2D, tex); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, elem); - if (mipmaps != false) - gl.generateMipmap(gl.TEXTURE_2D); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); - if (mipmaps) - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); - else - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); - return tex; -} - -function getShader(gl, id) { - var shaderScript = document.getElementById(id); - if (!shaderScript) { - throw(new Error("No shader element with id: "+id)); - } - - var str = ""; - var k = shaderScript.firstChild; - while (k) { - if (k.nodeType == 3) - str += k.textContent; - k = k.nextSibling; - } - - var shader; - if (shaderScript.type == "x-shader/x-fragment") { - shader = gl.createShader(gl.FRAGMENT_SHADER); - } else if (shaderScript.type == "x-shader/x-vertex") { - shader = gl.createShader(gl.VERTEX_SHADER); - } else { - throw(new Error("Unknown shader type "+shaderScript.type)); - } - - gl.shaderSource(shader, str); - gl.compileShader(shader); - - if (gl.getShaderParameter(shader, gl.COMPILE_STATUS) != 1) { - var ilog = gl.getShaderInfoLog(shader); - gl.deleteShader(shader); - throw(new Error("Failed to compile shader "+shaderScript.id + ", Shader info log: " + ilog)); - } - return shader; -} - -function loadShaderArray(gl, shaders) { - var id = gl.createProgram(); - var shaderObjs = []; - for (var i=0; i - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/gl-bind-attrib-location-test.html b/dom/canvas/test/webgl-conformance/conformance/programs/gl-bind-attrib-location-test.html deleted file mode 100644 index e4ceb47af67b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/gl-bind-attrib-location-test.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - -WebGL BindAttribLocation Conformance Tests - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-attribute.html b/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-attribute.html deleted file mode 100644 index 4f7ecc63e7c9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-attribute.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -WebGL getActiveAttrib conformance test. - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-uniform.html b/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-uniform.html deleted file mode 100644 index 295cfe7159fc..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/gl-get-active-uniform.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - -WebGL getActiveUniform conformance test. - - - - - - - -
-
- - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/gl-getshadersource.html b/dom/canvas/test/webgl-conformance/conformance/programs/gl-getshadersource.html deleted file mode 100644 index 8bbf13c16071..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/gl-getshadersource.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - WebGL getShaderSource conformance test. - - - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/gl-shader-test.html b/dom/canvas/test/webgl-conformance/conformance/programs/gl-shader-test.html deleted file mode 100644 index b7b247465733..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/gl-shader-test.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - -WebGL ShaderL Conformance Tests - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/invalid-UTF-16.html b/dom/canvas/test/webgl-conformance/conformance/programs/invalid-UTF-16.html deleted file mode 100644 index b4666cb36f6a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/invalid-UTF-16.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -

-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/programs/program-test.html b/dom/canvas/test/webgl-conformance/conformance/programs/program-test.html deleted file mode 100644 index d5e051c63a7a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/programs/program-test.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - -WebGL Program Compiling/Linking Conformance Test - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/reading/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/reading/00_test_list.txt deleted file mode 100644 index bff4db57ee66..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/reading/00_test_list.txt +++ /dev/null @@ -1,3 +0,0 @@ -read-pixels-pack-alignment.html -read-pixels-test.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-pack-alignment.html b/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-pack-alignment.html deleted file mode 100644 index 1f9b5801347a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-pack-alignment.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-test.html b/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-test.html deleted file mode 100644 index 78e621c4089c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/reading/read-pixels-test.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - -WebGL ReadPixels conformance test. - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/renderbuffers/00_test_list.txt deleted file mode 100644 index 31590c886432..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/00_test_list.txt +++ /dev/null @@ -1,4 +0,0 @@ -framebuffer-object-attachment.html -framebuffer-test.html -renderbuffer-initialization.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-object-attachment.html b/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-object-attachment.html deleted file mode 100644 index 5b5f213d2d2f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-object-attachment.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-test.html b/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-test.html deleted file mode 100644 index e48c8b8c1b4a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/framebuffer-test.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - -WebGL Framebuffer Test - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/renderbuffer-initialization.html b/dom/canvas/test/webgl-conformance/conformance/renderbuffers/renderbuffer-initialization.html deleted file mode 100644 index 7c064ff27210..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/renderbuffers/renderbuffer-initialization.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/rendering/00_test_list.txt deleted file mode 100644 index 51fe311aee80..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/00_test_list.txt +++ /dev/null @@ -1,9 +0,0 @@ -draw-arrays-out-of-bounds.html -draw-elements-out-of-bounds.html -gl-clear.html -gl-drawelements.html -gl-scissor-test.html -more-than-65536-indices.html -point-size.html -triangle.html -line-loop-tri-fan.html diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/draw-arrays-out-of-bounds.html b/dom/canvas/test/webgl-conformance/conformance/rendering/draw-arrays-out-of-bounds.html deleted file mode 100644 index 7ed309dc71f3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/draw-arrays-out-of-bounds.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/draw-elements-out-of-bounds.html b/dom/canvas/test/webgl-conformance/conformance/rendering/draw-elements-out-of-bounds.html deleted file mode 100644 index 8b300707a969..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/draw-elements-out-of-bounds.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-clear.html b/dom/canvas/test/webgl-conformance/conformance/rendering/gl-clear.html deleted file mode 100644 index 0c60897a6557..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-clear.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - -WebGL clear conformance test. - - - - - - - -
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-drawelements.html b/dom/canvas/test/webgl-conformance/conformance/rendering/gl-drawelements.html deleted file mode 100644 index 9cf9d8c1de4e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-drawelements.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - WebGL drawElements Test - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-scissor-test.html b/dom/canvas/test/webgl-conformance/conformance/rendering/gl-scissor-test.html deleted file mode 100644 index f4d477cb84e5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/gl-scissor-test.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - -WebGL Scissor Test - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/line-loop-tri-fan.html b/dom/canvas/test/webgl-conformance/conformance/rendering/line-loop-tri-fan.html deleted file mode 100644 index 2f6483b3e2ff..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/line-loop-tri-fan.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/more-than-65536-indices.html b/dom/canvas/test/webgl-conformance/conformance/rendering/more-than-65536-indices.html deleted file mode 100644 index 8714e1dca58f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/more-than-65536-indices.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -WebGL More than 65536 indices. - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/point-size.html b/dom/canvas/test/webgl-conformance/conformance/rendering/point-size.html deleted file mode 100644 index 1d52f5791968..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/point-size.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/rendering/triangle.html b/dom/canvas/test/webgl-conformance/conformance/rendering/triangle.html deleted file mode 100644 index 717043cac3ed..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/rendering/triangle.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - Rendering Test - - - - - - -There is supposed to be an example drawing here, but it's not important. - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/3x3.png b/dom/canvas/test/webgl-conformance/conformance/resources/3x3.png deleted file mode 100644 index 6cf1e7447a3a9aca40a80383b755001789941e6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2806 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 IM6N<$f+kxuiU0rr diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/blue-1x1.jpg b/dom/canvas/test/webgl-conformance/conformance/resources/blue-1x1.jpg deleted file mode 100644 index a70bbb0219db91035d8e37d56a65498c10851b6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmex=FjNKTjc1!8bAa z|7`|mkXniW$PkJQ0BQbzfI*OhfsuicnNf*>Nsy6Qkn#T!22r5n7*GKhP*_9&U6cW& m7-$TtS`M&cK{Qcdpxk2MVP*tc!z{>P&(K#O{y}^H|C<1ZB_+N9 diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/boolUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/boolUniformShader.vert deleted file mode 100644 index 9226b3b5c0fa..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/boolUniformShader.vert +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2009 The Chromium Authors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -uniform bool bval; -uniform bvec2 bval2; -uniform bvec3 bval3; -uniform bvec4 bval4; - -void main() -{ - bool allSet = bval - && bval2[0] && bval2[1] - && bval3[0] && bval3[1] && bval3[2] - && bval4[0] && bval4[1] && bval4[2] && bval4[3]; - gl_Position = vec4((allSet ? 1.0 : -1.0), 0.0, 0.0, 1.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/bug-32888-texture.png b/dom/canvas/test/webgl-conformance/conformance/resources/bug-32888-texture.png deleted file mode 100644 index e78cfe79979b85202bec19b8a454e669361ee8ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10050 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 0) { - success = false; - } else if (firstLine.indexOf("succeed") >= 0) { - success = true; - } - if (success === undefined) { - testFailed("bad first line in " + file + ":" + firstLine); - continue; - } - if (!wtu.startsWith(firstLine, "// ")) { - testFailed("bad first line in " + file + ":" + firstLine); - continue; - } - passMsg = passMsg + (passMsg.length ? ", " : "") + firstLine.substr(3); - if (wtu.endsWith(file, ".vert")) { - info.vShaderSource = shaderSource; - info.vShaderSuccess = success; - } else if (wtu.endsWith(file, ".frag")) { - info.fShaderSource = shaderSource; - info.fShaderSuccess = success; - } - } - info.linkSuccess = info.vShaderSuccess && info.fShaderSuccess; - info.passMsg = passMsg; - shaderInfos.push(info); - } - return shaderInfos; -} - -function getSource(elem) { - var str = elem.text; - return str.replace(/^\s*/, '').replace(/\s*$/, ''); -} - -function getPassMessage(source) { - var lines = source.split('\n'); - return lines[0].substring(3); -} - -function getSuccess(msg) { - if (msg.indexOf("fail") >= 0) { - return false; - } - if (msg.indexOf("succeed") >= 0) { - return true; - } - testFailed("bad test description. Must have 'fail' or 'success'"); -} - -function setupTest() { - var vShaderElem = document.getElementById('vertexShader'); - var vShaderSource = defaultVertexShader; - var vShaderSuccess = true; - - var fShaderElem = document.getElementById('fragmentShader'); - var fShaderSource = defaultFragmentShader; - var fShaderSuccess = true; - - var passMsg = undefined; - - if (vShaderElem) { - vShaderSource = getSource(vShaderElem); - passMsg = getPassMessage(vShaderSource); - vShaderSuccess = getSuccess(passMsg); - } - - if (fShaderElem) { - fShaderSource = getSource(fShaderElem); - passMsg = getPassMessage(fShaderSource); - fShaderSuccess = getSuccess(passMsg); - } - - var linkSuccess = vShaderSuccess && fShaderSuccess; - - if (passMsg === undefined) { - testFailed("no test shader found."); - finishTest(); - return; - } - - var info = { - vShaderSource: vShaderSource, - vShaderSuccess: vShaderSuccess, - fShaderSource: fShaderSource, - fShaderSuccess: fShaderSuccess, - linkSuccess: linkSuccess, - passMsg: passMsg - }; - - return info; -} - -function runTest() { - var info = setupTest(); - description(info.passMsg); - runTests([info]); -} - -function runRenderTests(tests) { - for (var ii = 0; ii < tests.length; ++ii) { - tests[ii].render = true - } - runTests(tests); -} - -function runRenderTest() { - var info = setupTest(); - description(info.passMsg); - runRenderTests([info]); -} - -return { - runTest: runTest, - runTests: runTests, - runRenderTest: runRenderTest, - runRenderTests: runRenderTests, - loadExternalShaders: loadExternalShaders, - - none: false, -}; -}()); diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/glsl-feature-tests.css b/dom/canvas/test/webgl-conformance/conformance/resources/glsl-feature-tests.css deleted file mode 100644 index 0134f9a6085b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/glsl-feature-tests.css +++ /dev/null @@ -1,26 +0,0 @@ -canvas { - background-color: white; - background-image: linear-gradient(0, rgba(200, 200, 200, .5) 50%, transparent 50%), linear-gradient(rgba(200, 200, 200, .5) 50%, transparent 50%); - background-size: 8px 8px; -} - -.shader-source { - border: 1px dashed black; - padding: 1em; -} - -.shader-source li:nth-child(odd) { background: #f8f8f8; } -.shader-source li:nth-child(even) { background: #f0f0f0; } - -.testimages { -} - -.testimages br { - clear: both; -} - -.testimages > div { - float: left; - margin: 1em; -} - diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/glsl-generator.js b/dom/canvas/test/webgl-conformance/conformance/resources/glsl-generator.js deleted file mode 100644 index 7b61cc5164e2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/glsl-generator.js +++ /dev/null @@ -1,1157 +0,0 @@ -GLSLGenerator = (function() { - -var vertexShaderTemplate = [ - "attribute vec4 aPosition;", - "", - "varying vec4 vColor;", - "", - "$(extra)", - "$(emu)", - "", - "void main()", - "{", - " gl_Position = aPosition;", - " vec2 texcoord = vec2(aPosition.xy * 0.5 + vec2(0.5, 0.5));", - " vec4 color = vec4(", - " texcoord,", - " texcoord.x * texcoord.y,", - " (1.0 - texcoord.x) * texcoord.y * 0.5 + 0.5);", - " $(test)", - "}" -].join("\n"); - -var fragmentShaderTemplate = [ - "#if defined(GL_ES)", - "precision mediump float;", - "#endif", - "", - "varying vec4 vColor;", - "", - "$(extra)", - "$(emu)", - "", - "void main()", - "{", - " $(test)", - "}" -].join("\n"); - -var baseVertexShader = [ - "attribute vec4 aPosition;", - "", - "varying vec4 vColor;", - "", - "void main()", - "{", - " gl_Position = aPosition;", - " vec2 texcoord = vec2(aPosition.xy * 0.5 + vec2(0.5, 0.5));", - " vColor = vec4(", - " texcoord,", - " texcoord.x * texcoord.y,", - " (1.0 - texcoord.x) * texcoord.y * 0.5 + 0.5);", - "}" -].join("\n"); - -var baseFragmentShader = [ - "#if defined(GL_ES)", - "precision mediump float;", - "#endif", - "varying vec4 vColor;", - "", - "void main()", - "{", - " gl_FragColor = vColor;", - "}" -].join("\n"); - -var types = [ - { type: "float", - code: [ - "float $(func)_emu($(args)) {", - " return $(func)_base($(baseArgs));", - "}"].join("\n") - }, - { type: "vec2", - code: [ - "vec2 $(func)_emu($(args)) {", - " return vec2(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)));", - "}"].join("\n") - }, - { type: "vec3", - code: [ - "vec3 $(func)_emu($(args)) {", - " return vec3(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)),", - " $(func)_base($(baseArgsZ)));", - "}"].join("\n") - }, - { type: "vec4", - code: [ - "vec4 $(func)_emu($(args)) {", - " return vec4(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)),", - " $(func)_base($(baseArgsZ)),", - " $(func)_base($(baseArgsW)));", - "}"].join("\n") - } -]; - -var bvecTypes = [ - { type: "bvec2", - code: [ - "bvec2 $(func)_emu($(args)) {", - " return bvec2(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)));", - "}"].join("\n") - }, - { type: "bvec3", - code: [ - "bvec3 $(func)_emu($(args)) {", - " return bvec3(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)),", - " $(func)_base($(baseArgsZ)));", - "}"].join("\n") - }, - { type: "bvec4", - code: [ - "vec4 $(func)_emu($(args)) {", - " return bvec4(", - " $(func)_base($(baseArgsX)),", - " $(func)_base($(baseArgsY)),", - " $(func)_base($(baseArgsZ)),", - " $(func)_base($(baseArgsW)));", - "}"].join("\n") - } -]; - -var replaceRE = /\$\((\w+)\)/g; - -var replaceParams = function(str) { - var args = arguments; - return str.replace(replaceRE, function(str, p1, offset, s) { - for (var ii = 1; ii < args.length; ++ii) { - if (args[ii][p1] !== undefined) { - return args[ii][p1]; - } - } - throw "unknown string param '" + p1 + "'"; - }); -}; - -var generateReferenceShader = function( - shaderInfo, template, params, typeInfo, test) { - var input = shaderInfo.input; - var output = shaderInfo.output; - var feature = params.feature; - var testFunc = params.testFunc; - var emuFunc = params.emuFunc || ""; - var extra = params.extra || ''; - var args = params.args || "$(type) value"; - var type = typeInfo.type; - var typeCode = typeInfo.code; - - var baseArgs = params.baseArgs || "value$(field)"; - var baseArgsX = replaceParams(baseArgs, {field: ".x"}); - var baseArgsY = replaceParams(baseArgs, {field: ".y"}); - var baseArgsZ = replaceParams(baseArgs, {field: ".z"}); - var baseArgsW = replaceParams(baseArgs, {field: ".w"}); - var baseArgs = replaceParams(baseArgs, {field: ""}); - - test = replaceParams(test, { - input: input, - output: output, - func: feature + "_emu" - }); - emuFunc = replaceParams(emuFunc, { - func: feature - }); - args = replaceParams(args, { - type: type - }); - typeCode = replaceParams(typeCode, { - func: feature, - type: type, - args: args, - baseArgs: baseArgs, - baseArgsX: baseArgsX, - baseArgsY: baseArgsY, - baseArgsZ: baseArgsZ, - baseArgsW: baseArgsW - }); - var shader = replaceParams(template, { - extra: extra, - emu: emuFunc + "\n\n" + typeCode, - test: test - }); - return shader; -}; - -var generateTestShader = function( - shaderInfo, template, params, test) { - var input = shaderInfo.input; - var output = shaderInfo.output; - var feature = params.feature; - var testFunc = params.testFunc; - var extra = params.extra || ''; - - test = replaceParams(test, { - input: input, - output: output, - func: feature - }); - var shader = replaceParams(template, { - extra: extra, - emu: '', - test: test - }); - return shader; -}; - -var runFeatureTest = function(params) { - if (window.initNonKhronosFramework) { - window.initNonKhronosFramework(false); - } - - var wtu = WebGLTestUtils; - var gridRes = params.gridRes; - var vertexTolerance = params.tolerance || 0; - var fragmentTolerance = vertexTolerance; - if ('fragmentTolerance' in params) - fragmentTolerance = params.fragmentTolerance || 0; - - description("Testing GLSL feature: " + params.feature); - - var width = 32; - var height = 32; - - var console = document.getElementById("console"); - var canvas = document.createElement('canvas'); - canvas.width = width; - canvas.height = height; - var gl = wtu.create3DContext(canvas); - if (!gl) { - testFailed("context does not exist"); - finishTest(); - return; - } - - var canvas2d = document.createElement('canvas'); - canvas2d.width = width; - canvas2d.height = height; - var ctx = canvas2d.getContext("2d"); - var imgData = ctx.getImageData(0, 0, width, height); - - var shaderInfos = [ - { type: "vertex", - input: "color", - output: "vColor", - vertexShaderTemplate: vertexShaderTemplate, - fragmentShaderTemplate: baseFragmentShader, - tolerance: vertexTolerance - }, - { type: "fragment", - input: "vColor", - output: "gl_FragColor", - vertexShaderTemplate: baseVertexShader, - fragmentShaderTemplate: fragmentShaderTemplate, - tolerance: fragmentTolerance - } - ]; - for (var ss = 0; ss < shaderInfos.length; ++ss) { - var shaderInfo = shaderInfos[ss]; - var tests = params.tests; - var testTypes = params.emuFuncs || (params.bvecTest ? bvecTypes : types); - // Test vertex shaders - for (var ii = 0; ii < tests.length; ++ii) { - var type = testTypes[ii]; - if (params.simpleEmu) { - type = { - type: type.type, - code: params.simpleEmu - }; - } - debug(""); - var str = replaceParams(params.testFunc, { - func: params.feature, - type: type.type, - arg0: type.type - }); - debug("Testing: " + str + " in " + shaderInfo.type + " shader"); - - var referenceVertexShaderSource = generateReferenceShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - params, - type, - tests[ii]); - var referenceFragmentShaderSource = generateReferenceShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - params, - type, - tests[ii]); - var testVertexShaderSource = generateTestShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - params, - tests[ii]); - var testFragmentShaderSource = generateTestShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - params, - tests[ii]); - - debug(""); - wtu.addShaderSource( - console, "reference vertex shader", referenceVertexShaderSource); - wtu.addShaderSource( - console, "reference fragment shader", referenceFragmentShaderSource); - wtu.addShaderSource( - console, "test vertex shader", testVertexShaderSource); - wtu.addShaderSource( - console, "test fragment shader", testFragmentShaderSource); - debug(""); - - var refData = draw( - canvas, referenceVertexShaderSource, referenceFragmentShaderSource); - var refImg = wtu.makeImage(canvas); - if (ss == 0) { - var testData = draw( - canvas, testVertexShaderSource, referenceFragmentShaderSource); - } else { - var testData = draw( - canvas, referenceVertexShaderSource, testFragmentShaderSource); - } - var testImg = wtu.makeImage(canvas); - - reportResults(refData, refImg, testData, testImg, shaderInfo.tolerance); - } - } - - finishTest(); - - function reportResults(refData, refImage, testData, testImage, tolerance) { - var same = true; - for (var yy = 0; yy < height; ++yy) { - for (var xx = 0; xx < width; ++xx) { - var offset = (yy * width + xx) * 4; - var imgOffset = ((height - yy - 1) * width + xx) * 4; - imgData.data[imgOffset + 0] = 0; - imgData.data[imgOffset + 1] = 0; - imgData.data[imgOffset + 2] = 0; - imgData.data[imgOffset + 3] = 255; - if (Math.abs(refData[offset + 0] - testData[offset + 0]) > tolerance || - Math.abs(refData[offset + 1] - testData[offset + 1]) > tolerance || - Math.abs(refData[offset + 2] - testData[offset + 2]) > tolerance || - Math.abs(refData[offset + 3] - testData[offset + 3]) > tolerance) { - imgData.data[imgOffset] = 255; - same = false; - } - } - } - - var diffImg = null; - if (!same) { - ctx.putImageData(imgData, 0, 0); - diffImg = wtu.makeImage(canvas2d); - } - - var div = document.createElement("div"); - div.className = "testimages"; - wtu.insertImage(div, "ref", refImg); - wtu.insertImage(div, "test", testImg); - if (diffImg) { - wtu.insertImage(div, "diff", diffImg); - } - div.appendChild(document.createElement('br')); - - - console.appendChild(div); - - if (!same) { - testFailed("images are different"); - } else { - testPassed("images are the same"); - } - - console.appendChild(document.createElement('hr')); - } - - function draw(canvas, vsSource, fsSource) { - var program = wtu.loadProgram(gl, vsSource, fsSource, testFailed); - - var posLoc = gl.getAttribLocation(program, "aPosition"); - WebGLTestUtils.setupQuad(gl, gridRes, posLoc); - - gl.useProgram(program); - gl.clearColor(0, 0, 1, 1); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - gl.drawElements(gl.TRIANGLES, gridRes * gridRes * 6, gl.UNSIGNED_SHORT, 0); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw"); - - var img = new Uint8Array(width * height * 4); - gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, img); - return img; - } - -}; - -var runBasicTest = function(params) { - if (window.initNonKhronosFramework) { - window.initNonKhronosFramework(false); - } - - var wtu = WebGLTestUtils; - var gridRes = params.gridRes; - var vertexTolerance = params.tolerance || 0; - var fragmentTolerance = vertexTolerance; - if ('fragmentTolerance' in params) - fragmentTolerance = params.fragmentTolerance || 0; - - description("Testing : " + document.getElementsByTagName("title")[0].innerText); - - var width = 32; - var height = 32; - - var console = document.getElementById("console"); - var canvas = document.createElement('canvas'); - canvas.width = width; - canvas.height = height; - var gl = wtu.create3DContext(canvas); - if (!gl) { - testFailed("context does not exist"); - finishTest(); - return; - } - - var canvas2d = document.createElement('canvas'); - canvas2d.width = width; - canvas2d.height = height; - var ctx = canvas2d.getContext("2d"); - var imgData = ctx.getImageData(0, 0, width, height); - - var shaderInfos = [ - { type: "vertex", - input: "color", - output: "vColor", - vertexShaderTemplate: vertexShaderTemplate, - fragmentShaderTemplate: baseFragmentShader, - tolerance: vertexTolerance - }, - { type: "fragment", - input: "vColor", - output: "gl_FragColor", - vertexShaderTemplate: baseVertexShader, - fragmentShaderTemplate: fragmentShaderTemplate, - tolerance: fragmentTolerance - } - ]; - for (var ss = 0; ss < shaderInfos.length; ++ss) { - var shaderInfo = shaderInfos[ss]; - var tests = params.tests; -// var testTypes = params.emuFuncs || (params.bvecTest ? bvecTypes : types); - // Test vertex shaders - for (var ii = 0; ii < tests.length; ++ii) { - var test = tests[ii]; - debug(""); - debug("Testing: " + test.name + " in " + shaderInfo.type + " shader"); - - function genShader(shaderInfo, template, shader, subs) { - shader = replaceParams(shader, subs, { - input: shaderInfo.input, - output: shaderInfo.output - }); - shader = replaceParams(template, subs, { - test: shader, - emu: "", - extra: "" - }); - return shader; - } - - var referenceVertexShaderSource = genShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - test.reference.shader, - test.reference.subs); - var referenceFragmentShaderSource = genShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - test.reference.shader, - test.reference.subs); - var testVertexShaderSource = genShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - test.test.shader, - test.test.subs); - var testFragmentShaderSource = genShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - test.test.shader, - test.test.subs); - - debug(""); - wtu.addShaderSource( - console, "reference vertex shader", referenceVertexShaderSource); - wtu.addShaderSource( - console, "reference fragment shader", referenceFragmentShaderSource); - wtu.addShaderSource( - console, "test vertex shader", testVertexShaderSource); - wtu.addShaderSource( - console, "test fragment shader", testFragmentShaderSource); - debug(""); - - var refData = draw( - canvas, referenceVertexShaderSource, referenceFragmentShaderSource); - var refImg = wtu.makeImage(canvas); - if (ss == 0) { - var testData = draw( - canvas, testVertexShaderSource, referenceFragmentShaderSource); - } else { - var testData = draw( - canvas, referenceVertexShaderSource, testFragmentShaderSource); - } - var testImg = wtu.makeImage(canvas); - - reportResults(refData, refImg, testData, testImg, shaderInfo.tolerance); - } - } - - finishTest(); - - function reportResults(refData, refImage, testData, testImage, tolerance) { - var same = true; - for (var yy = 0; yy < height; ++yy) { - for (var xx = 0; xx < width; ++xx) { - var offset = (yy * width + xx) * 4; - var imgOffset = ((height - yy - 1) * width + xx) * 4; - imgData.data[imgOffset + 0] = 0; - imgData.data[imgOffset + 1] = 0; - imgData.data[imgOffset + 2] = 0; - imgData.data[imgOffset + 3] = 255; - if (Math.abs(refData[offset + 0] - testData[offset + 0]) > tolerance || - Math.abs(refData[offset + 1] - testData[offset + 1]) > tolerance || - Math.abs(refData[offset + 2] - testData[offset + 2]) > tolerance || - Math.abs(refData[offset + 3] - testData[offset + 3]) > tolerance) { - imgData.data[imgOffset] = 255; - same = false; - } - } - } - - var diffImg = null; - if (!same) { - ctx.putImageData(imgData, 0, 0); - diffImg = wtu.makeImage(canvas2d); - } - - var div = document.createElement("div"); - div.className = "testimages"; - wtu.insertImage(div, "ref", refImg); - wtu.insertImage(div, "test", testImg); - if (diffImg) { - wtu.insertImage(div, "diff", diffImg); - } - div.appendChild(document.createElement('br')); - - console.appendChild(div); - - if (!same) { - testFailed("images are different"); - } else { - testPassed("images are the same"); - } - - console.appendChild(document.createElement('hr')); - } - - function draw(canvas, vsSource, fsSource) { - var program = wtu.loadProgram(gl, vsSource, fsSource, testFailed); - - var posLoc = gl.getAttribLocation(program, "aPosition"); - WebGLTestUtils.setupQuad(gl, gridRes, posLoc); - - gl.useProgram(program); - gl.clearColor(0, 0, 1, 1); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - gl.drawElements(gl.TRIANGLES, gridRes * gridRes * 6, gl.UNSIGNED_SHORT, 0); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw"); - - var img = new Uint8Array(width * height * 4); - gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, img); - return img; - } - -}; - -var runReferenceImageTest = function(params) { - if (window.initNonKhronosFramework) { - window.initNonKhronosFramework(false); - } - - var wtu = WebGLTestUtils; - var gridRes = params.gridRes; - var vertexTolerance = params.tolerance || 0; - var fragmentTolerance = vertexTolerance; - if ('fragmentTolerance' in params) - fragmentTolerance = params.fragmentTolerance || 0; - - description("Testing GLSL feature: " + params.feature); - - var width = 32; - var height = 32; - - var console = document.getElementById("console"); - var canvas = document.createElement('canvas'); - canvas.width = width; - canvas.height = height; - var gl = wtu.create3DContext(canvas, { antialias: false }); - if (!gl) { - testFailed("context does not exist"); - finishTest(); - return; - } - - var canvas2d = document.createElement('canvas'); - canvas2d.width = width; - canvas2d.height = height; - var ctx = canvas2d.getContext("2d"); - var imgData = ctx.getImageData(0, 0, width, height); - - var shaderInfos = [ - { type: "vertex", - input: "color", - output: "vColor", - vertexShaderTemplate: vertexShaderTemplate, - fragmentShaderTemplate: baseFragmentShader, - tolerance: vertexTolerance - }, - { type: "fragment", - input: "vColor", - output: "gl_FragColor", - vertexShaderTemplate: baseVertexShader, - fragmentShaderTemplate: fragmentShaderTemplate, - tolerance: fragmentTolerance - } - ]; - for (var ss = 0; ss < shaderInfos.length; ++ss) { - var shaderInfo = shaderInfos[ss]; - var tests = params.tests; - var testTypes = params.emuFuncs || (params.bvecTest ? bvecTypes : types); - // Test vertex shaders - for (var ii = 0; ii < tests.length; ++ii) { - var type = testTypes[ii]; - var isVertex = (ss == 0); - debug(""); - var str = replaceParams(params.testFunc, { - func: params.feature, - type: type.type, - arg0: type.type - }); - debug("Testing: " + str + " in " + shaderInfo.type + " shader"); - - var referenceVertexShaderSource = generateReferenceShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - params, - type, - tests[ii].source); - var referenceFragmentShaderSource = generateReferenceShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - params, - type, - tests[ii].source); - var testVertexShaderSource = generateTestShader( - shaderInfo, - shaderInfo.vertexShaderTemplate, - params, - tests[ii].source); - var testFragmentShaderSource = generateTestShader( - shaderInfo, - shaderInfo.fragmentShaderTemplate, - params, - tests[ii].source); - var referenceTexture = generateReferenceTexture( - gl, - tests[ii].generator, - isVertex ? gridRes : width, - isVertex ? gridRes : height, - isVertex); - - debug(""); - wtu.addShaderSource( - console, "test vertex shader", testVertexShaderSource); - wtu.addShaderSource( - console, "test fragment shader", testFragmentShaderSource); - debug(""); - var refData = drawReferenceImage(canvas, referenceTexture, isVertex); - var refImg = wtu.makeImage(canvas); - if (isVertex) { - var testData = draw( - canvas, testVertexShaderSource, referenceFragmentShaderSource); - } else { - var testData = draw( - canvas, referenceVertexShaderSource, testFragmentShaderSource); - } - var testImg = wtu.makeImage(canvas); - var testTolerance = shaderInfo.tolerance; - // Provide per-test tolerance so that we can increase it only for those desired. - if ('tolerance' in tests[ii]) - testTolerance = tests[ii].tolerance || 0; - reportResults(refData, refImg, testData, testImg, testTolerance); - } - } - - finishTest(); - - function reportResults(refData, refImage, testData, testImage, tolerance) { - var same = true; - for (var yy = 0; yy < height; ++yy) { - for (var xx = 0; xx < width; ++xx) { - var offset = (yy * width + xx) * 4; - var imgOffset = ((height - yy - 1) * width + xx) * 4; - imgData.data[imgOffset + 0] = 0; - imgData.data[imgOffset + 1] = 0; - imgData.data[imgOffset + 2] = 0; - imgData.data[imgOffset + 3] = 255; - if (Math.abs(refData[offset + 0] - testData[offset + 0]) > tolerance || - Math.abs(refData[offset + 1] - testData[offset + 1]) > tolerance || - Math.abs(refData[offset + 2] - testData[offset + 2]) > tolerance || - Math.abs(refData[offset + 3] - testData[offset + 3]) > tolerance) { - console.appendChild(document.createTextNode('at (' + xx + ',' + yy + '): ref=(' + - refData[offset + 0] + ',' + - refData[offset + 1] + ',' + - refData[offset + 2] + ',' + - refData[offset + 3] + ') test=(' + - testData[offset + 0] + ',' + - testData[offset + 1] + ',' + - testData[offset + 2] + ',' + - testData[offset + 3] + ')')); - console.appendChild(document.createElement('br')); - - - - imgData.data[imgOffset] = 255; - same = false; - } - } - } - - var diffImg = null; - if (!same) { - ctx.putImageData(imgData, 0, 0); - diffImg = wtu.makeImage(canvas2d); - } - - var div = document.createElement("div"); - div.className = "testimages"; - wtu.insertImage(div, "ref", refImg); - wtu.insertImage(div, "test", testImg); - if (diffImg) { - wtu.insertImage(div, "diff", diffImg); - } - div.appendChild(document.createElement('br')); - - console.appendChild(div); - - if (!same) { - testFailed("images are different"); - } else { - testPassed("images are the same"); - } - - console.appendChild(document.createElement('hr')); - } - - function draw(canvas, vsSource, fsSource) { - var program = wtu.loadProgram(gl, vsSource, fsSource, testFailed); - - var posLoc = gl.getAttribLocation(program, "aPosition"); - WebGLTestUtils.setupQuad(gl, gridRes, posLoc); - - gl.useProgram(program); - gl.clearColor(0, 0, 1, 1); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - gl.drawElements(gl.TRIANGLES, gridRes * gridRes * 6, gl.UNSIGNED_SHORT, 0); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw"); - - var img = new Uint8Array(width * height * 4); - gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, img); - return img; - } - - function drawReferenceImage(canvas, texture, isVertex) { - var program; - if (isVertex) { - var halfTexel = 0.5 / (1.0 + gridRes); - program = WebGLTestUtils.setupTexturedQuadWithTexCoords( - gl, [halfTexel, halfTexel], [1.0 - halfTexel, 1.0 - halfTexel]); - } else { - program = WebGLTestUtils.setupTexturedQuad(gl); - } - - gl.activeTexture(gl.TEXTURE0); - gl.bindTexture(gl.TEXTURE_2D, texture); - var texLoc = gl.getUniformLocation(program, "tex"); - gl.uniform1i(texLoc, 0); - wtu.drawQuad(gl); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw"); - - var img = new Uint8Array(width * height * 4); - gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, img); - return img; - } - - /** - * Creates and returns a texture containing the reference image for - * the function being tested. Exactly how the function is evaluated, - * and the size of the returned texture, depends on whether we are - * testing a vertex or fragment shader. If a fragment shader, the - * function is evaluated at the pixel centers. If a vertex shader, - * the function is evaluated at the triangle's vertices, and the - * resulting texture must be offset by half a texel during - * rendering. - * - * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use to generate texture objects. - * @param {!function(number,number,number,number): !Array.} generator The reference image generator function. - * @param {number} width The width of the texture to generate if testing a fragment shader; the grid resolution if testing a vertex shader. - * @param {number} height The height of the texture to generate if testing a fragment shader; the grid resolution if testing a vertex shader. - * @param {boolean} isVertex True if generating a reference image for a vertex shader; false if for a fragment shader. - * @return {!WebGLTexture} The texture object that was generated. - */ - function generateReferenceTexture( - gl, - generator, - width, - height, - isVertex) { - - // Note: the math in this function must match that in the vertex and - // fragment shader templates above. - function computeTexCoord(x) { - return x * 0.5 + 0.5; - } - - function computeColor(texCoordX, texCoordY) { - return [ texCoordX, - texCoordY, - texCoordX * texCoordY, - (1.0 - texCoordX) * texCoordY * 0.5 + 0.5 ]; - } - - function clamp(value, minVal, maxVal) { - return Math.max(minVal, Math.min(value, maxVal)); - } - - // Evaluates the function at clip coordinates (px,py), storing the - // result in the array "pixel". Each channel's result is clamped - // between 0 and 255. - function evaluateAtClipCoords(px, py, pixel) { - var tcx = computeTexCoord(px); - var tcy = computeTexCoord(py); - - var color = computeColor(tcx, tcy); - - var output = generator(color[0], color[1], color[2], color[3]); - - // Multiply by 256 to get even distribution for all values between 0 and 1. - // Use rounding rather than truncation to more closely match the GPU's behavior. - pixel[0] = clamp(Math.round(256 * output[0]), 0, 255); - pixel[1] = clamp(Math.round(256 * output[1]), 0, 255); - pixel[2] = clamp(Math.round(256 * output[2]), 0, 255); - pixel[3] = clamp(Math.round(256 * output[3]), 0, 255); - } - - function fillFragmentReference() { - var data = new Uint8Array(4 * width * height); - - var horizTexel = 1.0 / width; - var vertTexel = 1.0 / height; - var halfHorizTexel = 0.5 * horizTexel; - var halfVertTexel = 0.5 * vertTexel; - - var pixel = new Array(4); - - for (var yi = 0; yi < height; ++yi) { - for (var xi = 0; xi < width; ++xi) { - // The function must be evaluated at pixel centers. - - // Compute desired position in clip space - var px = -1.0 + 2.0 * (halfHorizTexel + xi * horizTexel); - var py = -1.0 + 2.0 * (halfVertTexel + yi * vertTexel); - - evaluateAtClipCoords(px, py, pixel); - var index = 4 * (width * yi + xi); - data[index + 0] = pixel[0]; - data[index + 1] = pixel[1]; - data[index + 2] = pixel[2]; - data[index + 3] = pixel[3]; - } - } - - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, - gl.RGBA, gl.UNSIGNED_BYTE, data); - } - - function fillVertexReference() { - // We generate a texture which contains the evaluation of the - // function at the vertices of the triangle mesh. It is expected - // that the width and the height are identical, and equivalent - // to the grid resolution. - if (width != height) { - throw "width and height must be equal"; - } - - var texSize = 1 + width; - var data = new Uint8Array(4 * texSize * texSize); - - var step = 2.0 / width; - - var pixel = new Array(4); - - for (var yi = 0; yi < texSize; ++yi) { - for (var xi = 0; xi < texSize; ++xi) { - // The function is evaluated at the triangles' vertices. - - // Compute desired position in clip space - var px = -1.0 + (xi * step); - var py = -1.0 + (yi * step); - - evaluateAtClipCoords(px, py, pixel); - var index = 4 * (texSize * yi + xi); - data[index + 0] = pixel[0]; - data[index + 1] = pixel[1]; - data[index + 2] = pixel[2]; - data[index + 3] = pixel[3]; - } - } - - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, texSize, texSize, 0, - gl.RGBA, gl.UNSIGNED_BYTE, data); - } - - //---------------------------------------------------------------------- - // Body of generateReferenceTexture - // - - var texture = gl.createTexture(); - gl.bindTexture(gl.TEXTURE_2D, texture); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - - if (isVertex) { - fillVertexReference(); - } else { - fillFragmentReference(); - } - - return texture; - } -}; - -return { - /** - * runs a bunch of GLSL tests using the passed in parameters - * The parameters are: - * - * feature: - * the name of the function being tested (eg, sin, dot, - * normalize) - * - * testFunc: - * The prototype of function to be tested not including the - * return type. - * - * emuFunc: - * A base function that can be used to generate emulation - * functions. Example for 'ceil' - * - * float $(func)_base(float value) { - * float m = mod(value, 1.0); - * return m != 0.0 ? (value + 1.0 - m) : value; - * } - * - * args: - * The arguments to the function - * - * baseArgs: (optional) - * The arguments when a base function is used to create an - * emulation function. For example 'float sign_base(float v)' - * is used to implemenent vec2 sign_emu(vec2 v). - * - * simpleEmu: - * if supplied, the code that can be used to generate all - * functions for all types. - * - * Example for 'normalize': - * - * $(type) $(func)_emu($(args)) { - * return value / length(value); - * } - * - * gridRes: (optional) - * The resolution of the mesh to generate. The default is a - * 1x1 grid but many vertex shaders need a higher resolution - * otherwise the only values passed in are the 4 corners - * which often have the same value. - * - * tests: - * The code for each test. It is assumed the tests are for - * float, vec2, vec3, vec4 in that order. - * - * tolerance: (optional) - * Allow some tolerance in the comparisons. The tolerance is applied to - * both vertex and fragment shaders. The default tolerance is 0, meaning - * the values have to be identical. - * - * fragmentTolerance: (optional) - * Specify a tolerance which only applies to fragment shaders. The - * fragment-only tolerance will override the shared tolerance for - * fragment shaders if both are specified. Fragment shaders usually - * use mediump float precision so they sometimes require higher tolerance - * than vertex shaders which use highp by default. - */ - runFeatureTest: runFeatureTest, - - /* - * Runs a bunch of GLSL tests using the passed in parameters - * - * The parameters are: - * - * tests: - * Array of tests. For each test the following parameters are expected - * - * name: - * some description of the test - * reference: - * parameters for the reference shader (see below) - * test: - * parameters for the test shader (see below) - * - * The parameter for the reference and test shaders are - * - * shader: the GLSL for the shader - * subs: any substitutions you wish to define for the shader. - * - * Each shader is created from a basic template that - * defines an input and an output. You can see the - * templates at the top of this file. The input and output - * change depending on whether or not we are generating - * a vertex or fragment shader. - * - * All this code function does is a bunch of string substitutions. - * A substitution is defined by $(name). If name is found in - * the 'subs' parameter it is replaced. 4 special names exist. - * - * 'input' the input to your GLSL. Always a vec4. All change - * from 0 to 1 over the quad to be drawn. - * - * 'output' the output color. Also a vec4 - * - * 'emu' a place to insert extra stuff - * 'extra' a place to insert extra stuff. - * - * You can think of the templates like this - * - * $(extra) - * $(emu) - * - * void main() { - * // do math to calculate input - * ... - * - * $(shader) - * } - * - * Your shader first has any subs you provided applied as well - * as 'input' and 'output' - * - * It is then inserted into the template which is also provided - * with your subs. - * - * gridRes: (optional) - * The resolution of the mesh to generate. The default is a - * 1x1 grid but many vertex shaders need a higher resolution - * otherwise the only values passed in are the 4 corners - * which often have the same value. - * - * tolerance: (optional) - * Allow some tolerance in the comparisons. The tolerance is applied to - * both vertex and fragment shaders. The default tolerance is 0, meaning - * the values have to be identical. - * - * fragmentTolerance: (optional) - * Specify a tolerance which only applies to fragment shaders. The - * fragment-only tolerance will override the shared tolerance for - * fragment shaders if both are specified. Fragment shaders usually - * use mediump float precision so they sometimes require higher tolerance - * than vertex shaders which use highp. - */ - runBasicTest: runBasicTest, - - /** - * Runs a bunch of GLSL tests using the passed in parameters. The - * expected results are computed as a reference image in JavaScript - * instead of on the GPU. The parameters are: - * - * feature: - * the name of the function being tested (eg, sin, dot, - * normalize) - * - * testFunc: - * The prototype of function to be tested not including the - * return type. - * - * args: - * The arguments to the function - * - * gridRes: (optional) - * The resolution of the mesh to generate. The default is a - * 1x1 grid but many vertex shaders need a higher resolution - * otherwise the only values passed in are the 4 corners - * which often have the same value. - * - * tests: - * Array of tests. It is assumed the tests are for float, vec2, - * vec3, vec4 in that order. For each test the following - * parameters are expected: - * - * source: the GLSL source code for the tests - * - * generator: a JavaScript function taking four parameters - * which evaluates the same function as the GLSL source, - * returning its result as a newly allocated array. - * - * tolerance: (optional) a per-test tolerance. - * - * extra: (optional) - * Extra GLSL code inserted at the top of each test's shader. - * - * tolerance: (optional) - * Allow some tolerance in the comparisons. The tolerance is applied to - * both vertex and fragment shaders. The default tolerance is 0, meaning - * the values have to be identical. - * - * fragmentTolerance: (optional) - * Specify a tolerance which only applies to fragment shaders. The - * fragment-only tolerance will override the shared tolerance for - * fragment shaders if both are specified. Fragment shaders usually - * use mediump float precision so they sometimes require higher tolerance - * than vertex shaders which use highp. - */ - runReferenceImageTest: runReferenceImageTest, - - none: false -}; - -}()); - diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256-with-128-alpha.png b/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256-with-128-alpha.png deleted file mode 100644 index 183e55de2190bb62612513c3e6dde674df002b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1Igpa@ba4!^=uJ*ZNXSS?NlB47 ey0}85--d_b?>pxDVCmbAARV5relF{r5}E*ogA=6y diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256.png b/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-256.png deleted file mode 100644 index 01e486b5a92e405158cf38f6dfbb44440fdfbd6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1Igk?dba4!^=uJ*Z00J4-#R(!k b9t;e>3Yq_XOn%S?RKVcr>gTe~DWM4fKSdJ8 diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-default-gamma.png b/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-default-gamma.png deleted file mode 100644 index a5a89beb709b4f0c87877266daf284165b21ea1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1IgoPlba4!+n3J5600b#1DJm|) zLeA;JhmWhe^~l&V3IoB;PdA>d&~(eS+k0k7NRNbN(vz309=^|)JW);htYK!!@M$9R UKjVum&p>8-y85}Sb4q9e0D7b)?*IS* diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma0.1.png b/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma0.1.png deleted file mode 100644 index 637c792da03ba633b708a3a8086017fe91e1eb43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1IgnyWcl32+U{DwE2|wfmf_A@e->jr7&n}<#@jALf(EJO_l4Zp~ gpM*A6ip-W__%xCE--;eY29TJiC0_$Lr_{LGv#xOO_P} geG=MODKcAz;nPIse=DXu1)0m>>FVdQ&MBb@04SFybN~PV diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma2.0.png b/dom/canvas/test/webgl-conformance/conformance/resources/gray-ramp-gamma2.0.png deleted file mode 100644 index 73fcf7b41b6b43d273549f6b103002daa226e4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K57&+L0q+w)1IgnyWcl32+VCHr35`1_P$hYxy zaSX9Iot(nJf_A@e->jr7&n}<#@jALf(EJO_l4Zp~ gpM*A6ip-W__%xCE--;d&~(eS+k0k7NRNbN(vz309=^|)JW);htYK!!@M$9R UKjVum&p>8-y85}Sb4q9e0D7b)?*IS* diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/green-2x2-16bit.png b/dom/canvas/test/webgl-conformance/conformance/resources/green-2x2-16bit.png deleted file mode 100644 index 7fcb96960e142ccca49f44755d6294352caf0e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^Odu=(BG+6WQTB9k4B@z*{6u8M-Qx!ie3<=^otatqbYh=B4^K{6eVsATxJV{;cm9GD QDWGx&Pgg&ebxsLQ0GUD_F#rGn diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/intArrayUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/intArrayUniformShader.vert deleted file mode 100644 index d82074e47370..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/intArrayUniformShader.vert +++ /dev/null @@ -1,8 +0,0 @@ -uniform int ival; -uniform int ival2[2]; - -void main() -{ - int sum = ival + ival2[0] + ival2[1]; - gl_Position = vec4(sum, 0.0, 0.0, 1.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/intUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/intUniformShader.vert deleted file mode 100644 index 051c05e2b858..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/intUniformShader.vert +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2009 The Chromium Authors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -uniform int ival; -uniform ivec2 ival2; -uniform ivec3 ival3; -uniform ivec4 ival4; - -void main() -{ - int sum = ival - + ival2[0] + ival2[1] - + ival3[0] + ival3[1] + ival3[2] - + ival4[0] + ival4[1] + ival4[2] + ival4[3]; - gl_Position = vec4(sum, 0.0, 0.0, 1.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/matUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/matUniformShader.vert deleted file mode 100644 index 123a4be03bc8..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/matUniformShader.vert +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2009 The Chromium Authors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -uniform mat2 mval2; -uniform mat3 mval3; -uniform mat4 mval4; - -void main() -{ - gl_Position = vec4(mval2 * vec2(1.0, 2.0), 0.0, 0.0) - + vec4(mval3 * vec3(1.0, 2.0, 3.0), 0.0) - + mval4 * vec4(1.0, 2.0, 3.0, 4.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.frag b/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.frag deleted file mode 100644 index b2dfc9f1d4ed..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.frag +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2009 The Chromium Authors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -void main() -{ - gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.vert deleted file mode 100644 index 821e440d4c26..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/noopUniformShader.vert +++ /dev/null @@ -1,4 +0,0 @@ -void main() -{ - gl_Position = vec4(0.0, 0.0, 0.0, 1.0); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/npot-video.mp4 b/dom/canvas/test/webgl-conformance/conformance/resources/npot-video.mp4 deleted file mode 100644 index 59f5f774a783b459385451b4c5df238001cb9f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38215 zcmeI5eQ*@z9ml`BcY#X?a0wA&NO3O>5HZSuu_6Ox^WqEdLC~UNA&>x(yqPcF4EKhAh5cnwiamnLqkn< z6wqhZ-fx*$*VI*dYJWS5Bc1v1PXx>*@E?j{UfrelLmvl(eiej&0Z@6H&%(w|1g^EP zdHu0w1b+Z6qYA;-o@T}-mVc{-t(U0`3)+YR4^ELi)IUJY#j z<(iLxiWiaA{ur?J7&42@IE>#w&uK?!Ph#bBO6I|>%(yk;OUnT?TSBKuWn7iIE8`T?U6dfM9|9%sQn zoSSF<%8XG43i6>}d^t19Yv8Z2aOJ+!H$RaY4u%t5=f&7|r6@w+5n%JAH7`KZO$6_T z#=?Wg0xT4m`wsl$Vwk&0)oIvueimknl|vuG&GLwk4HH9P3-H4$Pq4-20rxi}@YJ%m zTsPzR@wWz?6laG@FWaf7SuedayvUCD)6FSId~@u`kl`!3BN=5o16f99gY~9mXJzDQ z4;{*@vLl(fj>w37MGP>9i$qhRqc_ofW{xnBq+zdy=FddPCN=Kyd z8b@TpJV&Ic$`P5g#1Sc8>WEyjtUIF5B5Vfo{*oAZ=9VH1%kLTrEj@VoYsCP80nqVT;PUF=dHL0em7p`Zo6j3B!RJM(?)c54(=8_(E?-+h8- z1`UK>f?lY4SV%{*(uI+Q6Ww9q*-T;^6)O~GB~kdD8izOp8251;deX$44xfcK4mV@D zNsdDXG#?MYBsmTpvwQx0H4g277K|gS?&#a=T;ajeL|QZ3Ze%P2`gkDpz>ZD}<~H~* zFi{5hr|K+}cz+6Q=pkgEQgw2)QFY#}pyC+Ub`*gzCu3}wF!WFi1#hUqY7}hT$CSA5 zMoaXQfhL`?SrOVes&@$iO#tf5+FqacN zl@Z{)=QOnJb(^|e^SeD;67hpR&UF5cK!$}!gGisg?_O$%876Mb;QVZtg%{Kusdw^7 z71A@SRA+KHS2Na`YB=wiRStMU)VCAaM8m>L?^sIjOi@~2>Dy2xrva}c`%sJ@(zGXX zH!I!F1~5;;KP;*Br`l@fEtN6BMCCO2Z*08m&#rKKWa9Z{oL%@jbzYr`z{-7h83-0q zk-d(f$!4~w>0XEbISXYUz<<jkIa9Qq>z(4P2hXJYeX z77qVjIox(Z)2fi&0d309l#ly%x}hI8ku?ok)=6bc#cW5s@^P2l4*!KFDyAzRcM!Il zP-T?Udp0eG%AKc5-TsGDi8B{jafGHr*V{3E6Z8cK_R!%uGKkR|>E)YfAiUS-bV1Sr z>G4g*cxI0aQdMen`zFt(r_IAfm*`AvJfRG#xH72bEv7ZA49UPEU~UQgkE?Gb*Z@g) zpfXx@8m*UeleA{%S+?{2Bs0>tA!`J*(LZ^p^+;+s+L7q|zQ%71y3me-D(JZf_R!s* z4wQWYKMSugXu_31o4f+SJE2{ooVGnK$PW4w6Ta@zLzCeNma))J$wUq+kq z{-+CVE=QZELtJQckD3dGwqAYM7Z-`5EkkG%+EPjK`trj=DGF`~1(Kb}^7lI zXd5ir#BLMXgtkGTt(3pH#UDPD7uIdWUlzC}aSIA=ZrbDx zHy^vu@?6j^Z@B5-bID2E~xvw3`b-(QX6LZu0&%54Jp#1UJF$tE~e_YBy6R zlQNl1CCTfD$2{JTAd|@fOeU)YH^EJCb4(1+)w-Lcc3UC132xs^+_VfJ`~8Ndrd9y; z4XtZyxWy}FkA{^%TfPk!&Z&Y1_17CxB20G0&E6xu_UP)*zAf5Py^fj7qU(}%4(+M) zi_%oR?%=A&t6nY4lMW?MEUc}GM!1(>TOWyb7o{byN7a!mE9=9Cn!0M{84WeAYX`;w zzRl;ooIJB+ZB2bkcNu7{tEv5BUu~~vyvdkf%c6{HsvB$SYt^Ay+Z*Z{S92$)wINxy z^V1jB*m?OiEw$DW@;x@rpdRdAMRCxm(R z*Kk*f3R*_l^%X`%6DwR}r?~&;CK61V!cr@=@_0_-6!O-TTRD#|)>nS2?`0#XT6~zX zdvEzZOM`#y@m1IIgxp9p*}SSab--qOi`-S-=_S03Rq9{{A4PriVclDH39u_B({AeC zGJixd&)L9ucTjccWsD4W$Oy;2Gkt*jdbz8-uUq-&x_zYl)c)t{XJ7mN^L6k4^7*BI zx|mGS7ylq|uS0uWs ziG5E6WkVLxR{VgbW+O0U0%bpc27Ni@U7DISr-zTF?B?s1mr(u)jCzok`bf&dz!)0O zV_xACiEY4G{__4<+MVNOQDQ)dFSZW-8z?*sj4z=aVO6Z7s1vy87eMhO%HzOf)-m~S zz|@}tmm0ujZv)@Ek#Z8a;t^o_Xkf;xz)ZS1X1)oS5AcP}nS5LGi$LX7z*YYNuC{2$ z>%g36_`2vB!2Ev#3+Sp@z^_df(aCY`RA9+_z;*S&((h9C0XOivZ;I2ivJzN+K4llM zg075}yv9{afz?6EkAS+_loP-$3xEc$nrqk!G}E?gX8pIa{s^4{QC|OT(<#pa8|XsW z@ELID9l$-T_nxPKHrCtrA%Oj~)0L}5g$Wdm!n&c{6s!l;6rKmREe=qgr~HZX5f4qL zgeX@~7E$UbZIm69!<6HcQnMt+>c(r=lSdRa(!RpyPfknu9-{k*EyG0wt0G5GcYnN+FE{E z;%uSjgV6Kv4)h`s-5Hp^4}bN-Y2x><4w;HLd(4@daR|pNTzMk<%;J_8S`uUO=6hQ}CAG$bb0mx{J z(DLt|1tf-kzCk44p!GIk6w)TiU~hMlpAzk2xH*3PUeJorD%;k!Pp^z!ptGaVG=%~f zwfClYZP*szDY?hnmDZKSY`{pWC@X6zYpSS7%G!AC4fG}LaVN?_pR+XhGPW|@W@Jpz z@$ev1NS-P*)q3R(D(VV>!M+%EEfqEBU083kB^VmJY_m4iw>H($BB^M)xoc`*G_}-- zni|9yn(SJa>|AY^k4V)yGjn8M?iePOkWqwU!=$<*<4|mRU>Tb6lFO|<({Ih&@y&;7 z?btIW|IzEbjV!+$+7bCJOe^P*hc$cXC0n^;N$8kWY!TXP4zm>MN7dWO3$Qc0qCi88 zD}k{|FHuuasDD&FOz}tyQK>C9v%1^$PrKwQgJ_j><9wd+W7#!*B;~A>wS;WVbW_yP zgEyKU4enMG;cRiu*E?z=g#?YpTe}nm*kYsgF24I;t+DYvN?#v$=gtr>3Xj(t90VmE zj~hbpVnDa&h|#`Bb)R=!F#H3jsVeMw@e7CQ;s^TrHWWHLT1>aC3f}(m&c{ zvVG9B%DnJsgGMs1Q*=>u`-_8hd!H}3w@yEjW4+v1IkEY$qMaL0RL5bHLq>Pos}}B` zseLSFA0Z*be7C(abp4>}>z6`y%#LpDna~h>nRxvhmixvFOppHB&t4n%=JSqSWt4Tt zErVJRV^&kPrcvmJ69Wxa>#}xpcV8y*-Phn$;MQ#s#~z@Rrf00^J?Vb4&?P=IrM>-3 zKlWrzAo8I9<{aMzt4TI=atUasKfst!J+wLGgl%?Ea~!{-lM6#i1rrM@csX2KqN_z8AWSbHbq{ z>b1CN#MOK&g&n5?f)i&ljqYOqDmLLC6Yef=Jow?PKRJ2)4##e9FUqKhr9waY!_HKV z&egREv&S+YwGK)@nPc^5^sL+}bJFIls?44B#2TK>>KyB49i)7?-;OJ^cVEM@biPrm_*8ge-_S0zG$--`T@itcwIVSz1saN*1GaZb7BVhR{xy5_) zCdb*Jh(vk9;69A#?)Ks!Vq~yrzFn2hO|PrsTP1TAYFT+UKGhkML0gt2uJMm0WHCKECQ4 zmx$&;tZ>Ar1IgU}@?N%x+Z?tMR}&C{;-Y;H-l2TOasW6;-)>ji7iU)H!PuHno5EN*5wK8o3!u3c(*CMGhNtkXKOP(HfC zSkhhnfvUx5{^2!OlP}%W6_?gYpA$NCr%bqHm0IVMo%WWxUV@LTaVf*+v?S8M1o>$S z5;k3r8xxt{Qi&?Oeut}L)z#o66u+*+`xzU>j)v-Q$)wRqm~Nfpl)r6IyZfi z`_#S?!Y5Z#^#=-Ompc-7)a-qEfVf&=e*3Px%=2~nxMydSS$zryubh3BxV4?DtIGWD zoekQOoLT%=7c16~b;Ewwh=q^G5Qyj4svI zk=aCiAj8M$BYk!zQ)O+LazbCF^GuN!E~E+{Q}NDWBKy~UD_C=OD^@hI+u&77=PFn4 z9J1Gy$AWrx|0K8#|_EjBsfnq%w<ku zFxO}18;kRIPaz~b?|Ss#KF%vW*<7i#PxFg^?VX$Lm|}8OrU|3!fZfe}FQAau@GxLi!_|$jFOkK~8j88=!>cHOnT$*n!LR6}Q{qTYIokGO5Ev)9^({OZ~MOr^jm~COO>_&M57?e%fIt zYfgMSmq=={cXsuq=en$sQZISN$2)8lFG%2p%ZBtQrp_7QO`2u9#Xl|FamT@-DGj0Qc zZFbwui&2Y}W=_ov+ht zZ8Dd*d(`t1^Yx&)cfzMU!%%{H!k5* z`==V_uFXCB^8BAu{waxYm(VZ$U)q|p=Z^eozUBQaw?rtkq8{tYex!2(XVFI4iHqF> z{EvxDp%%WiD(+=ub3?-6I`$* zebW(7k-@gZT;ZB+EZP*e$E})};aKr*Ow$oDky-!4T%m()E8WWioLAQ0c{f^+yjr$g zZKqd4O|O3;DUN&W;HmoFu!0YUJ&v;Z1pk-do9Gfgp`@n$u^^d~ z+LNUAc)I#eOG^5b?q^;hM+jiKobr-wRlr%nzTE9jxe8^P<#n3d9sQkxDdm+fuHH)( zL7$N%bwovHZi!Cd5@9G`x6?vTPp>B1AG0N9#mMdUtYb>+BzIcW`>RSydUoeJ&osP* z+$&GcXITyWDZnWXh2Nbk@CWWpuF^i|87r#8xMu&k4k)6cPlA;d?W1rZYufyuh9?AA zYj&%qpKS9V2yq_D&FEH59XT6Nu)>HVQOSqVT1zhXbhJLBEhq(%@{$cL%~V#;83p@&1jUgGMbS&i4Sd>CdJH#L>ndXxwjvcGD=c$ zZ%GkSw6AdeUHI$6cu(Gzh~I=>a4MqOs!o%@+;Oe$?@pKc`~%c^Q1hrhGZMV;#sYXF z0pRVPkgLB;U8DI9H8sCFH#b9IZoqyAFR(xFrecSOwMuqIXE6!;GgXz#w)oNi=OXjx`_{U57QC!Z zZVGxuAHwS(t7*lgx`{xa(JJ7^Je;0Vzl;S3{96R@Sg{}8zbFk2y^_%B>BeX?Gbu|O z#>GclWh z6JZR)7=|$nV|W?uZFkWjk_|vmez%9;(ohYdQ?LWY1$E58(h4hOFbx=lVGa52!Z3*rk(>a6CFfQ?SsJPlbP6t@7+A%DTUueQN2Mzj!`vYK z_?C=@F#Hb$rcQ)03}YC^FpS}4gyG$KRPs>~xe}x=1)BCO4OM;IPX!N1gKF=a{Mg&l zh88^yvoKU)sKQW%p}LHqYEOqqB!FSR{~xJKL)DK?!3z{-vZfoBR+#LfQ5Jf{zz5Qe zR_x*bhGDvmE{tIq!!U+n3@;-LJJBH$`d>tK-CGYW4b>nzg#b{bg!r6XTCtS^rU8R6 zEC}LA0(yoX!*m3u&Vw-wV;IITjNxU3VOKgt3IPbNe{msvX{d(LDWI93>s2O~R^Xzj zbfscg1f=GL*Y_=A`0oU!PJ}TGV;IITjNxU3VNW_lt^yF;T)bOoX{a8cQ>+FG{v8kc zmR8sv1=D~*yI}~wJLcn~ME~Qj+ZY&N48s_PF$`mP8DV%29U{d5BDW^tPb>{p!_#0I zFbJw^Ks?zsg`|JPKph0``$iXrDhyQ^sxVZS5mX&d(;x^T68bYmqNLJCOGDM4P9Xsl zi7Lq7>}^di{`?-2Af5ddnejIaehp(+c~T%=te%tnJW07CmtIgmy& Ly0TFJ+T*_f5*U8o diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/npot-video.webmvp8.webm b/dom/canvas/test/webgl-conformance/conformance/resources/npot-video.webmvp8.webm deleted file mode 100644 index 47277bdaac1f47f803bbe696913a53fa28548f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51240 zcmeI54Nw&48OL{zlLMpSplUEmLDZ2d5tR5%pCLlyKAVt9_enw^d0(C662dFie z(9xs{h}U3ZjHrhMl0r!6hhUv(@T1yB4fqurKS5C`MXtN=F0$|Becy2kbeYcMOrrn! zxty;5Ic|T?b9*m_*5vaX`r#R}S>Qt+i~rph^dS!frw~hea^joIL$(OIkPJcR9%Wu6 z|JJGo*YKP*ritNYZ$}+W?>p_l!l(kFCcG?DO#NmaUKUkg;eF*eFse+7f2x+FbetHg zOt+N>eNTSuZuWoaucZ6|gNI)zOmhh_g`3|Fo40P^n9(E0jvwhC9js2P_hlUoJu~jD zbGk!A^K(vBc{X2p{WcdmULRFTT9^G$K7b-CFiCdlh6zJ>qJerjN=Lz6?cLyMuw zrQUO8>yZcN94{Ff_+R_3JJhhCGCAt&FXryJcx$Zv2eWm|)y7jd*S{B-(;1HTtON}j&0IdAeQOX%i*T;b{_ zOdS%l{Qc4omU#$+PX&xF-E;2zqX8agCm#5IuHURAx4>%wBMw}S*cZDlI;u1;@oMvR zuGMZY9u@z6nZ2f@X4UDP*M_V(v}eTBm(M(GK3kmqZJ(yCW>cztuHF9K^FObfJLC48tCQ+W`NCKE!Xf*oRPU?!qw}Mp-<`C-{_ZX=U;Jkp z#Qj#sIT|l2aB^A=4jZs_&D) z%}e;In)BvdHx0IY%nY4;Y|H-0yXN3~Gsvp5THjGJ^GwHi@Dt1+GgRXXISM{gq=Ra4_ zKVZ=weVB9%lSVUX3X|?uD6y+O%9zJqV$vrp>gY+QVpkna(A6&Os^dKR`Og&`)0lK0 zlOAKzIua|NfLFzL%oI*Un@ znRFME{z0L{t~y<09^1mA&K^t}M5QV%(5uekoB&?nf93@^Bl&8ILtcPNkr$v+yX#UVuuG7Z542yRsLc9V>eQDn(v^N|6^JQ}KBgyg(N_tTrz|?kaczwb9do7tqwV zf)`M?Q4e0A8_x#73#hx=1H3>t?kaczbyp4G1-fxp!3(In+6i93wW-eHRsmiByZ~|b z%RPe^;Em&n$I4!SN|6_!Qsf25G&l%(fqqYSTec{>Ee;l4vJjWOSDJMunv&id1B z)2~IW4?0~`dEe9W_4bcH`B#ER+^ew-eYwXwo(zacF~{m26&Cl6_vH@+-O&48DsL>A z|7H0cx7v$Un>KvvkEQM6y)*`iNAZ~b@bxU^Qzz2^=0QKM$~24~kq*nhQlR`Zm+`L?smuCRSXdi$|(LR9A7)bnAm-hjv6zv00 zDcT31QnU}Cqc|#gAAou++6SOgv=2a~=(?Xw#V$(w0MNw_bWy&pC!gQ8c|Vn+c|Vn+ zc|Vn+c|Vn+c|VQH^L|%JX>Yv1lGo zqw;k(m7;k(nTlO>PJk|U=-S0ukoFzO=Qmey&S%oUFzF2z?P*|AA10lqP+}K*E@K{> z$)tyv^cyN|-wkp7d!5C@mM?Zwdd~9aW=%CU;$p-{!~P^jW~NL1`1IGzr6vCZ+2&TqTpAyaTX?ej;mi{N-V z*hO$W?S0A>Mr)|9LM8h1;^6~yA$Ae)ZOI4 z@pOYd9`e-+I39IV<@fK9UtNOZ>G)0=I39J|Mnxg(Xxx+c+_14$D?Hz!SSfO z*h!9Ok{KKiI3933|A+VE0mlQ5N9%h-f#Xqs&j!b%^f)N5l8Wz&)4MU4-{)Y56@H_IT7?ggqWDy9ka)-9>ObT6Pf} zkGhNCc(m*yI39Hu!SQI>MQ}XoE_RaRiH`)w1A9EM#{+vju*VbQ*T^}wKgYrz5A5;4 z9?yV?6mzWZQDJf4cwhcN&<(xcrSis-`CpdLajU&pwQ0krPG0@*cwdWHA9T97_w2g^ zyYGF{Roan-9>ObT6Pf}kGhNC zc(m*yI39Hu!SQI>MQ}XoF8GMedMpk#V{w=fi#}E*hN5#d+#ic0 zDzNxcBo;^3V$nYdi=#O#24pEQIz{>$jq$?bSQ{3{o3J>c8jBMXuozg6#Ytu*E{T&K z$YjJ~uoa7w{jvB;1r~o9iNz_kSe%xm#EmBDfnMXV7?y>_>0Vfjuwn6a6BcJwV{vAJ z61NYL9%xoQ7NgBroNdHntQCuK{#cw-fyMYpCGK^S9w?y}i*F`jaRG^1|X` z8y1(ElxVvxJ -* @copyright Copyright (c) 2010, Robert Eisele -* @link http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/ -* @license http://www.opensource.org/licenses/bsd-license.php BSD License -* -*/ - -(function() { - - // helper functions for that ctx - function write(buffer, offs) { - for (var i = 2; i < arguments.length; i++) { - for (var j = 0; j < arguments[i].length; j++) { - buffer[offs++] = arguments[i].charAt(j); - } - } - } - - function byte2(w) { - return String.fromCharCode((w >> 8) & 255, w & 255); - } - - function byte4(w) { - return String.fromCharCode((w >> 24) & 255, (w >> 16) & 255, (w >> 8) & 255, w & 255); - } - - function byte2lsb(w) { - return String.fromCharCode(w & 255, (w >> 8) & 255); - } - - window.PNGlib = function(width,height,depth) { - - this.width = width; - this.height = height; - this.depth = depth; - - // pixel data and row filter identifier size - this.pix_size = height * (width + 1); - - // deflate header, pix_size, block headers, adler32 checksum - this.data_size = 2 + this.pix_size + 5 * Math.floor((0xfffe + this.pix_size) / 0xffff) + 4; - - // offsets and sizes of Png chunks - this.ihdr_offs = 0; // IHDR offset and size - this.ihdr_size = 4 + 4 + 13 + 4; - this.plte_offs = this.ihdr_offs + this.ihdr_size; // PLTE offset and size - this.plte_size = 4 + 4 + 3 * depth + 4; - this.trns_offs = this.plte_offs + this.plte_size; // tRNS offset and size - this.trns_size = 4 + 4 + depth + 4; - this.idat_offs = this.trns_offs + this.trns_size; // IDAT offset and size - this.idat_size = 4 + 4 + this.data_size + 4; - this.iend_offs = this.idat_offs + this.idat_size; // IEND offset and size - this.iend_size = 4 + 4 + 4; - this.buffer_size = this.iend_offs + this.iend_size; // total PNG size - - this.buffer = new Array(); - this.palette = new Object(); - this.pindex = 0; - - var _crc32 = new Array(); - - // initialize buffer with zero bytes - for (var i = 0; i < this.buffer_size; i++) { - this.buffer[i] = "\x00"; - } - - // initialize non-zero elements - write(this.buffer, this.ihdr_offs, byte4(this.ihdr_size - 12), 'IHDR', byte4(width), byte4(height), "\x08\x03"); - write(this.buffer, this.plte_offs, byte4(this.plte_size - 12), 'PLTE'); - write(this.buffer, this.trns_offs, byte4(this.trns_size - 12), 'tRNS'); - write(this.buffer, this.idat_offs, byte4(this.idat_size - 12), 'IDAT'); - write(this.buffer, this.iend_offs, byte4(this.iend_size - 12), 'IEND'); - - // initialize deflate header - var header = ((8 + (7 << 4)) << 8) | (3 << 6); - header+= 31 - (header % 31); - - write(this.buffer, this.idat_offs + 8, byte2(header)); - - // initialize deflate block headers - for (var i = 0; (i << 16) - 1 < this.pix_size; i++) { - var size, bits; - if (i + 0xffff < this.pix_size) { - size = 0xffff; - bits = "\x00"; - } else { - size = this.pix_size - (i << 16) - i; - bits = "\x01"; - } - write(this.buffer, this.idat_offs + 8 + 2 + (i << 16) + (i << 2), bits, byte2lsb(size), byte2lsb(~size)); - } - - /* Create crc32 lookup table */ - for (var i = 0; i < 256; i++) { - var c = i; - for (var j = 0; j < 8; j++) { - if (c & 1) { - c = -306674912 ^ ((c >> 1) & 0x7fffffff); - } else { - c = (c >> 1) & 0x7fffffff; - } - } - _crc32[i] = c; - } - - // compute the index into a png for a given pixel - this.index = function(x,y) { - var i = y * (this.width + 1) + x + 1; - var j = this.idat_offs + 8 + 2 + 5 * Math.floor((i / 0xffff) + 1) + i; - return j; - } - - // convert a color and build up the palette - this.color = function(red, green, blue, alpha) { - - alpha = alpha >= 0 ? alpha : 255; - var color = (((((alpha << 8) | red) << 8) | green) << 8) | blue; - - if (typeof this.palette[color] == "undefined") { - if (this.pindex == this.depth) return "\x00"; - - var ndx = this.plte_offs + 8 + 3 * this.pindex; - - this.buffer[ndx + 0] = String.fromCharCode(red); - this.buffer[ndx + 1] = String.fromCharCode(green); - this.buffer[ndx + 2] = String.fromCharCode(blue); - this.buffer[this.trns_offs+8+this.pindex] = String.fromCharCode(alpha); - - this.palette[color] = String.fromCharCode(this.pindex++); - } - return this.palette[color]; - } - - // output a PNG string, Base64 encoded - this.getBase64 = function() { - - var s = this.getDump(); - - var ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - var c1, c2, c3, e1, e2, e3, e4; - var l = s.length; - var i = 0; - var r = ""; - - do { - c1 = s.charCodeAt(i); - e1 = c1 >> 2; - c2 = s.charCodeAt(i+1); - e2 = ((c1 & 3) << 4) | (c2 >> 4); - c3 = s.charCodeAt(i+2); - if (l < i+2) { e3 = 64; } else { e3 = ((c2 & 0xf) << 2) | (c3 >> 6); } - if (l < i+3) { e4 = 64; } else { e4 = c3 & 0x3f; } - r+= ch.charAt(e1) + ch.charAt(e2) + ch.charAt(e3) + ch.charAt(e4); - } while ((i+= 3) < l); - return r; - } - - // output a PNG string - this.getDump = function() { - - // compute adler32 of output pixels + row filter bytes - var BASE = 65521; /* largest prime smaller than 65536 */ - var NMAX = 5552; /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ - var s1 = 1; - var s2 = 0; - var n = NMAX; - - for (var y = 0; y < this.height; y++) { - for (var x = -1; x < this.width; x++) { - s1+= this.buffer[this.index(x, y)].charCodeAt(0); - s2+= s1; - if ((n-= 1) == 0) { - s1%= BASE; - s2%= BASE; - n = NMAX; - } - } - } - s1%= BASE; - s2%= BASE; - write(this.buffer, this.idat_offs + this.idat_size - 8, byte4((s2 << 16) | s1)); - - // compute crc32 of the PNG chunks - function crc32(png, offs, size) { - var crc = -1; - for (var i = 4; i < size-4; i += 1) { - crc = _crc32[(crc ^ png[offs+i].charCodeAt(0)) & 0xff] ^ ((crc >> 8) & 0x00ffffff); - } - write(png, offs+size-4, byte4(crc ^ -1)); - } - - crc32(this.buffer, this.ihdr_offs, this.ihdr_size); - crc32(this.buffer, this.plte_offs, this.plte_size); - crc32(this.buffer, this.trns_offs, this.trns_size); - crc32(this.buffer, this.idat_offs, this.idat_size); - crc32(this.buffer, this.iend_offs, this.iend_size); - - // convert PNG to string - return "\211PNG\r\n\032\n"+this.buffer.join(''); - } - } - -})(); diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/red-green.mp4 b/dom/canvas/test/webgl-conformance/conformance/resources/red-green.mp4 deleted file mode 100644 index 4bd6d59658906d23566f1aa14443c3dc1eab4610..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92225 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 MFU3m2;;!HR36TgR8UO$Q diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/red-green.png b/dom/canvas/test/webgl-conformance/conformance/resources/red-green.png deleted file mode 100644 index 605ac9ba1bb8444b0495b34654f0eb4bd43b5a44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr9!2~459xE1r1d4;)ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~uBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpah?% li(`mHc=C_)3@ra8894qk{x`d{LINnm;OXk;vd$@?2>?%pB5eQw diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/red-green.theora.ogv b/dom/canvas/test/webgl-conformance/conformance/resources/red-green.theora.ogv deleted file mode 100644 index 1543915a1080c8bac5ded8b16554baec290d1c81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10292 zcmeG?c|6o>_usLOHOtt=3{#Ay3@XHJOx7tH!>CcJ!Nib~LAh;X4M{cGsqAIKjS#Jt zi|jk4jS7`gm&&~@*YEkx=w99T{@(Zf^uB-nKELyMJm)#*JkL4LInVwbn|ys;ApvLs zs`u~C#NW`1szRH-(Jk%EmyOljxQEbVhxjq}2Ga!v z5Rfp0gdj2mv0-_r5d;ao;MGJxkhvb>FIv**JQuMTq9H=q(KFBs4jAd`V}UVHa2AOpaHy9WDZ6bdo`FaF{r%maOd*6-aD z!q^jH=oTKtut0|~eHeRJ^8Jt!U#t)AB&-7N5)81}#qc%W-|C}>`Y`vdQ8)I6BNoN5O7>g;Npy9_Rz<7G{v&icP`3=-o^&J{OH&fkzt~8JQcI85^T@-TXpX zdlo5})WL z6OBO~a-5P(j6=iN{8& zAP-qCO%lnsX5VnvLx~A_VE{v2GFG6T5ND>KI5NIE+~8yrePv5jN_CglPwoj-#0X=K zZSIoEGZ{5Q45PH;%P1LU90$y)V~zE9NBvEeC7Qf)38(C|WB{Y?&Q1dqGAe>_`R#uS zb#=dBtgXpCJ!7&M7Z<|lC?H*2$YTguJismpSvYrb!SE;-7e2*f@iM5c9ASOBybiR- zxYXBQ9_=(9ZYZQT(j-J!@t8s*N@zT6e_E_tOw$J)5xX$_e+n3k z%jsMI7;8F=a$V>=GMAt8SpPJW#n5MnM4~muI#LV9^hh~?h}JVO^{>HN78Chl_3G7l zj7!0C7)RvC0<_xr9Zdae!2dZC-&ewb0PKr6UA}nPFg!{?%LQf%Xi;4Fh~mPdD3sGMlS1L-EudTk0%0A|AP~VvQ42_j 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 diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/red-green.webmvp8.webm b/dom/canvas/test/webgl-conformance/conformance/resources/red-green.webmvp8.webm deleted file mode 100644 index fde59a18b4dde9a13f37c3f462af88ad4b0f3c3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10979 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 diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/red-indexed.png b/dom/canvas/test/webgl-conformance/conformance/resources/red-indexed.png deleted file mode 100644 index 3188d2d75b470db8f73861ca7159f7f4d8e82121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?juKyVrBp-2_1G$_99+AZi z4BWyX%*Zfnjs#Fpsl+v+#5q4VH#M(>!MP|ku_QG`p**uBL&4qCH$WjjPa#pkH!-<= zMY%IjHG7GtuPgg)Mj0_H(ZjJx-9RBOPZ!4!j_b(@KsFNt<0HjA#y}Q>r>mdKI;Vst E0FX5%{Qv*} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/samplerUniformShader.frag b/dom/canvas/test/webgl-conformance/conformance/resources/samplerUniformShader.frag deleted file mode 100644 index 11cba127460f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/samplerUniformShader.frag +++ /dev/null @@ -1,8 +0,0 @@ -precision mediump float; -uniform sampler2D s2D; -uniform samplerCube sCube; -void main() -{ - gl_FragColor = texture2D(s2D, vec2(0.5, 0.5)) + - textureCube(sCube, vec3(0.5, 0.5, 0.5)); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-cie-rgb-profile.png b/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-cie-rgb-profile.png deleted file mode 100644 index aa8bf377179eb9abb443514c73e1c1fb02ec71e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 868 zcmV-q1DpJbP)KLZ*U+YU6oGyX5vOG)piGa6f z1i)m|X}cZ%#!_5p1H1#xVN%8*Y#=%_g#mF1$mqB*Ag%$a54;wLJD{Fc{s7dY%3pxG z_Ja__DCHUb8^NRj3*kIl zzXuxd*!Td+*iNkt{rC?6001CkNK#Dz0D>_90D>_90UsOy0B3^$0BZ;U0T>ei06{wd z00V@F zyB7dZxIT;NfifuqJijGCl7}@CCIKMmj{xLvND}}UMwXi(nZNt8@jRgFvyMctve$!X z-2(_?Rs=*hLu^{%DP`3?R5&J7e^3E*!9?gTg11Z(AfPLMg%5UJjxFnZ?J}^T65|FG z>>ULiBsBJzp&vxhqCg&Xn5A8Nm}sA>7?&t*U*RPIb;5bcLa!EnfWjL_dupL36Z?9T zoFzWWN&3vh6F6l?e3_;+v2`#3!VxrwBhV%$rd(>A2i(*OB<0vGF;QGg!)kZtWG(oX zNC*-XhEPz`HYZg1oRNHRTFQZ8G6w|;>QhX8CR#Ba=v5CI!q~CJu38v6L)^o}c~vH} z_Q*Xga!Qe6OraB`Esh9NisUTbBv4@#1;3F%6jq=iF`Qth5`#;^3hp+HAss4J0@l);+Nk4<@a{DJM+sSZNP9?r_$MG u&dMCB&~V?0@23(Kzp#}gNE&K3{{sM`l)Htd=@Xy;0000KLZ*U+YU6oY?l0dWJ^`q*oLxC5+y;ZJ}S75)ZT+7Chy z?||L+gAginfE^XS0@xLXG(WX(gTY7 z09a_K6QvKkCLTzy?eg#VK`0BGzJC38r_4&?Q+@W`g}DEHE_YmxU^j;9cA0r=a6N(L zmoi)3gQa!2m7hvQQbYs9dSw6r03c&XQcVB=hYA1yj0yk%_7(sDgwFr~b2|V4>{9>$ zI+p+d9ZUN2WtRW|0jxDDhcyx=0U+p)0OW5-695=SmYX1%zx%TBJfP~cjzqAs z*Mn%?0|;YQ1VlGOY+B(dWz{`YI3`qoPyuwoMCdMpw@eZspeuic4|ZLSE$e&jGO(c% z;|3J$9R(dEH1?RGA4JfiKpu6NrCocNXrHPWmndyt;Uxie!gpNQ(PACT1t%m)`&7_jb5D^UEP^z;IZn x(%ELt${ecDaNmjVrxF#vu$3f88frHG0|26wyM?Cd6QBS9002ovPDHLkV1gW|c8CA~ diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-colorspin-profile.jpg b/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-colorspin-profile.jpg deleted file mode 100644 index a9186968fbd03385fde3d278ca80a5b1d8166ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9145 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 diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png b/dom/canvas/test/webgl-conformance/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png deleted file mode 100644 index a0201f113fdc8e971faa17dbff8954192ea866fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3201 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 niSMTp6~C~RBuE-+HvaD%Yb diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/structUniformShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/structUniformShader.vert deleted file mode 100644 index 59c719a0014a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/structUniformShader.vert +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2009 The Chromium Authors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -attribute vec4 a_vertex; -attribute vec3 a_normal; - -uniform mat4 u_modelViewProjMatrix; - -struct MyStruct -{ - int x; - int y; -}; - -uniform MyStruct u_struct; -uniform float u_array[4]; - -varying vec3 v_normal; - -void main() -{ - v_normal = a_normal; - gl_Position = u_modelViewProjMatrix * a_vertex + - vec4(u_struct.x, u_struct.y, 0, 1) + - vec4(u_array[0], u_array[1], u_array[2], u_array[3]); -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/vertexShader.vert b/dom/canvas/test/webgl-conformance/conformance/resources/vertexShader.vert deleted file mode 100644 index fe6640b75bae..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/vertexShader.vert +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright (C) 2009 Apple Computer, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. AS IS AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -attribute vec4 a_vertex; -attribute vec3 a_normal; - -uniform mediump mat4 u_modelViewProjMatrix; - -varying vec3 v_normal; - -void main() -{ - v_normal = a_normal; - gl_Position = u_modelViewProjMatrix * a_vertex; -} diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test-utils.js b/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test-utils.js deleted file mode 100644 index 4a67fbb56fef..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test-utils.js +++ /dev/null @@ -1,1462 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -WebGLTestUtils = (function() { - -/** - * Wrapped logging function. - * @param {string} msg The message to log. - */ -var log = function(msg) { - if (window.console && window.console.log) { - window.console.log(msg); - } -}; - -/** - * Wrapped logging function. - * @param {string} msg The message to log. - */ -var error = function(msg) { - if (window.console) { - if (window.console.error) { - window.console.error(msg); - } - else if (window.console.log) { - window.console.log(msg); - } - } -}; - -/** - * Turn off all logging. - */ -var loggingOff = function() { - log = function() {}; - error = function() {}; -}; - -/** - * Converts a WebGL enum to a string - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} value The enum value. - * @return {string} The enum as a string. - */ -var glEnumToString = function(gl, value) { - for (var p in gl) { - if (gl[p] == value) { - return p; - } - } - return "0x" + value.toString(16); -}; - -var lastError = ""; - -/** - * Returns the last compiler/linker error. - * @return {string} The last compiler/linker error. - */ -var getLastError = function() { - return lastError; -}; - -/** - * Whether a haystack ends with a needle. - * @param {string} haystack String to search - * @param {string} needle String to search for. - * @param {boolean} True if haystack ends with needle. - */ -var endsWith = function(haystack, needle) { - return haystack.substr(haystack.length - needle.length) === needle; -}; - -/** - * Whether a haystack starts with a needle. - * @param {string} haystack String to search - * @param {string} needle String to search for. - * @param {boolean} True if haystack starts with needle. - */ -var startsWith = function(haystack, needle) { - return haystack.substr(0, needle.length) === needle; -}; - -/** - * A vertex shader for a single texture. - * @type {string} - */ -var simpleTextureVertexShader = [ - 'attribute vec4 vPosition;', - 'attribute vec2 texCoord0;', - 'varying vec2 texCoord;', - 'void main() {', - ' gl_Position = vPosition;', - ' texCoord = texCoord0;', - '}'].join('\n'); - -/** - * A fragment shader for a single texture. - * @type {string} - */ -var simpleTextureFragmentShader = [ - 'precision mediump float;', - 'uniform sampler2D tex;', - 'varying vec2 texCoord;', - 'void main() {', - ' gl_FragData[0] = texture2D(tex, texCoord);', - '}'].join('\n'); - -/** - * Creates a simple texture vertex shader. - * @param {!WebGLContext} gl The WebGLContext to use. - * @return {!WebGLShader} - */ -var setupSimpleTextureVertexShader = function(gl) { - return loadShader(gl, simpleTextureVertexShader, gl.VERTEX_SHADER); -}; - -/** - * Creates a simple texture fragment shader. - * @param {!WebGLContext} gl The WebGLContext to use. - * @return {!WebGLShader} - */ -var setupSimpleTextureFragmentShader = function(gl) { - return loadShader( - gl, simpleTextureFragmentShader, gl.FRAGMENT_SHADER); -}; - -/** - * Creates a program, attaches shaders, binds attrib locations, links the - * program and calls useProgram. - * @param {!Array.} shaders The shaders to - * attach, or the source, or the id of a script to get - * the source from. - * @param {!Array.} opt_attribs The attribs names. - * @param {!Array.} opt_locations The locations for the attribs. - */ -var setupProgram = function(gl, shaders, opt_attribs, opt_locations) { - var realShaders = []; - var program = gl.createProgram(); - for (var ii = 0; ii < shaders.length; ++ii) { - var shader = shaders[ii]; - if (typeof shader == 'string') { - var element = document.getElementById(shader); - if (element) { - shader = loadShaderFromScript(gl, shader); - } else { - shader = loadShader(gl, shader, ii ? gl.FRAGMENT_SHADER : gl.VERTEX_SHADER); - } - } - gl.attachShader(program, shader); - } - if (opt_attribs) { - for (var ii = 0; ii < opt_attribs.length; ++ii) { - gl.bindAttribLocation( - program, - opt_locations ? opt_locations[ii] : ii, - opt_attribs[ii]); - } - } - gl.linkProgram(program); - - // Check the link status - var linked = gl.getProgramParameter(program, gl.LINK_STATUS); - if (!linked) { - // something went wrong with the link - lastError = gl.getProgramInfoLog (program); - error("Error in program linking:" + lastError); - - gl.deleteProgram(program); - return null; - } - - gl.useProgram(program); - return program; -}; - -/** - * Creates a simple texture program. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} opt_positionLocation The attrib location for position. - * @param {number} opt_texcoordLocation The attrib location for texture coords. - * @return {WebGLProgram} - */ -var setupSimpleTextureProgram = function( - gl, opt_positionLocation, opt_texcoordLocation) { - opt_positionLocation = opt_positionLocation || 0; - opt_texcoordLocation = opt_texcoordLocation || 1; - var vs = setupSimpleTextureVertexShader(gl); - var fs = setupSimpleTextureFragmentShader(gl); - if (!vs || !fs) { - return null; - } - var program = setupProgram( - gl, - [vs, fs], - ['vPosition', 'texCoord0'], - [opt_positionLocation, opt_texcoordLocation]); - if (!program) { - gl.deleteShader(fs); - gl.deleteShader(vs); - } - gl.useProgram(program); - return program; -}; - -/** - * Creates buffers for a textured unit quad and attaches them to vertex attribs. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} opt_positionLocation The attrib location for position. - * @param {number} opt_texcoordLocation The attrib location for texture coords. - * @return {!Array.} The buffer objects that were - * created. - */ -var setupUnitQuad = function(gl, opt_positionLocation, opt_texcoordLocation) { - return setupUnitQuadWithTexCoords(gl, [ 0.0, 0.0 ], [ 1.0, 1.0 ], - opt_positionLocation, opt_texcoordLocation); -}; - -/** - * Draws a previously setupUnitQuad. - * @param {!WebGLContext} gl The WebGLContext to use. - */ -var drawUnitQuad = function(gl) { - gl.drawArrays(gl.TRIANGLES, 0, 6); -}; - -/** - * Clears then Draws a previously setupUnitQuad. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} opt_color The color to fill clear with before - * drawing. A 4 element array where each element is in the range 0 to - * 255. Default [255, 255, 255, 255] - */ -var clearAndDrawUnitQuad = function(gl, opt_color) { - opt_color = opt_color || [255, 255, 255, 255]; - - // Save and restore. - var prevClearColor = gl.getParameter(gl.COLOR_CLEAR_VALUE); - - gl.clearColor(opt_color[0] / 255, - opt_color[1] / 255, - opt_color[2] / 255, - opt_color[3] / 255); - gl.clear(gl.COLOR_BUFFER_BIT); - drawUnitQuad(gl); - - gl.clearColor(prevClearColor[0], - prevClearColor[1], - prevClearColor[2], - prevClearColor[3]); -}; - -/** - * Creates buffers for a textured unit quad with specified lower left - * and upper right texture coordinates, and attaches them to vertex - * attribs. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} lowerLeftTexCoords The texture coordinates for the lower left corner. - * @param {!Array.} upperRightTexCoords The texture coordinates for the upper right corner. - * @param {number} opt_positionLocation The attrib location for position. - * @param {number} opt_texcoordLocation The attrib location for texture coords. - * @return {!Array.} The buffer objects that were - * created. - */ -var setupUnitQuadWithTexCoords = function( - gl, lowerLeftTexCoords, upperRightTexCoords, - opt_positionLocation, opt_texcoordLocation) { - opt_positionLocation = opt_positionLocation || 0; - opt_texcoordLocation = opt_texcoordLocation || 1; - var objects = []; - - var vertexObject = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ - 1.0, 1.0, 0.0, - -1.0, 1.0, 0.0, - -1.0, -1.0, 0.0, - 1.0, 1.0, 0.0, - -1.0, -1.0, 0.0, - 1.0, -1.0, 0.0]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(opt_positionLocation); - gl.vertexAttribPointer(opt_positionLocation, 3, gl.FLOAT, false, 0, 0); - objects.push(vertexObject); - - var llx = lowerLeftTexCoords[0]; - var lly = lowerLeftTexCoords[1]; - var urx = upperRightTexCoords[0]; - var ury = upperRightTexCoords[1]; - - var vertexObject = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ - urx, ury, - llx, ury, - llx, lly, - urx, ury, - llx, lly, - urx, lly]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(opt_texcoordLocation); - gl.vertexAttribPointer(opt_texcoordLocation, 2, gl.FLOAT, false, 0, 0); - objects.push(vertexObject); - return objects; -}; - -/** - * Creates a program and buffers for rendering a textured quad. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} opt_positionLocation The attrib location for position. - * @param {number} opt_texcoordLocation The attrib location for texture coords. - * @return {!WebGLProgram} - */ -var setupTexturedQuad = function( - gl, opt_positionLocation, opt_texcoordLocation) { - var program = setupSimpleTextureProgram( - gl, opt_positionLocation, opt_texcoordLocation); - setupUnitQuad(gl, opt_positionLocation, opt_texcoordLocation); - return program; -}; - -/** - * Creates a program and buffers for rendering a textured quad with - * specified lower left and upper right texture coordinates. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} lowerLeftTexCoords The texture coordinates for the lower left corner. - * @param {!Array.} upperRightTexCoords The texture coordinates for the upper right corner. - * @param {number} opt_positionLocation The attrib location for position. - * @param {number} opt_texcoordLocation The attrib location for texture coords. - * @return {!WebGLProgram} - */ -var setupTexturedQuadWithTexCoords = function( - gl, lowerLeftTexCoords, upperRightTexCoords, - opt_positionLocation, opt_texcoordLocation) { - var program = setupSimpleTextureProgram( - gl, opt_positionLocation, opt_texcoordLocation); - setupUnitQuadWithTexCoords(gl, lowerLeftTexCoords, upperRightTexCoords, - opt_positionLocation, opt_texcoordLocation); - return program; -}; - -/** - * Creates a unit quad with only positions of a given resolution. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} gridRes The resolution of the mesh grid, expressed in the number of triangles across and down. - * @param {number} opt_positionLocation The attrib location for position. - */ -var setupQuad = function ( - gl, gridRes, opt_positionLocation, opt_flipOddTriangles) { - var positionLocation = opt_positionLocation || 0; - var objects = []; - - var vertsAcross = gridRes + 1; - var numVerts = vertsAcross * vertsAcross; - var positions = new Float32Array(numVerts * 3); - var indices = new Uint16Array(6 * gridRes * gridRes); - - var poffset = 0; - - for (var yy = 0; yy <= gridRes; ++yy) { - for (var xx = 0; xx <= gridRes; ++xx) { - positions[poffset + 0] = -1 + 2 * xx / gridRes; - positions[poffset + 1] = -1 + 2 * yy / gridRes; - positions[poffset + 2] = 0; - - poffset += 3; - } - } - - var tbase = 0; - for (var yy = 0; yy < gridRes; ++yy) { - var index = yy * vertsAcross; - for (var xx = 0; xx < gridRes; ++xx) { - indices[tbase + 0] = index + 0; - indices[tbase + 1] = index + 1; - indices[tbase + 2] = index + vertsAcross; - indices[tbase + 3] = index + vertsAcross; - indices[tbase + 4] = index + 1; - indices[tbase + 5] = index + vertsAcross + 1; - - if (opt_flipOddTriangles) { - indices[tbase + 4] = index + vertsAcross + 1; - indices[tbase + 5] = index + 1; - } - - index += 1; - tbase += 6; - } - } - - var buf = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, buf); - gl.bufferData(gl.ARRAY_BUFFER, positions, gl.STATIC_DRAW); - gl.enableVertexAttribArray(positionLocation); - gl.vertexAttribPointer(positionLocation, 3, gl.FLOAT, false, 0, 0); - objects.push(buf); - - var buf = gl.createBuffer(); - gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buf); - gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW); - objects.push(buf); - - return objects; -}; - -/** - * Fills the given texture with a solid color - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!WebGLTexture} tex The texture to fill. - * @param {number} width The width of the texture to create. - * @param {number} height The height of the texture to create. - * @param {!Array.} color The color to fill with. A 4 element array - * where each element is in the range 0 to 255. - * @param {number} opt_level The level of the texture to fill. Default = 0. - */ -var fillTexture = function(gl, tex, width, height, color, opt_level) { - opt_level = opt_level || 0; - var numPixels = width * height; - var size = numPixels * 4; - var buf = new Uint8Array(size); - for (var ii = 0; ii < numPixels; ++ii) { - var off = ii * 4; - buf[off + 0] = color[0]; - buf[off + 1] = color[1]; - buf[off + 2] = color[2]; - buf[off + 3] = color[3]; - } - gl.bindTexture(gl.TEXTURE_2D, tex); - gl.texImage2D( - gl.TEXTURE_2D, opt_level, gl.RGBA, width, height, 0, - gl.RGBA, gl.UNSIGNED_BYTE, buf); - }; - -/** - * Creates a textures and fills it with a solid color - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} width The width of the texture to create. - * @param {number} height The height of the texture to create. - * @param {!Array.} color The color to fill with. A 4 element array - * where each element is in the range 0 to 255. - * @return {!WebGLTexture} - */ -var createColoredTexture = function(gl, width, height, color) { - var tex = gl.createTexture(); - fillTexture(gl, tex, width, height, color); - return tex; -}; - -/** - * Draws a previously setup quad. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} opt_color The color to fill clear with before - * drawing. A 4 element array where each element is in the range 0 to - * 255. Default [255, 255, 255, 255] - */ -var drawQuad = function(gl, opt_color) { - opt_color = opt_color || [255, 255, 255, 255]; - gl.clearColor( - opt_color[0] / 255, - opt_color[1] / 255, - opt_color[2] / 255, - opt_color[3] / 255); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - gl.drawArrays(gl.TRIANGLES, 0, 6); -}; - -/** - * Checks that a portion of a canvas is 1 color. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} x left corner of region to check. - * @param {number} y bottom corner of region to check. - * @param {number} width width of region to check. - * @param {number} height width of region to check. - * @param {!Array.} color The color to fill clear with before drawing. A - * 4 element array where each element is in the range 0 to 255. - * @param {string} msg Message to associate with success. Eg ("should be red"). - * @param {number} errorRange Optional. Acceptable error in - * color checking. 0 by default. - */ -var checkCanvasRect = function(gl, x, y, width, height, color, msg, errorRange) { - errorRange = errorRange || 0; - var buf = new Uint8Array(width * height * 4); - gl.readPixels(x, y, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf); - for (var i = 0; i < width * height; ++i) { - var offset = i * 4; - for (var j = 0; j < color.length; ++j) { - if (Math.abs(buf[offset + j] - color[j]) > errorRange) { - var was = buf[offset + 0].toString(); - for (j = 1; j < color.length; ++j) { - was += "," + buf[offset + j]; - } - - var cv = document.createElement('canvas'); - cv.height = height; - cv.width = width; - var ctx = cv.getContext('2d'); - ctx.fillStyle="rgba(" + color[0] + ", " + color[1] + ", " + color[2] + ", 255)"; - ctx.fillRect(0, 0, width, height); - testFailedRender(msg, ctx, buf, width, height); - - debug('at (' + (i % width) + ', ' + Math.floor(i / width) + - ') expected: ' + color + ' was ' + was); - return; - } - } - } - testPassed(msg); -}; - -/** - * Checks that an entire canvas is 1 color. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} color The color to fill clear with before drawing. A - * 4 element array where each element is in the range 0 to 255. - * @param {string} msg Message to associate with success. Eg ("should be red"). - * @param {number} errorRange Optional. Acceptable error in - * color checking. 0 by default. - */ -var checkCanvas = function(gl, color, msg, errorRange) { - checkCanvasRect(gl, 0, 0, gl.canvas.width, gl.canvas.height, color, msg, errorRange); -}; - -/** - * Loads a texture, calls callback when finished. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} url URL of image to load - * @param {function(!Image): void} callback Function that gets called after - * image has loaded - * @return {!WebGLTexture} The created texture. - */ -var loadTexture = function(gl, url, callback) { - var texture = gl.createTexture(); - gl.bindTexture(gl.TEXTURE_2D, texture); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); - var image = new Image(); - image.onload = function() { - gl.bindTexture(gl.TEXTURE_2D, texture); - gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); - callback(image); - }; - image.src = url; - return texture; -}; - -/** - * Creates a webgl context. - * @param {!Canvas|string} opt_canvas The canvas tag to get - * context from. If one is not passed in one will be - * created. If it's a string it's assumed to be the id of a - * canvas. - * @return {!WebGLContext} The created context. - */ -var create3DContext = function(opt_canvas, opt_attributes) { - opt_canvas = opt_canvas || document.createElement("canvas"); - if (typeof opt_canvas == 'string') { - opt_canvas = document.getElementById(opt_canvas); - } - var context = null; - var names = ["webgl", "experimental-webgl"]; - for (var i = 0; i < names.length; ++i) { - try { - context = opt_canvas.getContext(names[i], opt_attributes); - } catch (e) { - } - if (context) { - break; - } - } - if (!context) { - testFailed("Unable to fetch WebGL rendering context for Canvas"); - } - return context; -} - -/** - * Gets a GLError value as a string. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} err The webgl error as retrieved from gl.getError(). - * @return {string} the error as a string. - */ -var getGLErrorAsString = function(gl, err) { - if (err === gl.NO_ERROR) { - return "NO_ERROR"; - } - for (var name in gl) { - if (gl[name] === err) { - return name; - } - } - return err.toString(); -}; - -/** - * Wraps a WebGL function with a function that throws an exception if there is - * an error. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} fname Name of function to wrap. - * @return {function} The wrapped function. - */ -var createGLErrorWrapper = function(context, fname) { - return function() { - var rv = context[fname].apply(context, arguments); - var err = context.getError(); - if (err != 0) - throw "GL error " + getGLErrorAsString(err) + " in " + fname; - return rv; - }; -}; - -/** - * Creates a WebGL context where all functions are wrapped to throw an exception - * if there is an error. - * @param {!Canvas} canvas The HTML canvas to get a context from. - * @return {!Object} The wrapped context. - */ -function create3DContextWithWrapperThatThrowsOnGLError(canvas) { - var context = create3DContext(canvas); - var wrap = {}; - for (var i in context) { - try { - if (typeof context[i] == 'function') { - wrap[i] = createGLErrorWrapper(context, i); - } else { - wrap[i] = context[i]; - } - } catch (e) { - error("createContextWrapperThatThrowsOnGLError: Error accessing " + i); - } - } - wrap.getError = function() { - return context.getError(); - }; - return wrap; -}; - -/** - * Tests that the first error GL returns is the specified error. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} glError The expected gl error. - * @param {string} opt_msg - */ -var glErrorShouldBe = function(gl, glError, opt_msg) { - opt_msg = opt_msg || ""; - var err = gl.getError(); - if (err != glError) { - testFailed("getError expected: " + getGLErrorAsString(gl, glError) + - ". Was " + getGLErrorAsString(gl, err) + " : " + opt_msg); - } else { - testPassed("getError was expected value: " + - getGLErrorAsString(gl, glError) + " : " + opt_msg); - } -}; - -/** - * Tests that the first error GL returns is in the specified error list. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} expectedErrorList The list of expected gl errors. - * @param {string} opt_msg - */ -var glErrorShouldBeIn = function(gl, expectedErrorList, opt_msg) { - opt_msg = opt_msg || ""; - - var expectedErrorStrList = []; - var expectedErrorSet = {}; - - for (var i in expectedErrorList) { - var cur = expectedErrorList[i]; - - expectedErrorStrList.push(getGLErrorAsString(gl, cur)); - expectedErrorSet[cur] = true; - } - - var expectedErrorStr = "[" + expectedErrorStrList.join(", ") + "]"; - - var actualError = gl.getError(); - if (actualError in expectedErrorSet) { - testPassed("getError was in expected values: " + expectedErrorStr + " : " + opt_msg); - } else { - testFailed("getError expected: " + expectedErrorStr + - ". Was " + getGLErrorAsString(gl, actualError) + " : " + opt_msg); - } -}; - -/** - * Tests that an evaluated expression generates a specific GL error. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number} glError The expected gl error. - * @param {string} evalSTr The string to evaluate. - */ -var shouldGenerateGLError = function(gl, glError, evalStr) { - glErrorShouldBe(gl, 0, - "Should not be pre-existing errors during call to" - + " shouldGenerateGLError()."); - - var exception; - try { - eval(evalStr); - } catch (e) { - exception = e; - } - if (exception) { - testFailed(evalStr + " threw exception " + exception); - } else { - glErrorShouldBe(gl, glError, evalStr); - } -}; - -/** - * Tests that an evaluated expression generates a GL error from a list. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!Array.} expectedErrorList The list of expected gl errors. - * @param {string} evalSTr The string to evaluate. - */ -var shouldGenerateGLErrorIn = function(gl, expectedErrorList, evalStr) { - glErrorShouldBe(gl, 0, - "Should not be pre-existing errors during call to" - + " shouldGenerateGLErrorIn()."); - - var exception; - try { - eval(evalStr); - } catch (e) { - exception = e; - } - if (exception) { - testFailed(evalStr + " threw exception " + exception); - } else { - glErrorShouldBeIn(gl, expectedErrorList, evalStr); - } -}; - -/** - * Links a WebGL program, throws if there are errors. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {!WebGLProgram} program The WebGLProgram to link. - * @param {function(string): void) opt_errorCallback callback for errors. - */ -var linkProgram = function(gl, program, opt_errorCallback) { - errFn = opt_errorCallback || testFailed; - // Link the program - gl.linkProgram(program); - - // Check the link status - var linked = gl.getProgramParameter(program, gl.LINK_STATUS); - if (!linked) { - // something went wrong with the link - var error = gl.getProgramInfoLog (program); - - errFn("Error in program linking:" + error); - - gl.deleteProgram(program); - } -}; - -/** - * Sets up WebGL with shaders. - * @param {string} canvasName The id of the canvas. - * @param {string} vshader The id of the script tag that contains the vertex - * shader source. - * @param {string} fshader The id of the script tag that contains the fragment - * shader source. - * @param {!Array.} attribs An array of attrib names used to bind - * attribs to the ordinal of the name in this array. - * @param {!Array.} opt_clearColor The color to cla - * @return {!WebGLContext} The created WebGLContext. - */ -var setupWebGLWithShaders = function( - canvasName, vshader, fshader, attribs) { - var canvas = document.getElementById(canvasName); - var gl = create3DContext(canvas); - if (!gl) { - testFailed("No WebGL context found"); - } - - // create our shaders - var vertexShader = loadShaderFromScript(gl, vshader); - var fragmentShader = loadShaderFromScript(gl, fshader); - - if (!vertexShader || !fragmentShader) { - return null; - } - - // Create the program object - program = gl.createProgram(); - - if (!program) { - return null; - } - - // Attach our two shaders to the program - gl.attachShader (program, vertexShader); - gl.attachShader (program, fragmentShader); - - // Bind attributes - for (var i in attribs) { - gl.bindAttribLocation (program, i, attribs[i]); - } - - linkProgram(gl, program); - - gl.useProgram(program); - - gl.clearColor(0,0,0,1); - gl.clearDepth(1); - - gl.enable(gl.DEPTH_TEST); - gl.enable(gl.BLEND); - gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); - - gl.program = program; - return gl; -}; - -/** - * Loads text from an external file. This function is synchronous. - * @param {string} url The url of the external file. - * @param {!function(bool, string): void} callback that is sent a bool for - * success and the string. - */ -var loadTextFileAsync = function(url, callback) { - log ("loading: " + url); - var error = 'loadTextFileSynchronous failed to load url "' + url + '"'; - var request; - if (window.XMLHttpRequest) { - request = new XMLHttpRequest(); - if (request.overrideMimeType) { - request.overrideMimeType('text/plain'); - } - } else { - throw 'XMLHttpRequest is disabled'; - } - try { - request.open('GET', url, true); - request.onreadystatechange = function() { - if (request.readyState == 4) { - var text = ''; - // HTTP reports success with a 200 status. The file protocol reports - // success with zero. HTTP does not use zero as a status code (they - // start at 100). - // https://developer.mozilla.org/En/Using_XMLHttpRequest - var success = request.status == 200 || request.status == 0; - if (success) { - text = request.responseText; - } - log("loaded: " + url); - callback(success, text); - } - }; - request.send(null); - } catch (e) { - log("failed to load: " + url); - callback(false, ''); - } -}; - -// Add your prefix here. -var browserPrefixes = [ - "", - "MOZ_", - "OP_", - "WEBKIT_" -]; - -/** - * Given an extension name like WEBGL_compressed_texture_s3tc - * returns the name of the supported version extension, like - * WEBKIT_WEBGL_compressed_teture_s3tc - * @param {string} name Name of extension to look for - * @return {string} name of extension found or undefined if not - * found. - */ -var getSupportedExtensionWithKnownPrefixes = function(gl, name) { - var supported = gl.getSupportedExtensions(); - for (var ii = 0; ii < browserPrefixes.length; ++ii) { - var prefixedName = browserPrefixes[ii] + name; - if (supported.indexOf(prefixedName) >= 0) { - return prefixedName; - } - } -}; - -/** - * Given an extension name like WEBGL_compressed_texture_s3tc - * returns the supported version extension, like - * WEBKIT_WEBGL_compressed_teture_s3tc - * @param {string} name Name of extension to look for - * @return {WebGLExtension} The extension or undefined if not - * found. - */ -var getExtensionWithKnownPrefixes = function(gl, name) { - for (var ii = 0; ii < browserPrefixes.length; ++ii) { - var prefixedName = browserPrefixes[ii] + name; - var ext = gl.getExtension(prefixedName); - if (ext) { - return ext; - } - } -}; - -/** - * Recursively loads a file as a list. Each line is parsed for a relative - * path. If the file ends in .txt the contents of that file is inserted in - * the list. - * - * @param {string} url The url of the external file. - * @param {!function(bool, Array): void} callback that is sent a bool - * for success and the array of strings. - */ -var getFileListAsync = function(url, callback) { - var files = []; - - var getFileListImpl = function(url, callback) { - var files = []; - if (url.substr(url.length - 4) == '.txt') { - loadTextFileAsync(url, function() { - return function(success, text) { - if (!success) { - callback(false, ''); - return; - } - var lines = text.split('\n'); - var prefix = ''; - var lastSlash = url.lastIndexOf('/'); - if (lastSlash >= 0) { - prefix = url.substr(0, lastSlash + 1); - } - var fail = false; - var count = 1; - var index = 0; - for (var ii = 0; ii < lines.length; ++ii) { - var str = lines[ii].replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - if (str.length > 4 && - str[0] != '#' && - str[0] != ";" && - str.substr(0, 2) != "//") { - var names = str.split(/ +/); - new_url = prefix + str; - if (names.length == 1) { - new_url = prefix + str; - ++count; - getFileListImpl(new_url, function(index) { - return function(success, new_files) { - log("got files: " + new_files.length); - if (success) { - files[index] = new_files; - } - finish(success); - }; - }(index++)); - } else { - var s = ""; - var p = ""; - for (var jj = 0; jj < names.length; ++jj) { - s += p + prefix + names[jj]; - p = " "; - } - files[index++] = s; - } - } - } - finish(true); - - function finish(success) { - if (!success) { - fail = true; - } - --count; - log("count: " + count); - if (!count) { - callback(!fail, files); - } - } - } - }()); - - } else { - files.push(url); - callback(true, files); - } - }; - - getFileListImpl(url, function(success, files) { - // flatten - var flat = []; - flatten(files); - function flatten(files) { - for (var ii = 0; ii < files.length; ++ii) { - var value = files[ii]; - if (typeof(value) == "string") { - flat.push(value); - } else { - flatten(value); - } - } - } - callback(success, flat); - }); -}; - -/** - * Gets a file from a file/URL - * @param {string} file the URL of the file to get. - * @return {string} The contents of the file. - */ -var readFile = function(file) { - var xhr = new XMLHttpRequest(); - xhr.open("GET", file, false); - xhr.send(); - return xhr.responseText.replace(/\r/g, ""); -}; - -var readFileList = function(url) { - var files = []; - if (url.substr(url.length - 4) == '.txt') { - var lines = readFile(url).split('\n'); - var prefix = ''; - var lastSlash = url.lastIndexOf('/'); - if (lastSlash >= 0) { - prefix = url.substr(0, lastSlash + 1); - } - for (var ii = 0; ii < lines.length; ++ii) { - var str = lines[ii].replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - if (str.length > 4 && - str[0] != '#' && - str[0] != ";" && - str.substr(0, 2) != "//") { - var names = str.split(/ +/); - if (names.length == 1) { - new_url = prefix + str; - files = files.concat(readFileList(new_url)); - } else { - var s = ""; - var p = ""; - for (var jj = 0; jj < names.length; ++jj) { - s += p + prefix + names[jj]; - p = " "; - } - files.push(s); - } - } - } - } else { - files.push(url); - } - return files; -}; - -/** - * Loads a shader. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} shaderSource The shader source. - * @param {number} shaderType The type of shader. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLShader} The created shader. - */ -var loadShader = function(gl, shaderSource, shaderType, opt_errorCallback) { - var errFn = opt_errorCallback || error; - // Create the shader object - var shader = gl.createShader(shaderType); - if (shader == null) { - errFn("*** Error: unable to create shader '"+shaderSource+"'"); - return null; - } - - // Load the shader source - gl.shaderSource(shader, shaderSource); - var err = gl.getError(); - if (err != gl.NO_ERROR) { - errFn("*** Error loading shader '" + shader + "':" + glEnumToString(gl, err)); - return null; - } - - // Compile the shader - gl.compileShader(shader); - - // Check the compile status - var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); - if (!compiled) { - // Something went wrong during compilation; get the error - lastError = gl.getShaderInfoLog(shader); - errFn("*** Error compiling shader '" + shader + "':" + lastError); - gl.deleteShader(shader); - return null; - } - - return shader; -} - -/** - * Loads a shader from a URL. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {file} file The URL of the shader source. - * @param {number} type The type of shader. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLShader} The created shader. - */ -var loadShaderFromFile = function(gl, file, type, opt_errorCallback) { - var shaderSource = readFile(file); - return loadShader(gl, shaderSource, type, opt_errorCallback); -}; - -/** - * Gets the content of script. - */ -var getScript = function(scriptId) { - var shaderScript = document.getElementById(scriptId); - if (!shaderScript) { - throw("*** Error: unknown script element" + scriptId); - } - return shaderScript.text; -}; - -/** - * Loads a shader from a script tag. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} scriptId The id of the script tag. - * @param {number} opt_shaderType The type of shader. If not passed in it will - * be derived from the type of the script tag. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLShader} The created shader. - */ -var loadShaderFromScript = function( - gl, scriptId, opt_shaderType, opt_errorCallback) { - var shaderSource = ""; - var shaderType; - var shaderScript = document.getElementById(scriptId); - if (!shaderScript) { - throw("*** Error: unknown script element " + scriptId); - } - shaderSource = shaderScript.text; - - if (!opt_shaderType) { - if (shaderScript.type == "x-shader/x-vertex") { - shaderType = gl.VERTEX_SHADER; - } else if (shaderScript.type == "x-shader/x-fragment") { - shaderType = gl.FRAGMENT_SHADER; - } else if (shaderType != gl.VERTEX_SHADER && shaderType != gl.FRAGMENT_SHADER) { - throw("*** Error: unknown shader type"); - return null; - } - } - - return loadShader( - gl, shaderSource, opt_shaderType ? opt_shaderType : shaderType, - opt_errorCallback); -}; - -var loadStandardProgram = function(gl) { - var program = gl.createProgram(); - gl.attachShader(program, loadStandardVertexShader(gl)); - gl.attachShader(program, loadStandardFragmentShader(gl)); - linkProgram(gl, program); - return program; -}; - -/** - * Loads shaders from files, creates a program, attaches the shaders and links. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} vertexShaderPath The URL of the vertex shader. - * @param {string} fragmentShaderPath The URL of the fragment shader. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLProgram} The created program. - */ -var loadProgramFromFile = function( - gl, vertexShaderPath, fragmentShaderPath, opt_errorCallback) { - var program = gl.createProgram(); - gl.attachShader( - program, - loadShaderFromFile( - gl, vertexShaderPath, gl.VERTEX_SHADER, opt_errorCallback)); - gl.attachShader( - program, - loadShaderFromFile( - gl, fragmentShaderPath, gl.FRAGMENT_SHADER, opt_errorCallback)); - linkProgram(gl, program, opt_errorCallback); - return program; -}; - -/** - * Loads shaders from script tags, creates a program, attaches the shaders and - * links. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} vertexScriptId The id of the script tag that contains the - * vertex shader. - * @param {string} fragmentScriptId The id of the script tag that contains the - * fragment shader. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLProgram} The created program. - */ -var loadProgramFromScript = function loadProgramFromScript( - gl, vertexScriptId, fragmentScriptId, opt_errorCallback) { - var program = gl.createProgram(); - gl.attachShader( - program, - loadShaderFromScript( - gl, vertexScriptId, gl.VERTEX_SHADER, opt_errorCallback)); - gl.attachShader( - program, - loadShaderFromScript( - gl, fragmentScriptId, gl.FRAGMENT_SHADER, opt_errorCallback)); - linkProgram(gl, program, opt_errorCallback); - return program; -}; - -/** - * Loads shaders from source, creates a program, attaches the shaders and - * links. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} vertexShader The vertex shader. - * @param {string} fragmentShader The fragment shader. - * @param {function(string): void) opt_errorCallback callback for errors. - * @return {!WebGLProgram} The created program. - */ -var loadProgram = function( - gl, vertexShader, fragmentShader, opt_errorCallback) { - var program = gl.createProgram(); - gl.attachShader( - program, - loadShader( - gl, vertexShader, gl.VERTEX_SHADER, opt_errorCallback)); - gl.attachShader( - program, - loadShader( - gl, fragmentShader, gl.FRAGMENT_SHADER, opt_errorCallback)); - linkProgram(gl, program, opt_errorCallback); - return program; -}; - -/** - * Loads shaders from source, creates a program, attaches the shaders and - * links but expects error. - * - * GLSL 1.0.17 10.27 effectively says that compileShader can - * always succeed as long as linkProgram fails so we can't - * rely on compileShader failing. This function expects - * one of the shader to fail OR linking to fail. - * - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {string} vertexShaderScriptId The vertex shader. - * @param {string} fragmentShaderScriptId The fragment shader. - * @return {WebGLProgram} The created program. - */ -var loadProgramFromScriptExpectError = function( - gl, vertexShaderScriptId, fragmentShaderScriptId) { - var vertexShader = loadShaderFromScript(gl, vertexShaderScriptId); - if (!vertexShader) { - return null; - } - var fragmentShader = loadShaderFromScript(gl, fragmentShaderScriptId); - if (!fragmentShader) { - return null; - } - var linkSuccess = true; - var program = gl.createProgram(); - gl.attachShader(program, vertexShader); - gl.attachShader(program, fragmentShader); - linkSuccess = true; - linkProgram(gl, program, function() { - linkSuccess = false; - }); - return linkSuccess ? program : null; -}; - -var basePath; -var getBasePath = function() { - if (!basePath) { - var expectedBase = "webgl-test-utils.js"; - var scripts = document.getElementsByTagName('script'); - for (var script, i = 0; script = scripts[i]; i++) { - var src = script.src; - var l = src.length; - if (src.substr(l - expectedBase.length) == expectedBase) { - basePath = src.substr(0, l - expectedBase.length); - } - } - } - return basePath; -}; - -var loadStandardVertexShader = function(gl) { - return loadShaderFromFile( - gl, getBasePath() + "vertexShader.vert", gl.VERTEX_SHADER); -}; - -var loadStandardFragmentShader = function(gl) { - return loadShaderFromFile( - gl, getBasePath() + "fragmentShader.frag", gl.FRAGMENT_SHADER); -}; - -/** - * Loads an image asynchronously. - * @param {string} url URL of image to load. - * @param {!function(!Element): void} callback Function to call - * with loaded image. - */ -var loadImageAsync = function(url, callback) { - var img = document.createElement('img'); - img.onload = function() { - callback(img); - }; - img.src = url; -}; - -/** - * Loads an array of images. - * @param {!Array.} urls URLs of images to load. - * @param {!function(!{string, img}): void} callback. Callback - * that gets passed map of urls to img tags. - */ -var loadImagesAsync = function(urls, callback) { - var count = 1; - var images = { }; - function countDown() { - --count; - if (count == 0) { - callback(images); - } - } - function imageLoaded(url) { - return function(img) { - images[url] = img; - countDown(); - } - } - for (var ii = 0; ii < urls.length; ++ii) { - ++count; - loadImageAsync(urls[ii], imageLoaded(urls[ii])); - } - countDown(); -}; - -var getUrlArguments = function() { - var args = {}; - try { - var s = window.location.href; - var q = s.indexOf("?"); - var e = s.indexOf("#"); - if (e < 0) { - e = s.length; - } - var query = s.substring(q + 1, e); - var pairs = query.split("&"); - for (var ii = 0; ii < pairs.length; ++ii) { - var keyValue = pairs[ii].split("="); - var key = keyValue[0]; - var value = decodeURIComponent(keyValue[1]); - args[key] = value; - } - } catch (e) { - throw "could not parse url"; - } - return args; -}; - -var makeImage = function(canvas) { - var img = document.createElement('img'); - img.src = canvas.toDataURL(); - return img; -}; - -var insertImage = function(element, caption, img) { - var div = document.createElement("div"); - div.appendChild(img); - var label = document.createElement("div"); - label.appendChild(document.createTextNode(caption)); - div.appendChild(label); - element.appendChild(div); -}; - -var addShaderSource = function(element, label, source) { - var div = document.createElement("div"); - var s = document.createElement("pre"); - s.className = "shader-source"; - s.style.display = "none"; - var ol = document.createElement("ol"); - //s.appendChild(document.createTextNode(source)); - var lines = source.split("\n"); - for (var ii = 0; ii < lines.length; ++ii) { - var line = lines[ii]; - var li = document.createElement("li"); - li.appendChild(document.createTextNode(line)); - ol.appendChild(li); - } - s.appendChild(ol); - var l = document.createElement("a"); - l.href = "show-shader-source"; - l.appendChild(document.createTextNode(label)); - l.addEventListener('click', function(event) { - if (event.preventDefault) { - event.preventDefault(); - } - s.style.display = (s.style.display == 'none') ? 'block' : 'none'; - return false; - }, false); - div.appendChild(l); - div.appendChild(s); - element.appendChild(div); -} - -return { - addShaderSource: addShaderSource, - clearAndDrawUnitQuad : clearAndDrawUnitQuad, - create3DContext: create3DContext, - create3DContextWithWrapperThatThrowsOnGLError: - create3DContextWithWrapperThatThrowsOnGLError, - checkCanvas: checkCanvas, - checkCanvasRect: checkCanvasRect, - createColoredTexture: createColoredTexture, - drawQuad: drawQuad, - drawUnitQuad: drawUnitQuad, - endsWith: endsWith, - getExtensionWithKnownPrefixes: getExtensionWithKnownPrefixes, - getFileListAsync: getFileListAsync, - getLastError: getLastError, - getScript: getScript, - getSupportedExtensionWithKnownPrefixes: getSupportedExtensionWithKnownPrefixes, - getUrlArguments: getUrlArguments, - glEnumToString: glEnumToString, - glErrorShouldBe: glErrorShouldBe, - glErrorShouldBeIn: glErrorShouldBeIn, - fillTexture: fillTexture, - insertImage: insertImage, - loadImageAsync: loadImageAsync, - loadImagesAsync: loadImagesAsync, - loadProgram: loadProgram, - loadProgramFromFile: loadProgramFromFile, - loadProgramFromScript: loadProgramFromScript, - loadProgramFromScriptExpectError: loadProgramFromScriptExpectError, - loadShader: loadShader, - loadShaderFromFile: loadShaderFromFile, - loadShaderFromScript: loadShaderFromScript, - loadStandardProgram: loadStandardProgram, - loadStandardVertexShader: loadStandardVertexShader, - loadStandardFragmentShader: loadStandardFragmentShader, - loadTextFileAsync: loadTextFileAsync, - loadTexture: loadTexture, - log: log, - loggingOff: loggingOff, - makeImage: makeImage, - error: error, - setupProgram: setupProgram, - setupQuad: setupQuad, - setupSimpleTextureFragmentShader: setupSimpleTextureFragmentShader, - setupSimpleTextureProgram: setupSimpleTextureProgram, - setupSimpleTextureVertexShader: setupSimpleTextureVertexShader, - setupTexturedQuad: setupTexturedQuad, - setupTexturedQuadWithTexCoords: setupTexturedQuadWithTexCoords, - setupUnitQuad: setupUnitQuad, - setupUnitQuadWithTexCoords: setupUnitQuadWithTexCoords, - setupWebGLWithShaders: setupWebGLWithShaders, - startsWith: startsWith, - shouldGenerateGLError: shouldGenerateGLError, - readFile: readFile, - readFileList: readFileList, - - none: false -}; - -}()); - - diff --git a/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test.js b/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test.js deleted file mode 100644 index fa1368258901..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/resources/webgl-test.js +++ /dev/null @@ -1,805 +0,0 @@ -/* -Copyright (C) 2011 Apple Computer, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -function webglTestLog(msg) { - if (window.console && window.console.log) { - window.console.log(msg); - } - if (document.getElementById("console")) { - var log = document.getElementById("console"); - log.innerHTML += msg + "
"; - } -} - -// -// create3DContext -// -// Returns the WebGLRenderingContext for any known implementation. -// -function create3DContext(canvas, attributes) -{ - if (!canvas) - canvas = document.createElement("canvas"); - var names = ["webgl", "experimental-webgl"]; - var context = null; - for (var i = 0; i < names.length; ++i) { - try { - context = canvas.getContext(names[i], attributes); - } catch (e) { - } - if (context) { - break; - } - } - if (!context) { - throw "Unable to fetch WebGL rendering context for Canvas"; - } - return context; -} - -function createGLErrorWrapper(context, fname) { - return function() { - var rv = context[fname].apply(context, arguments); - var err = context.getError(); - if (err != 0) - throw "GL error " + err + " in " + fname; - return rv; - }; -} - -function create3DContextWithWrapperThatThrowsOnGLError(canvas, attributes) { - var context = create3DContext(canvas, attributes); - // Thanks to Ilmari Heikkinen for the idea on how to implement this so elegantly. - var wrap = {}; - for (var i in context) { - try { - if (typeof context[i] == 'function') { - wrap[i] = createGLErrorWrapper(context, i); - } else { - wrap[i] = context[i]; - } - } catch (e) { - webglTestLog("createContextWrapperThatThrowsOnGLError: Error accessing " + i); - } - } - wrap.getError = function() { - return context.getError(); - }; - return wrap; -} - -function getGLErrorAsString(ctx, err) { - if (err === ctx.NO_ERROR) { - return "NO_ERROR"; - } - for (var name in ctx) { - if (ctx[name] === err) { - return name; - } - } - return "0x" + err.toString(16); -} - -// Pass undefined for glError to test that it at least throws some error -function shouldGenerateGLError(ctx, glErrors, evalStr) { - if (!glErrors.length) { - glErrors = [glErrors]; - } - var exception; - try { - eval(evalStr); - } catch (e) { - exception = e; - } - if (exception) { - testFailed(evalStr + " threw exception " + exception); - } else { - var err = ctx.getError(); - if (glErrors.indexOf(err) < 0) { - var errStrs = []; - for (var ii = 0; ii < glErrors.length; ++ii) { - errStrs.push(getGLErrorAsString(ctx, glErrors[ii])); - } - testFailed(evalStr + " expected: " + errStrs.join(" or ") + ". Was " + getGLErrorAsString(ctx, err) + "."); - } else { - testPassed(evalStr + " generated expected GL error: " + getGLErrorAsString(ctx, err) + "."); - } - } -} - -/** - * Tests that the first error GL returns is the specified error. - * @param {!WebGLContext} gl The WebGLContext to use. - * @param {number|!Array.} glError The expected gl - * error. Multiple errors can be passed in using an - * array. - * @param {string} opt_msg Optional additional message. - */ -function glErrorShouldBe(gl, glErrors, opt_msg) { - if (!glErrors.length) { - glErrors = [glErrors]; - } - opt_msg = opt_msg || ""; - var err = gl.getError(); - var ndx = glErrors.indexOf(err); - if (ndx < 0) { - if (glErrors.length == 1) { - testFailed("getError expected: " + getGLErrorAsString(gl, glErrors[0]) + - ". Was " + getGLErrorAsString(gl, err) + " : " + opt_msg); - } else { - var errs = []; - for (var ii = 0; ii < glErrors.length; ++ii) { - errs.push(getGLErrorAsString(gl, glErrors[ii])); - } - testFailed("getError expected one of: [" + errs.join(", ") + - "]. Was " + getGLErrorAsString(gl, err) + " : " + opt_msg); - } - } else { - testPassed("getError was expected value: " + - getGLErrorAsString(gl, err) + " : " + opt_msg); - } -}; - -// -// createProgram -// -// Create and return a program object, attaching each of the given shaders. -// -// If attribs are given, bind an attrib with that name at that index. -// -function createProgram(gl, vshaders, fshaders, attribs) -{ - if (typeof(vshaders) == "string") - vshaders = [vshaders]; - if (typeof(fshaders) == "string") - fshaders = [fshaders]; - - var shaders = []; - var i; - - for (i = 0; i < vshaders.length; ++i) { - var shader = loadShader(gl, vshaders[i], gl.VERTEX_SHADER); - if (!shader) - return null; - shaders.push(shader); - } - - for (i = 0; i < fshaders.length; ++i) { - var shader = loadShader(gl, fshaders[i], gl.FRAGMENT_SHADER); - if (!shader) - return null; - shaders.push(shader); - } - - var prog = gl.createProgram(); - for (i = 0; i < shaders.length; ++i) { - gl.attachShader(prog, shaders[i]); - } - - if (attribs) { - for (var i = 0; i < attribs.length; ++i) { - gl.bindAttribLocation(prog, i, attribs[i]); - } - } - - gl.linkProgram(prog); - - // Check the link status - var linked = gl.getProgramParameter(prog, gl.LINK_STATUS); - if (!linked) { - // something went wrong with the link - var error = gl.getProgramInfoLog(prog); - webglTestLog("Error in program linking:" + error); - - gl.deleteProgram(prog); - for (i = 0; i < shaders.length; ++i) - gl.deleteShader(shaders[i]); - return null; - } - - return prog; -} - -// -// initWebGL -// -// Initialize the Canvas element with the passed name as a WebGL object and return the -// WebGLRenderingContext. -// -// Load shaders with the passed names and create a program with them. Return this program -// in the 'program' property of the returned context. -// -// For each string in the passed attribs array, bind an attrib with that name at that index. -// Once the attribs are bound, link the program and then use it. -// -// Set the clear color to the passed array (4 values) and set the clear depth to the passed value. -// Enable depth testing and blending with a blend func of (SRC_ALPHA, ONE_MINUS_SRC_ALPHA) -// -function initWebGL(canvasName, vshader, fshader, attribs, clearColor, clearDepth, contextAttribs) -{ - var canvas = document.getElementById(canvasName); - var gl = create3DContext(canvas, contextAttribs); - if (!gl) { - alert("No WebGL context found"); - return null; - } - - // Create the program object - gl.program = createProgram(gl, vshader, fshader, attribs); - if (!gl.program) - return null; - - gl.useProgram(gl.program); - - gl.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]); - gl.clearDepth(clearDepth); - - gl.enable(gl.DEPTH_TEST); - gl.enable(gl.BLEND); - gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); - - return gl; -} - -// -// getShaderSource -// -// Load the source from the passed shader file. -// -function getShaderSource(file) -{ - var xhr = new XMLHttpRequest(); - xhr.open("GET", file, false); - xhr.send(); - return xhr.responseText; -} - - -// -// loadShader -// -// 'shader' is either the id of a - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/state/gl-enum-tests.html b/dom/canvas/test/webgl-conformance/conformance/state/gl-enum-tests.html deleted file mode 100644 index d838ef5a8996..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/state/gl-enum-tests.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -WebGL gl enums Conformance Tests - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/state/gl-get-calls.html b/dom/canvas/test/webgl-conformance/conformance/state/gl-get-calls.html deleted file mode 100644 index 578c0c39d995..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/state/gl-get-calls.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - -WebGL gl calls Conformance Tests - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/state/gl-geterror.html b/dom/canvas/test/webgl-conformance/conformance/state/gl-geterror.html deleted file mode 100644 index 863e53b49b1d..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/state/gl-geterror.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - -WebGL get error conformance test. - - - - - - - - -
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/state/gl-getstring.html b/dom/canvas/test/webgl-conformance/conformance/state/gl-getstring.html deleted file mode 100644 index bd0f3262dfc3..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/state/gl-getstring.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -WebGL gl.getParameter Strings Conformance Tests - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/state/gl-object-get-calls.html b/dom/canvas/test/webgl-conformance/conformance/state/gl-object-get-calls.html deleted file mode 100644 index 20ab84105d0a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/state/gl-object-get-calls.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/textures/00_test_list.txt deleted file mode 100644 index 1f266503f52c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/00_test_list.txt +++ /dev/null @@ -1,29 +0,0 @@ -compressed-tex-image.html -copy-tex-image-and-sub-image-2d.html -gl-pixelstorei.html -gl-teximage.html -origin-clean-conformance.html -tex-image-and-sub-image-2d-with-array-buffer-view.html -tex-image-and-sub-image-2d-with-canvas.html -tex-image-and-sub-image-2d-with-image-data.html -tex-image-and-sub-image-2d-with-image.html -tex-image-and-sub-image-2d-with-video.html -tex-image-and-uniform-binding-bugs.html -tex-image-with-format-and-type.html -tex-image-with-invalid-data.html -tex-input-validation.html -tex-sub-image-2d-bad-args.html -tex-sub-image-2d.html -texparameter-test.html -texture-active-bind-2.html -texture-active-bind.html ---min-version 1.0.2 texture-clear.html -texture-complete.html -texture-formats-test.html -texture-mips.html -texture-npot-video.html -texture-npot.html -texture-size.html -texture-size-cube-maps.html -texture-transparent-pixels-initialized.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/compressed-tex-image.html b/dom/canvas/test/webgl-conformance/conformance/textures/compressed-tex-image.html deleted file mode 100644 index e93a67714e15..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/compressed-tex-image.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - -WebGL CompressedTexImage and CompressedTexSubImage Tests - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/copy-tex-image-and-sub-image-2d.html b/dom/canvas/test/webgl-conformance/conformance/textures/copy-tex-image-and-sub-image-2d.html deleted file mode 100644 index e357deee076e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/copy-tex-image-and-sub-image-2d.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/gl-pixelstorei.html b/dom/canvas/test/webgl-conformance/conformance/textures/gl-pixelstorei.html deleted file mode 100644 index ce666b9bd16c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/gl-pixelstorei.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - -WebGL pixelStorei Test - - - - - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/gl-teximage.html b/dom/canvas/test/webgl-conformance/conformance/textures/gl-teximage.html deleted file mode 100644 index 22611b17dbbb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/gl-teximage.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - -WebGL texImage2D conformance test. - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/origin-clean-conformance.html b/dom/canvas/test/webgl-conformance/conformance/textures/origin-clean-conformance.html deleted file mode 100644 index 11c5c0c7becb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/origin-clean-conformance.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - -WebGL Origin Restrictions Conformance Tests - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html deleted file mode 100644 index e0332fb51f7e..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html deleted file mode 100644 index e59b56338c61..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html deleted file mode 100644 index 6ee405a3cd93..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image.html deleted file mode 100644 index af53ea2c2fc2..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-image.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-video.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-video.html deleted file mode 100644 index 1985633dc83c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-sub-image-2d-with-video.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - -
-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-uniform-binding-bugs.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-uniform-binding-bugs.html deleted file mode 100644 index 1da0af3a72b7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-and-uniform-binding-bugs.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-format-and-type.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-format-and-type.html deleted file mode 100644 index 10ce702c98db..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-format-and-type.html +++ /dev/null @@ -1,726 +0,0 @@ - - - - - - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-invalid-data.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-invalid-data.html deleted file mode 100644 index d1073b968bca..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-image-with-invalid-data.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - texImage2D and texSubImage2D tests with invalid data - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html deleted file mode 100644 index ec703c36d6bc..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d-bad-args.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d-bad-args.html deleted file mode 100644 index 52540805eda9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d-bad-args.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d.html b/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d.html deleted file mode 100644 index 98159dd07b36..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-sub-image-2d.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texparameter-test.html b/dom/canvas/test/webgl-conformance/conformance/textures/texparameter-test.html deleted file mode 100644 index 7df0a4de5f08..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texparameter-test.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - WebGL TexParameter conformance test. - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind-2.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind-2.html deleted file mode 100644 index 39e5eca75ce5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind-2.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - WebGL ActiveTexture BindTexture conformance test #2 - - - - - - - -
-
- - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind.html deleted file mode 100644 index f30fae078e89..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-active-bind.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - -WebGL ActiveTexture BindTexture conformance test. - - - - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-clear.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-clear.html deleted file mode 100644 index 2b552fafc1f5..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-clear.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -WebGL texture clear conformance test. - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-complete.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-complete.html deleted file mode 100644 index b8d298f4138c..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-complete.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -WebGL "Texture Complete" texture conformance test. - - - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-formats-test.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-formats-test.html deleted file mode 100644 index ff915c735d0f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-formats-test.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - -WebGL Texture Format Conformance Tests - - - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-mips.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-mips.html deleted file mode 100644 index c7db23c1e0a7..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-mips.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -WebGL texture mips conformance test. - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot-video.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot-video.html deleted file mode 100644 index 51a7ba27967a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot-video.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - -
-
- - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot.html deleted file mode 100644 index 802d22eaa79b..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-npot.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - -WebGL Non-Power of 2 texture conformance test. - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-size-cube-maps.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-size-cube-maps.html deleted file mode 100644 index 5e0552c48ea6..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-size-cube-maps.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - -WebGL texture size cube map conformance test. - - - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-size.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-size.html deleted file mode 100644 index 5ac71f0bfffb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-size.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - -WebGL texture size conformance test. - - - - - - - -
-
- - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/textures/texture-transparent-pixels-initialized.html b/dom/canvas/test/webgl-conformance/conformance/textures/texture-transparent-pixels-initialized.html deleted file mode 100644 index 5e40c0becbdb..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/textures/texture-transparent-pixels-initialized.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - -
-
- - diff --git a/dom/canvas/test/webgl-conformance/conformance/typedarrays/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/typedarrays/00_test_list.txt deleted file mode 100644 index 5a96b887db80..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/typedarrays/00_test_list.txt +++ /dev/null @@ -1,4 +0,0 @@ -array-buffer-crash.html -array-buffer-view-crash.html -array-unit-tests.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-crash.html b/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-crash.html deleted file mode 100644 index de6651fc794f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-crash.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-view-crash.html b/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-view-crash.html deleted file mode 100644 index 3f1cc68d57d9..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-buffer-view-crash.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-unit-tests.html b/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-unit-tests.html deleted file mode 100644 index aed57783032f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/typedarrays/array-unit-tests.html +++ /dev/null @@ -1,1072 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/00_test_list.txt b/dom/canvas/test/webgl-conformance/conformance/uniforms/00_test_list.txt deleted file mode 100644 index 530fb2435d33..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/00_test_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -gl-uniform-arrays.html -gl-uniform-bool.html -gl-uniformmatrix4fv.html -gl-unknown-uniform.html -null-uniform-location.html -uniform-location.html -uniform-samplers-test.html - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-arrays.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-arrays.html deleted file mode 100644 index d4381dcc08a4..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-arrays.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - -WebGL uniform array Conformance Tests - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-bool.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-bool.html deleted file mode 100644 index bfb4092b0555..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniform-bool.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -WebGL uniformMatrix Conformance Tests - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniformmatrix4fv.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniformmatrix4fv.html deleted file mode 100644 index b808dc83fb9f..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-uniformmatrix4fv.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - -WebGL uniformMatrix Conformance Tests - - - - - -
-
- - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-unknown-uniform.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-unknown-uniform.html deleted file mode 100644 index 63242f2279ac..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/gl-unknown-uniform.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - -WebGL Unknown Uniform Conformance Test - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/null-uniform-location.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/null-uniform-location.html deleted file mode 100644 index 4d090b1e021a..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/null-uniform-location.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-location.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-location.html deleted file mode 100644 index 7ee3b8efb5c1..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-location.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-samplers-test.html b/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-samplers-test.html deleted file mode 100644 index 43a6011c5086..000000000000 --- a/dom/canvas/test/webgl-conformance/conformance/uniforms/uniform-samplers-test.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - WebGL sampler uniforms conformance test. - - - - - - - -
-
- - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/50x50pixel-black-with-red-triangle.png b/dom/canvas/test/webgl-conformance/extra/50x50pixel-black-with-red-triangle.png deleted file mode 100644 index 4ec9751070e7583adee8a11052b84cad1b2018b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3032 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 axaR0000 - - - - -WebGL Big FBO Test - - - - - - - -
-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.html b/dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.html deleted file mode 100644 index d3b845c68cce..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - Canvas Compositing Test - - - - - -Below are 2 50x50 pixel canvas but using CSS to display them at 100x100 pixels.
-They are solid black with a red triangle
-They each have a 10px CSS solid black border around them.
-Depending on how the browser composites the canvas with the page they will get -a white outline
-
-2d canvas
- -
-
-3d canvas
-
- -
-
-img tag
- -
-
- - - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.png b/dom/canvas/test/webgl-conformance/extra/canvas-compositing-test.png deleted file mode 100644 index ba80dbe760fb56bf80d79f199a66951e00d61da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212531 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∨SME>n; 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

!OVA%TO#uNy-NW;{iad`o0_B~6 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 EUrr*h&j0`b diff --git a/dom/canvas/test/webgl-conformance/extra/fbo-lost-context.html b/dom/canvas/test/webgl-conformance/extra/fbo-lost-context.html deleted file mode 100644 index abc229cf8888..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/fbo-lost-context.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - -WebGL FBO Lost Context Test - - - - - - - -

-
- - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/lots-of-polys-example.html b/dom/canvas/test/webgl-conformance/extra/lots-of-polys-example.html deleted file mode 100644 index 95b5846a8251..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/lots-of-polys-example.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - -WebGL Lots of polygons example. - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/offscreen-issue.html b/dom/canvas/test/webgl-conformance/extra/offscreen-issue.html deleted file mode 100644 index 0ccfd9442e61..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/offscreen-issue.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - -
content that is tall like several articles
- - - - diff --git a/dom/canvas/test/webgl-conformance/extra/out-of-bounds-uniform-array-access.html b/dom/canvas/test/webgl-conformance/extra/out-of-bounds-uniform-array-access.html deleted file mode 100644 index a3029e499cb5..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/out-of-bounds-uniform-array-access.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -WebGL ouf of bounds uniform array access. - - - - - -
-
-
elem mult:
- -
line width:
- - - - - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/out-of-memory.html b/dom/canvas/test/webgl-conformance/extra/out-of-memory.html deleted file mode 100644 index 8fafa2da3bd8..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/out-of-memory.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -WebGL Out Of Memory Test - - - - - - -
-
- - - - - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/out-of-resources.html b/dom/canvas/test/webgl-conformance/extra/out-of-resources.html deleted file mode 100644 index 7275ccf4d21c..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/out-of-resources.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - -WebGL Out Of Resources Test - - - - - - - -
-
- - - - - diff --git a/dom/canvas/test/webgl-conformance/extra/out-of-vram.html b/dom/canvas/test/webgl-conformance/extra/out-of-vram.html deleted file mode 100644 index 5c2cb81d9fab..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/out-of-vram.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -WebGL Out Of VRAM Test - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/extra/simulated-attrib-0-bug-test.html b/dom/canvas/test/webgl-conformance/extra/simulated-attrib-0-bug-test.html deleted file mode 100644 index fcdd0da355af..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/simulated-attrib-0-bug-test.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -Simulated Attrib 0 Bug Test - - - - -
Simulated Attrib 0 Bug Test
-
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/extra/slow-shader-example.html b/dom/canvas/test/webgl-conformance/extra/slow-shader-example.html deleted file mode 100644 index 07b05d1dd3bd..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/slow-shader-example.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - -WebGL Slow Shader example. - - - - - - - -
-
- - - - diff --git a/dom/canvas/test/webgl-conformance/extra/webgl-info.html b/dom/canvas/test/webgl-conformance/extra/webgl-info.html deleted file mode 100644 index 5a443d4e5adf..000000000000 --- a/dom/canvas/test/webgl-conformance/extra/webgl-info.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -WebGL Information - - - - -

WebGL Info

-
- - - - diff --git a/dom/canvas/test/webgl-conformance/misc/program-test-1.html b/dom/canvas/test/webgl-conformance/misc/program-test-1.html deleted file mode 100644 index f2623ef67ac2..000000000000 --- a/dom/canvas/test/webgl-conformance/misc/program-test-1.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - -

Should be green in the rectangle below:

- -
- - diff --git a/dom/canvas/test/webgl-conformance/resources/cors-util.js b/dom/canvas/test/webgl-conformance/resources/cors-util.js deleted file mode 100644 index 2f16162a71a6..000000000000 --- a/dom/canvas/test/webgl-conformance/resources/cors-util.js +++ /dev/null @@ -1,31 +0,0 @@ -/* 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/. */ - -function getExampleDotComURL(conformanceDirRelativePath) { - var prefix = 'http://example.com/tests/dom/canvas/test/webgl-conformance/'; - return prefix + conformanceDirRelativePath; -} - -function setExampleDotComImage(imageElemID, imagePath, relPathToBase, onLoadCallback) { - var img = document.getElementById(imageElemID); - if (!img) - throw 'Bad `imageElemID`: ' + imageElemID; - - if (onLoadCallback) - img.onload = onLoadCallback; - - img.onerror = function() { - console.log('Failed to load image from: ' + img.src); - console.log('Loading same-domain backup image.'); - - img.onerror = function() { - console.log('Failed to load backup image from: ' + img.src); - return; - }; - - img.src = relPathToBase + imagePath; - }; - - img.src = getExampleDotComURL(imagePath); -} diff --git a/dom/canvas/test/webgl-conformance/resources/desktop-gl-constants.js b/dom/canvas/test/webgl-conformance/resources/desktop-gl-constants.js deleted file mode 100644 index 567e4aeaac2a..000000000000 --- a/dom/canvas/test/webgl-conformance/resources/desktop-gl-constants.js +++ /dev/null @@ -1,2626 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Defines a bunch of DesktopGL constants so we can make sure WebGL -// implementations disallow them. - -var desktopGL = { - 'MIN': 0x8007, - 'MAX': 0x8008, - 'QUADS': 0x0007, - 'QUAD_STRIP': 0x0008, - 'POLYGON': 0x0009, - '1': 0x0001, - '2': 0x0002, - '3': 0x0003, - '4': 0x0004, - 'STATIC_READ': 0x88E5, - 'CLIP_PLANE0': 0x3000, - 'PERSPECTIVE_CORRECTION_HINT': 0x0C50, - 'ACCUM_BUFFER_BIT': 0x0200, - 'RGB4': 0x804F, - 'RGB5': 0x8050, - 'RGB8': 0x8051, - 'RGB10': 0x8052, - 'RGB12': 0x8053, - 'RGB16': 0x8054, - 'RGBA2': 0x8055, - 'RGBA4': 0x8056, - 'RGB5_A1': 0x8057, - 'RGBA8': 0x8058, - 'RGB10_A2': 0x8059, - 'RGBA12': 0x805A, - 'RGBA16': 0x805B, - 'SMOOTH_POINT_SIZE_RANGE': 0x0B12, - 'SMOOTH_POINT_SIZE_GRANULARITY': 0x0B13, - 'SMOOTH_LINE_WIDTH_RANGE': 0x0B22, - 'SMOOTH_LINE_WIDTH_GRANULARITY': 0x0B23, - 'UNSIGNED_BYTE_3_3_2': 0x8032, - 'UNSIGNED_SHORT_4_4_4_4': 0x8033, - 'UNSIGNED_SHORT_5_5_5_1': 0x8034, - 'UNSIGNED_INT_8_8_8_8': 0x8035, - 'UNSIGNED_INT_10_10_10_2': 0x8036, - 'RESCALE_NORMAL': 0x803A, - 'TEXTURE_BINDING_3D': 0x806A, - 'PACK_SKIP_IMAGES': 0x806B, - 'PACK_IMAGE_HEIGHT': 0x806C, - 'UNPACK_SKIP_IMAGES': 0x806D, - 'UNPACK_IMAGE_HEIGHT': 0x806E, - 'TEXTURE_3D': 0x806F, - 'PROXY_TEXTURE_3D': 0x8070, - 'TEXTURE_DEPTH': 0x8071, - 'TEXTURE_WRAP_R': 0x8072, - 'MAX_3D_TEXTURE_SIZE': 0x8073, - 'BGR': 0x80E0, - 'BGRA': 0x80E1, - 'MAX_ELEMENTS_VERTICES': 0x80E8, - 'MAX_ELEMENTS_INDICES': 0x80E9, - 'CLAMP_TO_EDGE': 0x812F, - 'TEXTURE_MIN_LOD': 0x813A, - 'TEXTURE_MAX_LOD': 0x813B, - 'TEXTURE_BASE_LEVEL': 0x813C, - 'TEXTURE_MAX_LEVEL': 0x813D, - 'LIGHT_MODEL_COLOR_CONTROL': 0x81F8, - 'SINGLE_COLOR': 0x81F9, - 'SEPARATE_SPECULAR_COLOR': 0x81FA, - 'UNSIGNED_BYTE_2_3_3_REV': 0x8362, - 'UNSIGNED_SHORT_5_6_5': 0x8363, - 'UNSIGNED_SHORT_5_6_5_REV': 0x8364, - 'UNSIGNED_SHORT_4_4_4_4_REV': 0x8365, - 'UNSIGNED_SHORT_1_5_5_5_REV': 0x8366, - 'UNSIGNED_INT_8_8_8_8_REV': 0x8367, - 'UNSIGNED_INT_2_10_10_10_REV': 0x8368, - 'ALIASED_POINT_SIZE_RANGE': 0x846D, - 'ALIASED_LINE_WIDTH_RANGE': 0x846E, - 'MULTISAMPLE': 0x809D, - 'SAMPLE_ALPHA_TO_COVERAGE': 0x809E, - 'SAMPLE_ALPHA_TO_ONE': 0x809F, - 'SAMPLE_COVERAGE': 0x80A0, - 'SAMPLE_BUFFERS': 0x80A8, - 'SAMPLES': 0x80A9, - 'SAMPLE_COVERAGE_VALUE': 0x80AA, - 'SAMPLE_COVERAGE_INVERT': 0x80AB, - 'CLAMP_TO_BORDER': 0x812D, - 'TEXTURE0': 0x84C0, - 'TEXTURE1': 0x84C1, - 'TEXTURE2': 0x84C2, - 'TEXTURE3': 0x84C3, - 'TEXTURE4': 0x84C4, - 'TEXTURE5': 0x84C5, - 'TEXTURE6': 0x84C6, - 'TEXTURE7': 0x84C7, - 'TEXTURE8': 0x84C8, - 'TEXTURE9': 0x84C9, - 'TEXTURE10': 0x84CA, - 'TEXTURE11': 0x84CB, - 'TEXTURE12': 0x84CC, - 'TEXTURE13': 0x84CD, - 'TEXTURE14': 0x84CE, - 'TEXTURE15': 0x84CF, - 'TEXTURE16': 0x84D0, - 'TEXTURE17': 0x84D1, - 'TEXTURE18': 0x84D2, - 'TEXTURE19': 0x84D3, - 'TEXTURE20': 0x84D4, - 'TEXTURE21': 0x84D5, - 'TEXTURE22': 0x84D6, - 'TEXTURE23': 0x84D7, - 'TEXTURE24': 0x84D8, - 'TEXTURE25': 0x84D9, - 'TEXTURE26': 0x84DA, - 'TEXTURE27': 0x84DB, - 'TEXTURE28': 0x84DC, - 'TEXTURE29': 0x84DD, - 'TEXTURE30': 0x84DE, - 'TEXTURE31': 0x84DF, - 'ACTIVE_TEXTURE': 0x84E0, - 'CLIENT_ACTIVE_TEXTURE': 0x84E1, - 'MAX_TEXTURE_UNITS': 0x84E2, - 'TRANSPOSE_MODELVIEW_MATRIX': 0x84E3, - 'TRANSPOSE_PROJECTION_MATRIX': 0x84E4, - 'TRANSPOSE_TEXTURE_MATRIX': 0x84E5, - 'TRANSPOSE_COLOR_MATRIX': 0x84E6, - 'SUBTRACT': 0x84E7, - 'COMPRESSED_ALPHA': 0x84E9, - 'COMPRESSED_LUMINANCE': 0x84EA, - 'COMPRESSED_LUMINANCE_ALPHA': 0x84EB, - 'COMPRESSED_INTENSITY': 0x84EC, - 'COMPRESSED_RGB': 0x84ED, - 'COMPRESSED_RGBA': 0x84EE, - 'TEXTURE_COMPRESSION_HINT': 0x84EF, - 'NORMAL_MAP': 0x8511, - 'REFLECTION_MAP': 0x8512, - 'TEXTURE_CUBE_MAP': 0x8513, - 'TEXTURE_BINDING_CUBE_MAP': 0x8514, - 'TEXTURE_CUBE_MAP_POSITIVE_X': 0x8515, - 'TEXTURE_CUBE_MAP_NEGATIVE_X': 0x8516, - 'TEXTURE_CUBE_MAP_POSITIVE_Y': 0x8517, - 'TEXTURE_CUBE_MAP_NEGATIVE_Y': 0x8518, - 'TEXTURE_CUBE_MAP_POSITIVE_Z': 0x8519, - 'TEXTURE_CUBE_MAP_NEGATIVE_Z': 0x851A, - 'PROXY_TEXTURE_CUBE_MAP': 0x851B, - 'MAX_CUBE_MAP_TEXTURE_SIZE': 0x851C, - 'COMBINE': 0x8570, - 'COMBINE_RGB': 0x8571, - 'COMBINE_ALPHA': 0x8572, - 'RGB_SCALE': 0x8573, - 'ADD_SIGNED': 0x8574, - 'INTERPOLATE': 0x8575, - 'CONSTANT': 0x8576, - 'PRIMARY_COLOR': 0x8577, - 'PREVIOUS': 0x8578, - 'SOURCE0_RGB': 0x8580, - 'SOURCE1_RGB': 0x8581, - 'SOURCE2_RGB': 0x8582, - 'SOURCE0_ALPHA': 0x8588, - 'SOURCE1_ALPHA': 0x8589, - 'SOURCE2_ALPHA': 0x858A, - 'OPERAND0_RGB': 0x8590, - 'OPERAND1_RGB': 0x8591, - 'OPERAND2_RGB': 0x8592, - 'OPERAND0_ALPHA': 0x8598, - 'OPERAND1_ALPHA': 0x8599, - 'OPERAND2_ALPHA': 0x859A, - 'TEXTURE_COMPRESSED_IMAGE_SIZE': 0x86A0, - 'TEXTURE_COMPRESSED': 0x86A1, - 'NUM_COMPRESSED_TEXTURE_FORMATS': 0x86A2, - 'COMPRESSED_TEXTURE_FORMATS': 0x86A3, - 'DOT3_RGB': 0x86AE, - 'DOT3_RGBA': 0x86AF, - 'MULTISAMPLE_BIT': 0x20000000, - 'BLEND_DST_RGB': 0x80C8, - 'BLEND_SRC_RGB': 0x80C9, - 'BLEND_DST_ALPHA': 0x80CA, - 'BLEND_SRC_ALPHA': 0x80CB, - 'POINT_SIZE_MIN': 0x8126, - 'POINT_SIZE_MAX': 0x8127, - 'POINT_FADE_THRESHOLD_SIZE': 0x8128, - 'POINT_DISTANCE_ATTENUATION': 0x8129, - 'GENERATE_MIPMAP': 0x8191, - 'GENERATE_MIPMAP_HINT': 0x8192, - 'DEPTH_COMPONENT16': 0x81A5, - 'DEPTH_COMPONENT24': 0x81A6, - 'DEPTH_COMPONENT32': 0x81A7, - 'MIRRORED_REPEAT': 0x8370, - 'FOG_COORDINATE_SOURCE': 0x8450, - 'FOG_COORDINATE': 0x8451, - 'FRAGMENT_DEPTH': 0x8452, - 'CURRENT_FOG_COORDINATE': 0x8453, - 'FOG_COORDINATE_ARRAY_TYPE': 0x8454, - 'FOG_COORDINATE_ARRAY_STRIDE': 0x8455, - 'FOG_COORDINATE_ARRAY_POINTER': 0x8456, - 'FOG_COORDINATE_ARRAY': 0x8457, - 'COLOR_SUM': 0x8458, - 'CURRENT_SECONDARY_COLOR': 0x8459, - 'SECONDARY_COLOR_ARRAY_SIZE': 0x845A, - 'SECONDARY_COLOR_ARRAY_TYPE': 0x845B, - 'SECONDARY_COLOR_ARRAY_STRIDE': 0x845C, - 'SECONDARY_COLOR_ARRAY_POINTER': 0x845D, - 'SECONDARY_COLOR_ARRAY': 0x845E, - 'MAX_TEXTURE_LOD_BIAS': 0x84FD, - 'TEXTURE_FILTER_CONTROL': 0x8500, - 'TEXTURE_LOD_BIAS': 0x8501, - 'INCR_WRAP': 0x8507, - 'DECR_WRAP': 0x8508, - 'TEXTURE_DEPTH_SIZE': 0x884A, - 'DEPTH_TEXTURE_MODE': 0x884B, - 'TEXTURE_COMPARE_MODE': 0x884C, - 'TEXTURE_COMPARE_FUNC': 0x884D, - 'COMPARE_R_TO_TEXTURE': 0x884E, - 'BUFFER_SIZE': 0x8764, - 'BUFFER_USAGE': 0x8765, - 'QUERY_COUNTER_BITS': 0x8864, - 'CURRENT_QUERY': 0x8865, - 'QUERY_RESULT': 0x8866, - 'QUERY_RESULT_AVAILABLE': 0x8867, - 'ARRAY_BUFFER': 0x8892, - 'ELEMENT_ARRAY_BUFFER': 0x8893, - 'ARRAY_BUFFER_BINDING': 0x8894, - 'ELEMENT_ARRAY_BUFFER_BINDING': 0x8895, - 'VERTEX_ARRAY_BUFFER_BINDING': 0x8896, - 'NORMAL_ARRAY_BUFFER_BINDING': 0x8897, - 'COLOR_ARRAY_BUFFER_BINDING': 0x8898, - 'INDEX_ARRAY_BUFFER_BINDING': 0x8899, - 'TEXTURE_COORD_ARRAY_BUFFER_BINDING': 0x889A, - 'EDGE_FLAG_ARRAY_BUFFER_BINDING': 0x889B, - 'SECONDARY_COLOR_ARRAY_BUFFER_BINDING': 0x889C, - 'FOG_COORDINATE_ARRAY_BUFFER_BINDING': 0x889D, - 'WEIGHT_ARRAY_BUFFER_BINDING': 0x889E, - 'VERTEX_ATTRIB_ARRAY_BUFFER_BINDING': 0x889F, - 'READ_ONLY': 0x88B8, - 'WRITE_ONLY': 0x88B9, - 'READ_WRITE': 0x88BA, - 'BUFFER_ACCESS': 0x88BB, - 'BUFFER_MAPPED': 0x88BC, - 'BUFFER_MAP_POINTER': 0x88BD, - 'STREAM_DRAW': 0x88E0, - 'STREAM_READ': 0x88E1, - 'STREAM_COPY': 0x88E2, - 'STATIC_DRAW': 0x88E4, - 'STATIC_READ': 0x88E5, - 'STATIC_COPY': 0x88E6, - 'DYNAMIC_DRAW': 0x88E8, - 'DYNAMIC_READ': 0x88E9, - 'DYNAMIC_COPY': 0x88EA, - 'SAMPLES_PASSED': 0x8914, - 'VERTEX_ATTRIB_ARRAY_ENABLED': 0x8622, - 'VERTEX_ATTRIB_ARRAY_SIZE': 0x8623, - 'VERTEX_ATTRIB_ARRAY_STRIDE': 0x8624, - 'VERTEX_ATTRIB_ARRAY_TYPE': 0x8625, - 'CURRENT_VERTEX_ATTRIB': 0x8626, - 'VERTEX_PROGRAM_POINT_SIZE': 0x8642, - 'VERTEX_PROGRAM_TWO_SIDE': 0x8643, - 'VERTEX_ATTRIB_ARRAY_POINTER': 0x8645, - 'STENCIL_BACK_FUNC': 0x8800, - 'STENCIL_BACK_FAIL': 0x8801, - 'STENCIL_BACK_PASS_DEPTH_FAIL': 0x8802, - 'STENCIL_BACK_PASS_DEPTH_PASS': 0x8803, - 'MAX_DRAW_BUFFERS': 0x8824, - 'DRAW_BUFFER0': 0x8825, - 'DRAW_BUFFER1': 0x8826, - 'DRAW_BUFFER2': 0x8827, - 'DRAW_BUFFER3': 0x8828, - 'DRAW_BUFFER4': 0x8829, - 'DRAW_BUFFER5': 0x882A, - 'DRAW_BUFFER6': 0x882B, - 'DRAW_BUFFER7': 0x882C, - 'DRAW_BUFFER8': 0x882D, - 'DRAW_BUFFER9': 0x882E, - 'DRAW_BUFFER10': 0x882F, - 'DRAW_BUFFER11': 0x8830, - 'DRAW_BUFFER12': 0x8831, - 'DRAW_BUFFER13': 0x8832, - 'DRAW_BUFFER14': 0x8833, - 'DRAW_BUFFER15': 0x8834, - 'BLEND_EQUATION_ALPHA': 0x883D, - 'POINT_SPRITE': 0x8861, - 'COORD_REPLACE': 0x8862, - 'MAX_VERTEX_ATTRIBS': 0x8869, - 'VERTEX_ATTRIB_ARRAY_NORMALIZED': 0x886A, - 'MAX_TEXTURE_COORDS': 0x8871, - 'MAX_TEXTURE_IMAGE_UNITS': 0x8872, - 'FRAGMENT_SHADER': 0x8B30, - 'VERTEX_SHADER': 0x8B31, - 'MAX_FRAGMENT_UNIFORM_COMPONENTS': 0x8B49, - 'MAX_VERTEX_UNIFORM_COMPONENTS': 0x8B4A, - 'MAX_VARYING_FLOATS': 0x8B4B, - 'MAX_VERTEX_TEXTURE_IMAGE_UNITS': 0x8B4C, - 'MAX_COMBINED_TEXTURE_IMAGE_UNITS': 0x8B4D, - 'SHADER_TYPE': 0x8B4F, - 'FLOAT_VEC2': 0x8B50, - 'FLOAT_VEC3': 0x8B51, - 'FLOAT_VEC4': 0x8B52, - 'INT_VEC2': 0x8B53, - 'INT_VEC3': 0x8B54, - 'INT_VEC4': 0x8B55, - 'BOOL': 0x8B56, - 'BOOL_VEC2': 0x8B57, - 'BOOL_VEC3': 0x8B58, - 'BOOL_VEC4': 0x8B59, - 'FLOAT_MAT2': 0x8B5A, - 'FLOAT_MAT3': 0x8B5B, - 'FLOAT_MAT4': 0x8B5C, - 'SAMPLER_1D': 0x8B5D, - 'SAMPLER_2D': 0x8B5E, - 'SAMPLER_3D': 0x8B5F, - 'SAMPLER_CUBE': 0x8B60, - 'SAMPLER_1D_SHADOW': 0x8B61, - 'SAMPLER_2D_SHADOW': 0x8B62, - 'DELETE_STATUS': 0x8B80, - 'COMPILE_STATUS': 0x8B81, - 'LINK_STATUS': 0x8B82, - 'VALIDATE_STATUS': 0x8B83, - 'INFO_LOG_LENGTH': 0x8B84, - 'ATTACHED_SHADERS': 0x8B85, - 'ACTIVE_UNIFORMS': 0x8B86, - 'ACTIVE_UNIFORM_MAX_LENGTH': 0x8B87, - 'SHADER_SOURCE_LENGTH': 0x8B88, - 'ACTIVE_ATTRIBUTES': 0x8B89, - 'ACTIVE_ATTRIBUTE_MAX_LENGTH': 0x8B8A, - 'FRAGMENT_SHADER_DERIVATIVE_HINT': 0x8B8B, - 'SHADING_LANGUAGE_VERSION': 0x8B8C, - 'CURRENT_PROGRAM': 0x8B8D, - 'POINT_SPRITE_COORD_ORIGIN': 0x8CA0, - 'LOWER_LEFT': 0x8CA1, - 'UPPER_LEFT': 0x8CA2, - 'STENCIL_BACK_REF': 0x8CA3, - 'STENCIL_BACK_VALUE_MASK': 0x8CA4, - 'STENCIL_BACK_WRITEMASK': 0x8CA5, - 'CURRENT_RASTER_SECONDARY_COLOR': 0x845F, - 'PIXEL_PACK_BUFFER': 0x88EB, - 'PIXEL_UNPACK_BUFFER': 0x88EC, - 'PIXEL_PACK_BUFFER_BINDING': 0x88ED, - 'PIXEL_UNPACK_BUFFER_BINDING': 0x88EF, - 'FLOAT_MAT2x3': 0x8B65, - 'FLOAT_MAT2x4': 0x8B66, - 'FLOAT_MAT3x2': 0x8B67, - 'FLOAT_MAT3x4': 0x8B68, - 'FLOAT_MAT4x2': 0x8B69, - 'FLOAT_MAT4x3': 0x8B6A, - 'SRGB': 0x8C40, - 'SRGB8': 0x8C41, - 'SRGB_ALPHA': 0x8C42, - 'SRGB8_ALPHA8': 0x8C43, - 'SLUMINANCE_ALPHA': 0x8C44, - 'SLUMINANCE8_ALPHA8': 0x8C45, - 'SLUMINANCE': 0x8C46, - 'SLUMINANCE8': 0x8C47, - 'COMPRESSED_SRGB': 0x8C48, - 'COMPRESSED_SRGB_ALPHA': 0x8C49, - 'COMPRESSED_SLUMINANCE': 0x8C4A, - 'COMPRESSED_SLUMINANCE_ALPHA': 0x8C4B, - 'CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT': 0x0001, - 'MAJOR_VERSION': 0x821B, - 'MINOR_VERSION': 0x821C, - 'NUM_EXTENSIONS': 0x821D, - 'CONTEXT_FLAGS': 0x821E, - 'DEPTH_BUFFER': 0x8223, - 'STENCIL_BUFFER': 0x8224, - 'COMPRESSED_RED': 0x8225, - 'COMPRESSED_RG': 0x8226, - 'RGBA32F': 0x8814, - 'RGB32F': 0x8815, - 'RGBA16F': 0x881A, - 'RGB16F': 0x881B, - 'VERTEX_ATTRIB_ARRAY_INTEGER': 0x88FD, - 'MAX_ARRAY_TEXTURE_LAYERS': 0x88FF, - 'MIN_PROGRAM_TEXEL_OFFSET': 0x8904, - 'MAX_PROGRAM_TEXEL_OFFSET': 0x8905, - 'CLAMP_VERTEX_COLOR': 0x891A, - 'CLAMP_FRAGMENT_COLOR': 0x891B, - 'CLAMP_READ_COLOR': 0x891C, - 'FIXED_ONLY': 0x891D, - 'TEXTURE_RED_TYPE': 0x8C10, - 'TEXTURE_GREEN_TYPE': 0x8C11, - 'TEXTURE_BLUE_TYPE': 0x8C12, - 'TEXTURE_ALPHA_TYPE': 0x8C13, - 'TEXTURE_LUMINANCE_TYPE': 0x8C14, - 'TEXTURE_INTENSITY_TYPE': 0x8C15, - 'TEXTURE_DEPTH_TYPE': 0x8C16, - 'UNSIGNED_NORMALIZED': 0x8C17, - 'TEXTURE_1D_ARRAY': 0x8C18, - 'PROXY_TEXTURE_1D_ARRAY': 0x8C19, - 'TEXTURE_2D_ARRAY': 0x8C1A, - 'PROXY_TEXTURE_2D_ARRAY': 0x8C1B, - 'TEXTURE_BINDING_1D_ARRAY': 0x8C1C, - 'TEXTURE_BINDING_2D_ARRAY': 0x8C1D, - 'R11F_G11F_B10F': 0x8C3A, - 'UNSIGNED_INT_10F_11F_11F_REV': 0x8C3B, - 'RGB9_E5': 0x8C3D, - 'UNSIGNED_INT_5_9_9_9_REV': 0x8C3E, - 'TEXTURE_SHARED_SIZE': 0x8C3F, - 'TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH': 0x8C76, - 'TRANSFORM_FEEDBACK_BUFFER_MODE': 0x8C7F, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS': 0x8C80, - 'TRANSFORM_FEEDBACK_VARYINGS': 0x8C83, - 'TRANSFORM_FEEDBACK_BUFFER_START': 0x8C84, - 'TRANSFORM_FEEDBACK_BUFFER_SIZE': 0x8C85, - 'PRIMITIVES_GENERATED': 0x8C87, - 'TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN': 0x8C88, - 'RASTERIZER_DISCARD': 0x8C89, - 'MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS': 0x8C8A, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS': 0x8C8B, - 'INTERLEAVED_ATTRIBS': 0x8C8C, - 'SEPARATE_ATTRIBS': 0x8C8D, - 'TRANSFORM_FEEDBACK_BUFFER': 0x8C8E, - 'TRANSFORM_FEEDBACK_BUFFER_BINDING': 0x8C8F, - 'RGBA32UI': 0x8D70, - 'RGB32UI': 0x8D71, - 'RGBA16UI': 0x8D76, - 'RGB16UI': 0x8D77, - 'RGBA8UI': 0x8D7C, - 'RGB8UI': 0x8D7D, - 'RGBA32I': 0x8D82, - 'RGB32I': 0x8D83, - 'RGBA16I': 0x8D88, - 'RGB16I': 0x8D89, - 'RGBA8I': 0x8D8E, - 'RGB8I': 0x8D8F, - 'RED_INTEGER': 0x8D94, - 'GREEN_INTEGER': 0x8D95, - 'BLUE_INTEGER': 0x8D96, - 'ALPHA_INTEGER': 0x8D97, - 'RGB_INTEGER': 0x8D98, - 'RGBA_INTEGER': 0x8D99, - 'BGR_INTEGER': 0x8D9A, - 'BGRA_INTEGER': 0x8D9B, - 'SAMPLER_1D_ARRAY': 0x8DC0, - 'SAMPLER_2D_ARRAY': 0x8DC1, - 'SAMPLER_1D_ARRAY_SHADOW': 0x8DC3, - 'SAMPLER_2D_ARRAY_SHADOW': 0x8DC4, - 'SAMPLER_CUBE_SHADOW': 0x8DC5, - 'UNSIGNED_INT_VEC2': 0x8DC6, - 'UNSIGNED_INT_VEC3': 0x8DC7, - 'UNSIGNED_INT_VEC4': 0x8DC8, - 'INT_SAMPLER_1D': 0x8DC9, - 'INT_SAMPLER_2D': 0x8DCA, - 'INT_SAMPLER_3D': 0x8DCB, - 'INT_SAMPLER_CUBE': 0x8DCC, - 'INT_SAMPLER_1D_ARRAY': 0x8DCE, - 'INT_SAMPLER_2D_ARRAY': 0x8DCF, - 'UNSIGNED_INT_SAMPLER_1D': 0x8DD1, - 'UNSIGNED_INT_SAMPLER_2D': 0x8DD2, - 'UNSIGNED_INT_SAMPLER_3D': 0x8DD3, - 'UNSIGNED_INT_SAMPLER_CUBE': 0x8DD4, - 'UNSIGNED_INT_SAMPLER_1D_ARRAY': 0x8DD6, - 'UNSIGNED_INT_SAMPLER_2D_ARRAY': 0x8DD7, - 'QUERY_WAIT': 0x8E13, - 'QUERY_NO_WAIT': 0x8E14, - 'QUERY_BY_REGION_WAIT': 0x8E15, - 'QUERY_BY_REGION_NO_WAIT': 0x8E16, - 'MULTISAMPLE_3DFX': 0x86B2, - 'SAMPLE_BUFFERS_3DFX': 0x86B3, - 'SAMPLES_3DFX': 0x86B4, - 'MULTISAMPLE_BIT_3DFX': 0x20000000, - 'COMPRESSED_RGB_FXT1_3DFX': 0x86B0, - 'COMPRESSED_RGBA_FXT1_3DFX': 0x86B1, - 'UNPACK_CLIENT_STORAGE_APPLE': 0x85B2, - 'ELEMENT_ARRAY_APPLE': 0x8768, - 'ELEMENT_ARRAY_TYPE_APPLE': 0x8769, - 'ELEMENT_ARRAY_POINTER_APPLE': 0x876A, - 'HALF_APPLE': 0x140B, - 'RGBA_FLOAT32_APPLE': 0x8814, - 'RGB_FLOAT32_APPLE': 0x8815, - 'ALPHA_FLOAT32_APPLE': 0x8816, - 'INTENSITY_FLOAT32_APPLE': 0x8817, - 'LUMINANCE_FLOAT32_APPLE': 0x8818, - 'LUMINANCE_ALPHA_FLOAT32_APPLE': 0x8819, - 'RGBA_FLOAT16_APPLE': 0x881A, - 'RGB_FLOAT16_APPLE': 0x881B, - 'ALPHA_FLOAT16_APPLE': 0x881C, - 'INTENSITY_FLOAT16_APPLE': 0x881D, - 'LUMINANCE_FLOAT16_APPLE': 0x881E, - 'LUMINANCE_ALPHA_FLOAT16_APPLE': 0x881F, - 'COLOR_FLOAT_APPLE': 0x8A0F, - 'BUFFER_SERIALIZED_MODIFY_APPLE': 0x8A12, - 'BUFFER_FLUSHING_UNMAP_APPLE': 0x8A13, - 'MIN_PBUFFER_VIEWPORT_DIMS_APPLE': 0x8A10, - 'LIGHT_MODEL_SPECULAR_VECTOR_APPLE': 0x85B0, - 'TEXTURE_RANGE_LENGTH_APPLE': 0x85B7, - 'TEXTURE_RANGE_POINTER_APPLE': 0x85B8, - 'TEXTURE_STORAGE_HINT_APPLE': 0x85BC, - 'STORAGE_PRIVATE_APPLE': 0x85BD, - 'STORAGE_CACHED_APPLE': 0x85BE, - 'STORAGE_SHARED_APPLE': 0x85BF, - 'TRANSFORM_HINT_APPLE': 0x85B1, - 'VERTEX_ARRAY_BINDING_APPLE': 0x85B5, - 'VERTEX_ARRAY_RANGE_APPLE': 0x851D, - 'VERTEX_ARRAY_RANGE_LENGTH_APPLE': 0x851E, - 'VERTEX_ARRAY_STORAGE_HINT_APPLE': 0x851F, - 'MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE': 0x8520, - 'VERTEX_ARRAY_RANGE_POINTER_APPLE': 0x8521, - 'STORAGE_CACHED_APPLE': 0x85BE, - 'STORAGE_SHARED_APPLE': 0x85BF, - 'YCBCR_422_APPLE': 0x85B9, - 'UNSIGNED_SHORT_8_8_APPLE': 0x85BA, - 'UNSIGNED_SHORT_8_8_REV_APPLE': 0x85BB, - 'RGBA_FLOAT_MODE_ARB': 0x8820, - 'CLAMP_VERTEX_COLOR_ARB': 0x891A, - 'CLAMP_FRAGMENT_COLOR_ARB': 0x891B, - 'CLAMP_READ_COLOR_ARB': 0x891C, - 'FIXED_ONLY_ARB': 0x891D, - 'DEPTH_COMPONENT32F': 0x8CAC, - 'DEPTH32F_STENCIL8': 0x8CAD, - 'FLOAT_32_UNSIGNED_INT_24_8_REV': 0x8DAD, - 'DEPTH_COMPONENT16_ARB': 0x81A5, - 'DEPTH_COMPONENT24_ARB': 0x81A6, - 'DEPTH_COMPONENT32_ARB': 0x81A7, - 'TEXTURE_DEPTH_SIZE_ARB': 0x884A, - 'DEPTH_TEXTURE_MODE_ARB': 0x884B, - 'MAX_DRAW_BUFFERS_ARB': 0x8824, - 'DRAW_BUFFER0_ARB': 0x8825, - 'DRAW_BUFFER1_ARB': 0x8826, - 'DRAW_BUFFER2_ARB': 0x8827, - 'DRAW_BUFFER3_ARB': 0x8828, - 'DRAW_BUFFER4_ARB': 0x8829, - 'DRAW_BUFFER5_ARB': 0x882A, - 'DRAW_BUFFER6_ARB': 0x882B, - 'DRAW_BUFFER7_ARB': 0x882C, - 'DRAW_BUFFER8_ARB': 0x882D, - 'DRAW_BUFFER9_ARB': 0x882E, - 'DRAW_BUFFER10_ARB': 0x882F, - 'DRAW_BUFFER11_ARB': 0x8830, - 'DRAW_BUFFER12_ARB': 0x8831, - 'DRAW_BUFFER13_ARB': 0x8832, - 'DRAW_BUFFER14_ARB': 0x8833, - 'DRAW_BUFFER15_ARB': 0x8834, - 'FRAGMENT_PROGRAM_ARB': 0x8804, - 'PROGRAM_ALU_INSTRUCTIONS_ARB': 0x8805, - 'PROGRAM_TEX_INSTRUCTIONS_ARB': 0x8806, - 'PROGRAM_TEX_INDIRECTIONS_ARB': 0x8807, - 'PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB': 0x8808, - 'PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB': 0x8809, - 'PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB': 0x880A, - 'MAX_PROGRAM_ALU_INSTRUCTIONS_ARB': 0x880B, - 'MAX_PROGRAM_TEX_INSTRUCTIONS_ARB': 0x880C, - 'MAX_PROGRAM_TEX_INDIRECTIONS_ARB': 0x880D, - 'MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB': 0x880E, - 'MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB': 0x880F, - 'MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB': 0x8810, - 'MAX_TEXTURE_COORDS_ARB': 0x8871, - 'MAX_TEXTURE_IMAGE_UNITS_ARB': 0x8872, - 'FRAGMENT_SHADER_ARB': 0x8B30, - 'MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB': 0x8B49, - 'FRAGMENT_SHADER_DERIVATIVE_HINT_ARB': 0x8B8B, - 'INVALID_FRAMEBUFFER_OPERATION': 0x0506, - 'FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING': 0x8210, - 'FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE': 0x8211, - 'FRAMEBUFFER_ATTACHMENT_RED_SIZE': 0x8212, - 'FRAMEBUFFER_ATTACHMENT_GREEN_SIZE': 0x8213, - 'FRAMEBUFFER_ATTACHMENT_BLUE_SIZE': 0x8214, - 'FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE': 0x8215, - 'FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE': 0x8216, - 'FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE': 0x8217, - 'FRAMEBUFFER_DEFAULT': 0x8218, - 'FRAMEBUFFER_UNDEFINED': 0x8219, - 'DEPTH_STENCIL_ATTACHMENT': 0x821A, - 'INDEX': 0x8222, - 'MAX_RENDERBUFFER_SIZE': 0x84E8, - 'DEPTH_STENCIL': 0x84F9, - 'UNSIGNED_INT_24_8': 0x84FA, - 'DEPTH24_STENCIL8': 0x88F0, - 'TEXTURE_STENCIL_SIZE': 0x88F1, - 'UNSIGNED_NORMALIZED': 0x8C17, - 'SRGB': 0x8C40, - 'DRAW_FRAMEBUFFER_BINDING': 0x8CA6, - 'FRAMEBUFFER_BINDING': 0x8CA6, - 'RENDERBUFFER_BINDING': 0x8CA7, - 'READ_FRAMEBUFFER': 0x8CA8, - 'DRAW_FRAMEBUFFER': 0x8CA9, - 'READ_FRAMEBUFFER_BINDING': 0x8CAA, - 'RENDERBUFFER_SAMPLES': 0x8CAB, - 'FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE': 0x8CD0, - 'FRAMEBUFFER_ATTACHMENT_OBJECT_NAME': 0x8CD1, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL': 0x8CD2, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE': 0x8CD3, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER': 0x8CD4, - 'FRAMEBUFFER_COMPLETE': 0x8CD5, - 'FRAMEBUFFER_INCOMPLETE_ATTACHMENT': 0x8CD6, - 'FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT': 0x8CD7, - 'FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER': 0x8CDB, - 'FRAMEBUFFER_INCOMPLETE_READ_BUFFER': 0x8CDC, - 'FRAMEBUFFER_UNSUPPORTED': 0x8CDD, - 'MAX_COLOR_ATTACHMENTS': 0x8CDF, - 'COLOR_ATTACHMENT0': 0x8CE0, - 'COLOR_ATTACHMENT1': 0x8CE1, - 'COLOR_ATTACHMENT2': 0x8CE2, - 'COLOR_ATTACHMENT3': 0x8CE3, - 'COLOR_ATTACHMENT4': 0x8CE4, - 'COLOR_ATTACHMENT5': 0x8CE5, - 'COLOR_ATTACHMENT6': 0x8CE6, - 'COLOR_ATTACHMENT7': 0x8CE7, - 'COLOR_ATTACHMENT8': 0x8CE8, - 'COLOR_ATTACHMENT9': 0x8CE9, - 'COLOR_ATTACHMENT10': 0x8CEA, - 'COLOR_ATTACHMENT11': 0x8CEB, - 'COLOR_ATTACHMENT12': 0x8CEC, - 'COLOR_ATTACHMENT13': 0x8CED, - 'COLOR_ATTACHMENT14': 0x8CEE, - 'COLOR_ATTACHMENT15': 0x8CEF, - 'DEPTH_ATTACHMENT': 0x8D00, - 'STENCIL_ATTACHMENT': 0x8D20, - 'FRAMEBUFFER': 0x8D40, - 'RENDERBUFFER': 0x8D41, - 'RENDERBUFFER_WIDTH': 0x8D42, - 'RENDERBUFFER_HEIGHT': 0x8D43, - 'RENDERBUFFER_INTERNAL_FORMAT': 0x8D44, - 'STENCIL_INDEX1': 0x8D46, - 'STENCIL_INDEX4': 0x8D47, - 'STENCIL_INDEX8': 0x8D48, - 'STENCIL_INDEX16': 0x8D49, - 'RENDERBUFFER_RED_SIZE': 0x8D50, - 'RENDERBUFFER_GREEN_SIZE': 0x8D51, - 'RENDERBUFFER_BLUE_SIZE': 0x8D52, - 'RENDERBUFFER_ALPHA_SIZE': 0x8D53, - 'RENDERBUFFER_DEPTH_SIZE': 0x8D54, - 'RENDERBUFFER_STENCIL_SIZE': 0x8D55, - 'FRAMEBUFFER_INCOMPLETE_MULTISAMPLE': 0x8D56, - 'MAX_SAMPLES': 0x8D57, - 'FRAMEBUFFER_SRGB': 0x8DB9, - 'LINES_ADJACENCY_ARB': 0xA, - 'LINE_STRIP_ADJACENCY_ARB': 0xB, - 'TRIANGLES_ADJACENCY_ARB': 0xC, - 'TRIANGLE_STRIP_ADJACENCY_ARB': 0xD, - 'PROGRAM_POINT_SIZE_ARB': 0x8642, - 'MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB': 0x8C29, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER': 0x8CD4, - 'FRAMEBUFFER_ATTACHMENT_LAYERED_ARB': 0x8DA7, - 'FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB': 0x8DA8, - 'FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB': 0x8DA9, - 'GEOMETRY_SHADER_ARB': 0x8DD9, - 'GEOMETRY_VERTICES_OUT_ARB': 0x8DDA, - 'GEOMETRY_INPUT_TYPE_ARB': 0x8DDB, - 'GEOMETRY_OUTPUT_TYPE_ARB': 0x8DDC, - 'MAX_GEOMETRY_VARYING_COMPONENTS_ARB': 0x8DDD, - 'MAX_VERTEX_VARYING_COMPONENTS_ARB': 0x8DDE, - 'MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB': 0x8DDF, - 'MAX_GEOMETRY_OUTPUT_VERTICES_ARB': 0x8DE0, - 'MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB': 0x8DE1, - 'HALF_FLOAT_ARB': 0x140B, - 'HALF_FLOAT': 0x140B, - 'CONSTANT_COLOR': 0x8001, - 'ONE_MINUS_CONSTANT_COLOR': 0x8002, - 'CONSTANT_ALPHA': 0x8003, - 'ONE_MINUS_CONSTANT_ALPHA': 0x8004, - 'BLEND_COLOR': 0x8005, - 'FUNC_ADD': 0x8006, - 'MIN': 0x8007, - 'MAX': 0x8008, - 'BLEND_EQUATION': 0x8009, - 'FUNC_SUBTRACT': 0x800A, - 'FUNC_REVERSE_SUBTRACT': 0x800B, - 'CONVOLUTION_1D': 0x8010, - 'CONVOLUTION_2D': 0x8011, - 'SEPARABLE_2D': 0x8012, - 'CONVOLUTION_BORDER_MODE': 0x8013, - 'CONVOLUTION_FILTER_SCALE': 0x8014, - 'CONVOLUTION_FILTER_BIAS': 0x8015, - 'REDUCE': 0x8016, - 'CONVOLUTION_FORMAT': 0x8017, - 'CONVOLUTION_WIDTH': 0x8018, - 'CONVOLUTION_HEIGHT': 0x8019, - 'MAX_CONVOLUTION_WIDTH': 0x801A, - 'MAX_CONVOLUTION_HEIGHT': 0x801B, - 'POST_CONVOLUTION_RED_SCALE': 0x801C, - 'POST_CONVOLUTION_GREEN_SCALE': 0x801D, - 'POST_CONVOLUTION_BLUE_SCALE': 0x801E, - 'POST_CONVOLUTION_ALPHA_SCALE': 0x801F, - 'POST_CONVOLUTION_RED_BIAS': 0x8020, - 'POST_CONVOLUTION_GREEN_BIAS': 0x8021, - 'POST_CONVOLUTION_BLUE_BIAS': 0x8022, - 'POST_CONVOLUTION_ALPHA_BIAS': 0x8023, - 'HISTOGRAM': 0x8024, - 'PROXY_HISTOGRAM': 0x8025, - 'HISTOGRAM_WIDTH': 0x8026, - 'HISTOGRAM_FORMAT': 0x8027, - 'HISTOGRAM_RED_SIZE': 0x8028, - 'HISTOGRAM_GREEN_SIZE': 0x8029, - 'HISTOGRAM_BLUE_SIZE': 0x802A, - 'HISTOGRAM_ALPHA_SIZE': 0x802B, - 'HISTOGRAM_LUMINANCE_SIZE': 0x802C, - 'HISTOGRAM_SINK': 0x802D, - 'MINMAX': 0x802E, - 'MINMAX_FORMAT': 0x802F, - 'MINMAX_SINK': 0x8030, - 'TABLE_TOO_LARGE': 0x8031, - 'COLOR_MATRIX': 0x80B1, - 'COLOR_MATRIX_STACK_DEPTH': 0x80B2, - 'MAX_COLOR_MATRIX_STACK_DEPTH': 0x80B3, - 'POST_COLOR_MATRIX_RED_SCALE': 0x80B4, - 'POST_COLOR_MATRIX_GREEN_SCALE': 0x80B5, - 'POST_COLOR_MATRIX_BLUE_SCALE': 0x80B6, - 'POST_COLOR_MATRIX_ALPHA_SCALE': 0x80B7, - 'POST_COLOR_MATRIX_RED_BIAS': 0x80B8, - 'POST_COLOR_MATRIX_GREEN_BIAS': 0x80B9, - 'POST_COLOR_MATRIX_BLUE_BIAS': 0x80BA, - 'POST_COLOR_MATRIX_ALPHA_BIAS': 0x80BB, - 'COLOR_TABLE': 0x80D0, - 'POST_CONVOLUTION_COLOR_TABLE': 0x80D1, - 'POST_COLOR_MATRIX_COLOR_TABLE': 0x80D2, - 'PROXY_COLOR_TABLE': 0x80D3, - 'PROXY_POST_CONVOLUTION_COLOR_TABLE': 0x80D4, - 'PROXY_POST_COLOR_MATRIX_COLOR_TABLE': 0x80D5, - 'COLOR_TABLE_SCALE': 0x80D6, - 'COLOR_TABLE_BIAS': 0x80D7, - 'COLOR_TABLE_FORMAT': 0x80D8, - 'COLOR_TABLE_WIDTH': 0x80D9, - 'COLOR_TABLE_RED_SIZE': 0x80DA, - 'COLOR_TABLE_GREEN_SIZE': 0x80DB, - 'COLOR_TABLE_BLUE_SIZE': 0x80DC, - 'COLOR_TABLE_ALPHA_SIZE': 0x80DD, - 'COLOR_TABLE_LUMINANCE_SIZE': 0x80DE, - 'COLOR_TABLE_INTENSITY_SIZE': 0x80DF, - 'IGNORE_BORDER': 0x8150, - 'CONSTANT_BORDER': 0x8151, - 'WRAP_BORDER': 0x8152, - 'REPLICATE_BORDER': 0x8153, - 'CONVOLUTION_BORDER_COLOR': 0x8154, - 'VERTEX_ATTRIB_ARRAY_DIVISOR_ARB': 0x88FE, - 'MAP_READ_BIT': 0x0001, - 'MAP_WRITE_BIT': 0x0002, - 'MAP_INVALIDATE_RANGE_BIT': 0x0004, - 'MAP_INVALIDATE_BUFFER_BIT': 0x0008, - 'MAP_FLUSH_EXPLICIT_BIT': 0x0010, - 'MAP_UNSYNCHRONIZED_BIT': 0x0020, - 'MATRIX_PALETTE_ARB': 0x8840, - 'MAX_MATRIX_PALETTE_STACK_DEPTH_ARB': 0x8841, - 'MAX_PALETTE_MATRICES_ARB': 0x8842, - 'CURRENT_PALETTE_MATRIX_ARB': 0x8843, - 'MATRIX_INDEX_ARRAY_ARB': 0x8844, - 'CURRENT_MATRIX_INDEX_ARB': 0x8845, - 'MATRIX_INDEX_ARRAY_SIZE_ARB': 0x8846, - 'MATRIX_INDEX_ARRAY_TYPE_ARB': 0x8847, - 'MATRIX_INDEX_ARRAY_STRIDE_ARB': 0x8848, - 'MATRIX_INDEX_ARRAY_POINTER_ARB': 0x8849, - 'MULTISAMPLE_ARB': 0x809D, - 'SAMPLE_ALPHA_TO_COVERAGE_ARB': 0x809E, - 'SAMPLE_ALPHA_TO_ONE_ARB': 0x809F, - 'SAMPLE_COVERAGE_ARB': 0x80A0, - 'SAMPLE_BUFFERS_ARB': 0x80A8, - 'SAMPLES_ARB': 0x80A9, - 'SAMPLE_COVERAGE_VALUE_ARB': 0x80AA, - 'SAMPLE_COVERAGE_INVERT_ARB': 0x80AB, - 'MULTISAMPLE_BIT_ARB': 0x20000000, - 'TEXTURE0_ARB': 0x84C0, - 'TEXTURE1_ARB': 0x84C1, - 'TEXTURE2_ARB': 0x84C2, - 'TEXTURE3_ARB': 0x84C3, - 'TEXTURE4_ARB': 0x84C4, - 'TEXTURE5_ARB': 0x84C5, - 'TEXTURE6_ARB': 0x84C6, - 'TEXTURE7_ARB': 0x84C7, - 'TEXTURE8_ARB': 0x84C8, - 'TEXTURE9_ARB': 0x84C9, - 'TEXTURE10_ARB': 0x84CA, - 'TEXTURE11_ARB': 0x84CB, - 'TEXTURE12_ARB': 0x84CC, - 'TEXTURE13_ARB': 0x84CD, - 'TEXTURE14_ARB': 0x84CE, - 'TEXTURE15_ARB': 0x84CF, - 'TEXTURE16_ARB': 0x84D0, - 'TEXTURE17_ARB': 0x84D1, - 'TEXTURE18_ARB': 0x84D2, - 'TEXTURE19_ARB': 0x84D3, - 'TEXTURE20_ARB': 0x84D4, - 'TEXTURE21_ARB': 0x84D5, - 'TEXTURE22_ARB': 0x84D6, - 'TEXTURE23_ARB': 0x84D7, - 'TEXTURE24_ARB': 0x84D8, - 'TEXTURE25_ARB': 0x84D9, - 'TEXTURE26_ARB': 0x84DA, - 'TEXTURE27_ARB': 0x84DB, - 'TEXTURE28_ARB': 0x84DC, - 'TEXTURE29_ARB': 0x84DD, - 'TEXTURE30_ARB': 0x84DE, - 'TEXTURE31_ARB': 0x84DF, - 'ACTIVE_TEXTURE_ARB': 0x84E0, - 'CLIENT_ACTIVE_TEXTURE_ARB': 0x84E1, - 'MAX_TEXTURE_UNITS_ARB': 0x84E2, - 'QUERY_COUNTER_BITS_ARB': 0x8864, - 'CURRENT_QUERY_ARB': 0x8865, - 'QUERY_RESULT_ARB': 0x8866, - 'QUERY_RESULT_AVAILABLE_ARB': 0x8867, - 'SAMPLES_PASSED_ARB': 0x8914, - 'PIXEL_PACK_BUFFER_ARB': 0x88EB, - 'PIXEL_UNPACK_BUFFER_ARB': 0x88EC, - 'PIXEL_PACK_BUFFER_BINDING_ARB': 0x88ED, - 'PIXEL_UNPACK_BUFFER_BINDING_ARB': 0x88EF, - 'POINT_SIZE_MIN_ARB': 0x8126, - 'POINT_SIZE_MAX_ARB': 0x8127, - 'POINT_FADE_THRESHOLD_SIZE_ARB': 0x8128, - 'POINT_DISTANCE_ATTENUATION_ARB': 0x8129, - 'POINT_SPRITE_ARB': 0x8861, - 'COORD_REPLACE_ARB': 0x8862, - 'PROGRAM_OBJECT_ARB': 0x8B40, - 'SHADER_OBJECT_ARB': 0x8B48, - 'OBJECT_TYPE_ARB': 0x8B4E, - 'OBJECT_SUBTYPE_ARB': 0x8B4F, - 'FLOAT_VEC2_ARB': 0x8B50, - 'FLOAT_VEC3_ARB': 0x8B51, - 'FLOAT_VEC4_ARB': 0x8B52, - 'INT_VEC2_ARB': 0x8B53, - 'INT_VEC3_ARB': 0x8B54, - 'INT_VEC4_ARB': 0x8B55, - 'BOOL_ARB': 0x8B56, - 'BOOL_VEC2_ARB': 0x8B57, - 'BOOL_VEC3_ARB': 0x8B58, - 'BOOL_VEC4_ARB': 0x8B59, - 'FLOAT_MAT2_ARB': 0x8B5A, - 'FLOAT_MAT3_ARB': 0x8B5B, - 'FLOAT_MAT4_ARB': 0x8B5C, - 'SAMPLER_1D_ARB': 0x8B5D, - 'SAMPLER_2D_ARB': 0x8B5E, - 'SAMPLER_3D_ARB': 0x8B5F, - 'SAMPLER_CUBE_ARB': 0x8B60, - 'SAMPLER_1D_SHADOW_ARB': 0x8B61, - 'SAMPLER_2D_SHADOW_ARB': 0x8B62, - 'SAMPLER_2D_RECT_ARB': 0x8B63, - 'SAMPLER_2D_RECT_SHADOW_ARB': 0x8B64, - 'OBJECT_DELETE_STATUS_ARB': 0x8B80, - 'OBJECT_COMPILE_STATUS_ARB': 0x8B81, - 'OBJECT_LINK_STATUS_ARB': 0x8B82, - 'OBJECT_VALIDATE_STATUS_ARB': 0x8B83, - 'OBJECT_INFO_LOG_LENGTH_ARB': 0x8B84, - 'OBJECT_ATTACHED_OBJECTS_ARB': 0x8B85, - 'OBJECT_ACTIVE_UNIFORMS_ARB': 0x8B86, - 'OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB': 0x8B87, - 'OBJECT_SHADER_SOURCE_LENGTH_ARB': 0x8B88, - 'SHADING_LANGUAGE_VERSION_ARB': 0x8B8C, - 'TEXTURE_COMPARE_MODE_ARB': 0x884C, - 'TEXTURE_COMPARE_FUNC_ARB': 0x884D, - 'COMPARE_R_TO_TEXTURE_ARB': 0x884E, - 'TEXTURE_COMPARE_FAIL_VALUE_ARB': 0x80BF, - 'CLAMP_TO_BORDER_ARB': 0x812D, - 'TEXTURE_BUFFER_ARB': 0x8C2A, - 'MAX_TEXTURE_BUFFER_SIZE_ARB': 0x8C2B, - 'TEXTURE_BINDING_BUFFER_ARB': 0x8C2C, - 'TEXTURE_BUFFER_DATA_STORE_BINDING_ARB': 0x8C2D, - 'TEXTURE_BUFFER_FORMAT_ARB': 0x8C2E, - 'COMPRESSED_ALPHA_ARB': 0x84E9, - 'COMPRESSED_LUMINANCE_ARB': 0x84EA, - 'COMPRESSED_LUMINANCE_ALPHA_ARB': 0x84EB, - 'COMPRESSED_INTENSITY_ARB': 0x84EC, - 'COMPRESSED_RGB_ARB': 0x84ED, - 'COMPRESSED_RGBA_ARB': 0x84EE, - 'TEXTURE_COMPRESSION_HINT_ARB': 0x84EF, - 'TEXTURE_COMPRESSED_IMAGE_SIZE_ARB': 0x86A0, - 'TEXTURE_COMPRESSED_ARB': 0x86A1, - 'NUM_COMPRESSED_TEXTURE_FORMATS_ARB': 0x86A2, - 'COMPRESSED_TEXTURE_FORMATS_ARB': 0x86A3, - 'COMPRESSED_RED_RGTC1': 0x8DBB, - 'COMPRESSED_SIGNED_RED_RGTC1': 0x8DBC, - 'COMPRESSED_RG_RGTC2': 0x8DBD, - 'COMPRESSED_SIGNED_RG_RGTC2': 0x8DBE, - 'NORMAL_MAP_ARB': 0x8511, - 'REFLECTION_MAP_ARB': 0x8512, - 'TEXTURE_CUBE_MAP_ARB': 0x8513, - 'TEXTURE_BINDING_CUBE_MAP_ARB': 0x8514, - 'TEXTURE_CUBE_MAP_POSITIVE_X_ARB': 0x8515, - 'TEXTURE_CUBE_MAP_NEGATIVE_X_ARB': 0x8516, - 'TEXTURE_CUBE_MAP_POSITIVE_Y_ARB': 0x8517, - 'TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB': 0x8518, - 'TEXTURE_CUBE_MAP_POSITIVE_Z_ARB': 0x8519, - 'TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB': 0x851A, - 'PROXY_TEXTURE_CUBE_MAP_ARB': 0x851B, - 'MAX_CUBE_MAP_TEXTURE_SIZE_ARB': 0x851C, - 'SUBTRACT_ARB': 0x84E7, - 'COMBINE_ARB': 0x8570, - 'COMBINE_RGB_ARB': 0x8571, - 'COMBINE_ALPHA_ARB': 0x8572, - 'RGB_SCALE_ARB': 0x8573, - 'ADD_SIGNED_ARB': 0x8574, - 'INTERPOLATE_ARB': 0x8575, - 'CONSTANT_ARB': 0x8576, - 'PRIMARY_COLOR_ARB': 0x8577, - 'PREVIOUS_ARB': 0x8578, - 'SOURCE0_RGB_ARB': 0x8580, - 'SOURCE1_RGB_ARB': 0x8581, - 'SOURCE2_RGB_ARB': 0x8582, - 'SOURCE0_ALPHA_ARB': 0x8588, - 'SOURCE1_ALPHA_ARB': 0x8589, - 'SOURCE2_ALPHA_ARB': 0x858A, - 'OPERAND0_RGB_ARB': 0x8590, - 'OPERAND1_RGB_ARB': 0x8591, - 'OPERAND2_RGB_ARB': 0x8592, - 'OPERAND0_ALPHA_ARB': 0x8598, - 'OPERAND1_ALPHA_ARB': 0x8599, - 'OPERAND2_ALPHA_ARB': 0x859A, - 'DOT3_RGB_ARB': 0x86AE, - 'DOT3_RGBA_ARB': 0x86AF, - 'RGBA32F_ARB': 0x8814, - 'RGB32F_ARB': 0x8815, - 'ALPHA32F_ARB': 0x8816, - 'INTENSITY32F_ARB': 0x8817, - 'LUMINANCE32F_ARB': 0x8818, - 'LUMINANCE_ALPHA32F_ARB': 0x8819, - 'RGBA16F_ARB': 0x881A, - 'RGB16F_ARB': 0x881B, - 'ALPHA16F_ARB': 0x881C, - 'INTENSITY16F_ARB': 0x881D, - 'LUMINANCE16F_ARB': 0x881E, - 'LUMINANCE_ALPHA16F_ARB': 0x881F, - 'TEXTURE_RED_TYPE_ARB': 0x8C10, - 'TEXTURE_GREEN_TYPE_ARB': 0x8C11, - 'TEXTURE_BLUE_TYPE_ARB': 0x8C12, - 'TEXTURE_ALPHA_TYPE_ARB': 0x8C13, - 'TEXTURE_LUMINANCE_TYPE_ARB': 0x8C14, - 'TEXTURE_INTENSITY_TYPE_ARB': 0x8C15, - 'TEXTURE_DEPTH_TYPE_ARB': 0x8C16, - 'UNSIGNED_NORMALIZED_ARB': 0x8C17, - 'MIRRORED_REPEAT_ARB': 0x8370, - 'TEXTURE_RECTANGLE_ARB': 0x84F5, - 'TEXTURE_BINDING_RECTANGLE_ARB': 0x84F6, - 'PROXY_TEXTURE_RECTANGLE_ARB': 0x84F7, - 'MAX_RECTANGLE_TEXTURE_SIZE_ARB': 0x84F8, - 'SAMPLER_2D_RECT_ARB': 0x8B63, - 'SAMPLER_2D_RECT_SHADOW_ARB': 0x8B64, - 'RED': 0x1903, - 'RG': 0x8227, - 'RG_INTEGER': 0x8228, - 'R8': 0x8229, - 'R16': 0x822A, - 'RG8': 0x822B, - 'RG16': 0x822C, - 'R16F': 0x822D, - 'R32F': 0x822E, - 'RG16F': 0x822F, - 'RG32F': 0x8230, - 'R8I': 0x8231, - 'R8UI': 0x8232, - 'R16I': 0x8233, - 'R16UI': 0x8234, - 'R32I': 0x8235, - 'R32UI': 0x8236, - 'RG8I': 0x8237, - 'RG8UI': 0x8238, - 'RG16I': 0x8239, - 'RG16UI': 0x823A, - 'RG32I': 0x823B, - 'RG32UI': 0x823C, - 'TRANSPOSE_MODELVIEW_MATRIX_ARB': 0x84E3, - 'TRANSPOSE_PROJECTION_MATRIX_ARB': 0x84E4, - 'TRANSPOSE_TEXTURE_MATRIX_ARB': 0x84E5, - 'TRANSPOSE_COLOR_MATRIX_ARB': 0x84E6, - 'VERTEX_ARRAY_BINDING': 0x85B5, - 'MODELVIEW0_ARB': 0x1700, - 'MODELVIEW1_ARB': 0x850A, - 'MAX_VERTEX_UNITS_ARB': 0x86A4, - 'ACTIVE_VERTEX_UNITS_ARB': 0x86A5, - 'WEIGHT_SUM_UNITY_ARB': 0x86A6, - 'VERTEX_BLEND_ARB': 0x86A7, - 'CURRENT_WEIGHT_ARB': 0x86A8, - 'WEIGHT_ARRAY_TYPE_ARB': 0x86A9, - 'WEIGHT_ARRAY_STRIDE_ARB': 0x86AA, - 'WEIGHT_ARRAY_SIZE_ARB': 0x86AB, - 'WEIGHT_ARRAY_POINTER_ARB': 0x86AC, - 'WEIGHT_ARRAY_ARB': 0x86AD, - 'MODELVIEW2_ARB': 0x8722, - 'MODELVIEW3_ARB': 0x8723, - 'MODELVIEW4_ARB': 0x8724, - 'MODELVIEW5_ARB': 0x8725, - 'MODELVIEW6_ARB': 0x8726, - 'MODELVIEW7_ARB': 0x8727, - 'MODELVIEW8_ARB': 0x8728, - 'MODELVIEW9_ARB': 0x8729, - 'MODELVIEW10_ARB': 0x872A, - 'MODELVIEW11_ARB': 0x872B, - 'MODELVIEW12_ARB': 0x872C, - 'MODELVIEW13_ARB': 0x872D, - 'MODELVIEW14_ARB': 0x872E, - 'MODELVIEW15_ARB': 0x872F, - 'MODELVIEW16_ARB': 0x8730, - 'MODELVIEW17_ARB': 0x8731, - 'MODELVIEW18_ARB': 0x8732, - 'MODELVIEW19_ARB': 0x8733, - 'MODELVIEW20_ARB': 0x8734, - 'MODELVIEW21_ARB': 0x8735, - 'MODELVIEW22_ARB': 0x8736, - 'MODELVIEW23_ARB': 0x8737, - 'MODELVIEW24_ARB': 0x8738, - 'MODELVIEW25_ARB': 0x8739, - 'MODELVIEW26_ARB': 0x873A, - 'MODELVIEW27_ARB': 0x873B, - 'MODELVIEW28_ARB': 0x873C, - 'MODELVIEW29_ARB': 0x873D, - 'MODELVIEW30_ARB': 0x873E, - 'MODELVIEW31_ARB': 0x873F, - 'BUFFER_SIZE_ARB': 0x8764, - 'BUFFER_USAGE_ARB': 0x8765, - 'ARRAY_BUFFER_ARB': 0x8892, - 'ELEMENT_ARRAY_BUFFER_ARB': 0x8893, - 'ARRAY_BUFFER_BINDING_ARB': 0x8894, - 'ELEMENT_ARRAY_BUFFER_BINDING_ARB': 0x8895, - 'VERTEX_ARRAY_BUFFER_BINDING_ARB': 0x8896, - 'NORMAL_ARRAY_BUFFER_BINDING_ARB': 0x8897, - 'COLOR_ARRAY_BUFFER_BINDING_ARB': 0x8898, - 'INDEX_ARRAY_BUFFER_BINDING_ARB': 0x8899, - 'TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB': 0x889A, - 'EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB': 0x889B, - 'SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB': 0x889C, - 'FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB': 0x889D, - 'WEIGHT_ARRAY_BUFFER_BINDING_ARB': 0x889E, - 'VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB': 0x889F, - 'READ_ONLY_ARB': 0x88B8, - 'WRITE_ONLY_ARB': 0x88B9, - 'READ_WRITE_ARB': 0x88BA, - 'BUFFER_ACCESS_ARB': 0x88BB, - 'BUFFER_MAPPED_ARB': 0x88BC, - 'BUFFER_MAP_POINTER_ARB': 0x88BD, - 'STREAM_DRAW_ARB': 0x88E0, - 'STREAM_READ_ARB': 0x88E1, - 'STREAM_COPY_ARB': 0x88E2, - 'STATIC_DRAW_ARB': 0x88E4, - 'STATIC_READ_ARB': 0x88E5, - 'STATIC_COPY_ARB': 0x88E6, - 'DYNAMIC_DRAW_ARB': 0x88E8, - 'DYNAMIC_READ_ARB': 0x88E9, - 'DYNAMIC_COPY_ARB': 0x88EA, - 'COLOR_SUM_ARB': 0x8458, - 'VERTEX_PROGRAM_ARB': 0x8620, - 'VERTEX_ATTRIB_ARRAY_ENABLED_ARB': 0x8622, - 'VERTEX_ATTRIB_ARRAY_SIZE_ARB': 0x8623, - 'VERTEX_ATTRIB_ARRAY_STRIDE_ARB': 0x8624, - 'VERTEX_ATTRIB_ARRAY_TYPE_ARB': 0x8625, - 'CURRENT_VERTEX_ATTRIB_ARB': 0x8626, - 'PROGRAM_LENGTH_ARB': 0x8627, - 'PROGRAM_STRING_ARB': 0x8628, - 'MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB': 0x862E, - 'MAX_PROGRAM_MATRICES_ARB': 0x862F, - 'CURRENT_MATRIX_STACK_DEPTH_ARB': 0x8640, - 'CURRENT_MATRIX_ARB': 0x8641, - 'VERTEX_PROGRAM_POINT_SIZE_ARB': 0x8642, - 'VERTEX_PROGRAM_TWO_SIDE_ARB': 0x8643, - 'VERTEX_ATTRIB_ARRAY_POINTER_ARB': 0x8645, - 'PROGRAM_ERROR_POSITION_ARB': 0x864B, - 'PROGRAM_BINDING_ARB': 0x8677, - 'MAX_VERTEX_ATTRIBS_ARB': 0x8869, - 'VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB': 0x886A, - 'PROGRAM_ERROR_STRING_ARB': 0x8874, - 'PROGRAM_FORMAT_ASCII_ARB': 0x8875, - 'PROGRAM_FORMAT_ARB': 0x8876, - 'PROGRAM_INSTRUCTIONS_ARB': 0x88A0, - 'MAX_PROGRAM_INSTRUCTIONS_ARB': 0x88A1, - 'PROGRAM_NATIVE_INSTRUCTIONS_ARB': 0x88A2, - 'MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB': 0x88A3, - 'PROGRAM_TEMPORARIES_ARB': 0x88A4, - 'MAX_PROGRAM_TEMPORARIES_ARB': 0x88A5, - 'PROGRAM_NATIVE_TEMPORARIES_ARB': 0x88A6, - 'MAX_PROGRAM_NATIVE_TEMPORARIES_ARB': 0x88A7, - 'PROGRAM_PARAMETERS_ARB': 0x88A8, - 'MAX_PROGRAM_PARAMETERS_ARB': 0x88A9, - 'PROGRAM_NATIVE_PARAMETERS_ARB': 0x88AA, - 'MAX_PROGRAM_NATIVE_PARAMETERS_ARB': 0x88AB, - 'PROGRAM_ATTRIBS_ARB': 0x88AC, - 'MAX_PROGRAM_ATTRIBS_ARB': 0x88AD, - 'PROGRAM_NATIVE_ATTRIBS_ARB': 0x88AE, - 'MAX_PROGRAM_NATIVE_ATTRIBS_ARB': 0x88AF, - 'PROGRAM_ADDRESS_REGISTERS_ARB': 0x88B0, - 'MAX_PROGRAM_ADDRESS_REGISTERS_ARB': 0x88B1, - 'PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB': 0x88B2, - 'MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB': 0x88B3, - 'MAX_PROGRAM_LOCAL_PARAMETERS_ARB': 0x88B4, - 'MAX_PROGRAM_ENV_PARAMETERS_ARB': 0x88B5, - 'PROGRAM_UNDER_NATIVE_LIMITS_ARB': 0x88B6, - 'TRANSPOSE_CURRENT_MATRIX_ARB': 0x88B7, - 'MATRIX0_ARB': 0x88C0, - 'MATRIX1_ARB': 0x88C1, - 'MATRIX2_ARB': 0x88C2, - 'MATRIX3_ARB': 0x88C3, - 'MATRIX4_ARB': 0x88C4, - 'MATRIX5_ARB': 0x88C5, - 'MATRIX6_ARB': 0x88C6, - 'MATRIX7_ARB': 0x88C7, - 'MATRIX8_ARB': 0x88C8, - 'MATRIX9_ARB': 0x88C9, - 'MATRIX10_ARB': 0x88CA, - 'MATRIX11_ARB': 0x88CB, - 'MATRIX12_ARB': 0x88CC, - 'MATRIX13_ARB': 0x88CD, - 'MATRIX14_ARB': 0x88CE, - 'MATRIX15_ARB': 0x88CF, - 'MATRIX16_ARB': 0x88D0, - 'MATRIX17_ARB': 0x88D1, - 'MATRIX18_ARB': 0x88D2, - 'MATRIX19_ARB': 0x88D3, - 'MATRIX20_ARB': 0x88D4, - 'MATRIX21_ARB': 0x88D5, - 'MATRIX22_ARB': 0x88D6, - 'MATRIX23_ARB': 0x88D7, - 'MATRIX24_ARB': 0x88D8, - 'MATRIX25_ARB': 0x88D9, - 'MATRIX26_ARB': 0x88DA, - 'MATRIX27_ARB': 0x88DB, - 'MATRIX28_ARB': 0x88DC, - 'MATRIX29_ARB': 0x88DD, - 'MATRIX30_ARB': 0x88DE, - 'MATRIX31_ARB': 0x88DF, - 'VERTEX_SHADER_ARB': 0x8B31, - 'MAX_VERTEX_UNIFORM_COMPONENTS_ARB': 0x8B4A, - 'MAX_VARYING_FLOATS_ARB': 0x8B4B, - 'MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB': 0x8B4C, - 'MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB': 0x8B4D, - 'OBJECT_ACTIVE_ATTRIBUTES_ARB': 0x8B89, - 'OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB': 0x8B8A, - 'TEXTURE_POINT_MODE_ATIX': 0x60B0, - 'TEXTURE_POINT_ONE_COORD_ATIX': 0x60B1, - 'TEXTURE_POINT_SPRITE_ATIX': 0x60B2, - 'POINT_SPRITE_CULL_MODE_ATIX': 0x60B3, - 'POINT_SPRITE_CULL_CENTER_ATIX': 0x60B4, - 'POINT_SPRITE_CULL_CLIP_ATIX': 0x60B5, - 'MODULATE_ADD_ATIX': 0x8744, - 'MODULATE_SIGNED_ADD_ATIX': 0x8745, - 'MODULATE_SUBTRACT_ATIX': 0x8746, - 'SECONDARY_COLOR_ATIX': 0x8747, - 'TEXTURE_OUTPUT_RGB_ATIX': 0x8748, - 'TEXTURE_OUTPUT_ALPHA_ATIX': 0x8749, - 'OUTPUT_POINT_SIZE_ATIX': 0x610E, - 'MAX_DRAW_BUFFERS_ATI': 0x8824, - 'DRAW_BUFFER0_ATI': 0x8825, - 'DRAW_BUFFER1_ATI': 0x8826, - 'DRAW_BUFFER2_ATI': 0x8827, - 'DRAW_BUFFER3_ATI': 0x8828, - 'DRAW_BUFFER4_ATI': 0x8829, - 'DRAW_BUFFER5_ATI': 0x882A, - 'DRAW_BUFFER6_ATI': 0x882B, - 'DRAW_BUFFER7_ATI': 0x882C, - 'DRAW_BUFFER8_ATI': 0x882D, - 'DRAW_BUFFER9_ATI': 0x882E, - 'DRAW_BUFFER10_ATI': 0x882F, - 'DRAW_BUFFER11_ATI': 0x8830, - 'DRAW_BUFFER12_ATI': 0x8831, - 'DRAW_BUFFER13_ATI': 0x8832, - 'DRAW_BUFFER14_ATI': 0x8833, - 'DRAW_BUFFER15_ATI': 0x8834, - 'ELEMENT_ARRAY_ATI': 0x8768, - 'ELEMENT_ARRAY_TYPE_ATI': 0x8769, - 'ELEMENT_ARRAY_POINTER_ATI': 0x876A, - 'BUMP_ROT_MATRIX_ATI': 0x8775, - 'BUMP_ROT_MATRIX_SIZE_ATI': 0x8776, - 'BUMP_NUM_TEX_UNITS_ATI': 0x8777, - 'BUMP_TEX_UNITS_ATI': 0x8778, - 'DUDV_ATI': 0x8779, - 'DU8DV8_ATI': 0x877A, - 'BUMP_ENVMAP_ATI': 0x877B, - 'BUMP_TARGET_ATI': 0x877C, - 'RED_BIT_ATI': 0x00000001, - '2X_BIT_ATI': 0x00000001, - '4X_BIT_ATI': 0x00000002, - 'GREEN_BIT_ATI': 0x00000002, - 'COMP_BIT_ATI': 0x00000002, - 'BLUE_BIT_ATI': 0x00000004, - '8X_BIT_ATI': 0x00000004, - 'NEGATE_BIT_ATI': 0x00000004, - 'BIAS_BIT_ATI': 0x00000008, - 'HALF_BIT_ATI': 0x00000008, - 'QUARTER_BIT_ATI': 0x00000010, - 'EIGHTH_BIT_ATI': 0x00000020, - 'SATURATE_BIT_ATI': 0x00000040, - 'FRAGMENT_SHADER_ATI': 0x8920, - 'REG_0_ATI': 0x8921, - 'REG_1_ATI': 0x8922, - 'REG_2_ATI': 0x8923, - 'REG_3_ATI': 0x8924, - 'REG_4_ATI': 0x8925, - 'REG_5_ATI': 0x8926, - 'CON_0_ATI': 0x8941, - 'CON_1_ATI': 0x8942, - 'CON_2_ATI': 0x8943, - 'CON_3_ATI': 0x8944, - 'CON_4_ATI': 0x8945, - 'CON_5_ATI': 0x8946, - 'CON_6_ATI': 0x8947, - 'CON_7_ATI': 0x8948, - 'MOV_ATI': 0x8961, - 'ADD_ATI': 0x8963, - 'MUL_ATI': 0x8964, - 'SUB_ATI': 0x8965, - 'DOT3_ATI': 0x8966, - 'DOT4_ATI': 0x8967, - 'MAD_ATI': 0x8968, - 'LERP_ATI': 0x8969, - 'CND_ATI': 0x896A, - 'CND0_ATI': 0x896B, - 'DOT2_ADD_ATI': 0x896C, - 'SECONDARY_INTERPOLATOR_ATI': 0x896D, - 'NUM_FRAGMENT_REGISTERS_ATI': 0x896E, - 'NUM_FRAGMENT_CONSTANTS_ATI': 0x896F, - 'NUM_PASSES_ATI': 0x8970, - 'NUM_INSTRUCTIONS_PER_PASS_ATI': 0x8971, - 'NUM_INSTRUCTIONS_TOTAL_ATI': 0x8972, - 'NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI': 0x8973, - 'NUM_LOOPBACK_COMPONENTS_ATI': 0x8974, - 'COLOR_ALPHA_PAIRING_ATI': 0x8975, - 'SWIZZLE_STR_ATI': 0x8976, - 'SWIZZLE_STQ_ATI': 0x8977, - 'SWIZZLE_STR_DR_ATI': 0x8978, - 'SWIZZLE_STQ_DQ_ATI': 0x8979, - 'SWIZZLE_STRQ_ATI': 0x897A, - 'SWIZZLE_STRQ_DQ_ATI': 0x897B, - 'PN_TRIANGLES_ATI': 0x87F0, - 'MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI': 0x87F1, - 'PN_TRIANGLES_POINT_MODE_ATI': 0x87F2, - 'PN_TRIANGLES_NORMAL_MODE_ATI': 0x87F3, - 'PN_TRIANGLES_TESSELATION_LEVEL_ATI': 0x87F4, - 'PN_TRIANGLES_POINT_MODE_LINEAR_ATI': 0x87F5, - 'PN_TRIANGLES_POINT_MODE_CUBIC_ATI': 0x87F6, - 'PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI': 0x87F7, - 'PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI': 0x87F8, - 'STENCIL_BACK_FUNC_ATI': 0x8800, - 'STENCIL_BACK_FAIL_ATI': 0x8801, - 'STENCIL_BACK_PASS_DEPTH_FAIL_ATI': 0x8802, - 'STENCIL_BACK_PASS_DEPTH_PASS_ATI': 0x8803, - 'TEXT_FRAGMENT_SHADER_ATI': 0x8200, - 'COMPRESSED_LUMINANCE_ALPHA_3DC_ATI': 0x8837, - 'MODULATE_ADD_ATI': 0x8744, - 'MODULATE_SIGNED_ADD_ATI': 0x8745, - 'MODULATE_SUBTRACT_ATI': 0x8746, - 'RGBA_FLOAT32_ATI': 0x8814, - 'RGB_FLOAT32_ATI': 0x8815, - 'ALPHA_FLOAT32_ATI': 0x8816, - 'INTENSITY_FLOAT32_ATI': 0x8817, - 'LUMINANCE_FLOAT32_ATI': 0x8818, - 'LUMINANCE_ALPHA_FLOAT32_ATI': 0x8819, - 'RGBA_FLOAT16_ATI': 0x881A, - 'RGB_FLOAT16_ATI': 0x881B, - 'ALPHA_FLOAT16_ATI': 0x881C, - 'INTENSITY_FLOAT16_ATI': 0x881D, - 'LUMINANCE_FLOAT16_ATI': 0x881E, - 'LUMINANCE_ALPHA_FLOAT16_ATI': 0x881F, - 'MIRROR_CLAMP_ATI': 0x8742, - 'MIRROR_CLAMP_TO_EDGE_ATI': 0x8743, - 'STATIC_ATI': 0x8760, - 'DYNAMIC_ATI': 0x8761, - 'PRESERVE_ATI': 0x8762, - 'DISCARD_ATI': 0x8763, - 'OBJECT_BUFFER_SIZE_ATI': 0x8764, - 'OBJECT_BUFFER_USAGE_ATI': 0x8765, - 'ARRAY_OBJECT_BUFFER_ATI': 0x8766, - 'ARRAY_OBJECT_OFFSET_ATI': 0x8767, - 'MAX_VERTEX_STREAMS_ATI': 0x876B, - 'VERTEX_SOURCE_ATI': 0x876C, - 'VERTEX_STREAM0_ATI': 0x876D, - 'VERTEX_STREAM1_ATI': 0x876E, - 'VERTEX_STREAM2_ATI': 0x876F, - 'VERTEX_STREAM3_ATI': 0x8770, - 'VERTEX_STREAM4_ATI': 0x8771, - 'VERTEX_STREAM5_ATI': 0x8772, - 'VERTEX_STREAM6_ATI': 0x8773, - 'VERTEX_STREAM7_ATI': 0x8774, - '422_EXT': 0x80CC, - '422_REV_EXT': 0x80CD, - '422_AVERAGE_EXT': 0x80CE, - '422_REV_AVERAGE_EXT': 0x80CF, - 'CG_VERTEX_SHADER_EXT': 0x890E, - 'CG_FRAGMENT_SHADER_EXT': 0x890F, - 'ABGR_EXT': 0x8000, - 'BGR_EXT': 0x80E0, - 'BGRA_EXT': 0x80E1, - 'MAX_VERTEX_BINDABLE_UNIFORMS_EXT': 0x8DE2, - 'MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT': 0x8DE3, - 'MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT': 0x8DE4, - 'MAX_BINDABLE_UNIFORM_SIZE_EXT': 0x8DED, - 'UNIFORM_BUFFER_EXT': 0x8DEE, - 'UNIFORM_BUFFER_BINDING_EXT': 0x8DEF, - 'CONSTANT_COLOR_EXT': 0x8001, - 'ONE_MINUS_CONSTANT_COLOR_EXT': 0x8002, - 'CONSTANT_ALPHA_EXT': 0x8003, - 'ONE_MINUS_CONSTANT_ALPHA_EXT': 0x8004, - 'BLEND_COLOR_EXT': 0x8005, - 'BLEND_EQUATION_RGB_EXT': 0x8009, - 'BLEND_EQUATION_ALPHA_EXT': 0x883D, - 'BLEND_DST_RGB_EXT': 0x80C8, - 'BLEND_SRC_RGB_EXT': 0x80C9, - 'BLEND_DST_ALPHA_EXT': 0x80CA, - 'BLEND_SRC_ALPHA_EXT': 0x80CB, - 'FUNC_ADD_EXT': 0x8006, - 'MIN_EXT': 0x8007, - 'MAX_EXT': 0x8008, - 'BLEND_EQUATION_EXT': 0x8009, - 'FUNC_SUBTRACT_EXT': 0x800A, - 'FUNC_REVERSE_SUBTRACT_EXT': 0x800B, - 'CLIP_VOLUME_CLIPPING_HINT_EXT': 0x80F0, - 'CMYK_EXT': 0x800C, - 'CMYKA_EXT': 0x800D, - 'PACK_CMYK_HINT_EXT': 0x800E, - 'UNPACK_CMYK_HINT_EXT': 0x800F, - 'ARRAY_ELEMENT_LOCK_FIRST_EXT': 0x81A8, - 'ARRAY_ELEMENT_LOCK_COUNT_EXT': 0x81A9, - 'CONVOLUTION_1D_EXT': 0x8010, - 'CONVOLUTION_2D_EXT': 0x8011, - 'SEPARABLE_2D_EXT': 0x8012, - 'CONVOLUTION_BORDER_MODE_EXT': 0x8013, - 'CONVOLUTION_FILTER_SCALE_EXT': 0x8014, - 'CONVOLUTION_FILTER_BIAS_EXT': 0x8015, - 'REDUCE_EXT': 0x8016, - 'CONVOLUTION_FORMAT_EXT': 0x8017, - 'CONVOLUTION_WIDTH_EXT': 0x8018, - 'CONVOLUTION_HEIGHT_EXT': 0x8019, - 'MAX_CONVOLUTION_WIDTH_EXT': 0x801A, - 'MAX_CONVOLUTION_HEIGHT_EXT': 0x801B, - 'POST_CONVOLUTION_RED_SCALE_EXT': 0x801C, - 'POST_CONVOLUTION_GREEN_SCALE_EXT': 0x801D, - 'POST_CONVOLUTION_BLUE_SCALE_EXT': 0x801E, - 'POST_CONVOLUTION_ALPHA_SCALE_EXT': 0x801F, - 'POST_CONVOLUTION_RED_BIAS_EXT': 0x8020, - 'POST_CONVOLUTION_GREEN_BIAS_EXT': 0x8021, - 'POST_CONVOLUTION_BLUE_BIAS_EXT': 0x8022, - 'POST_CONVOLUTION_ALPHA_BIAS_EXT': 0x8023, - 'TANGENT_ARRAY_EXT': 0x8439, - 'BINORMAL_ARRAY_EXT': 0x843A, - 'CURRENT_TANGENT_EXT': 0x843B, - 'CURRENT_BINORMAL_EXT': 0x843C, - 'TANGENT_ARRAY_TYPE_EXT': 0x843E, - 'TANGENT_ARRAY_STRIDE_EXT': 0x843F, - 'BINORMAL_ARRAY_TYPE_EXT': 0x8440, - 'BINORMAL_ARRAY_STRIDE_EXT': 0x8441, - 'TANGENT_ARRAY_POINTER_EXT': 0x8442, - 'BINORMAL_ARRAY_POINTER_EXT': 0x8443, - 'MAP1_TANGENT_EXT': 0x8444, - 'MAP2_TANGENT_EXT': 0x8445, - 'MAP1_BINORMAL_EXT': 0x8446, - 'MAP2_BINORMAL_EXT': 0x8447, - 'DEPTH_BOUNDS_TEST_EXT': 0x8890, - 'DEPTH_BOUNDS_EXT': 0x8891, - 'PROGRAM_MATRIX_EXT': 0x8E2D, - 'TRANSPOSE_PROGRAM_MATRIX_EXT': 0x8E2E, - 'PROGRAM_MATRIX_STACK_DEPTH_EXT': 0x8E2F, - 'MAX_ELEMENTS_VERTICES': 0x80E8, - 'MAX_ELEMENTS_INDICES': 0x80E9, - 'FOG_COORDINATE_SOURCE_EXT': 0x8450, - 'FOG_COORDINATE_EXT': 0x8451, - 'FRAGMENT_DEPTH_EXT': 0x8452, - 'CURRENT_FOG_COORDINATE_EXT': 0x8453, - 'FOG_COORDINATE_ARRAY_TYPE_EXT': 0x8454, - 'FOG_COORDINATE_ARRAY_STRIDE_EXT': 0x8455, - 'FOG_COORDINATE_ARRAY_POINTER_EXT': 0x8456, - 'FOG_COORDINATE_ARRAY_EXT': 0x8457, - 'FRAGMENT_LIGHTING_EXT': 0x8400, - 'FRAGMENT_COLOR_MATERIAL_EXT': 0x8401, - 'FRAGMENT_COLOR_MATERIAL_FACE_EXT': 0x8402, - 'FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT': 0x8403, - 'MAX_FRAGMENT_LIGHTS_EXT': 0x8404, - 'MAX_ACTIVE_LIGHTS_EXT': 0x8405, - 'CURRENT_RASTER_NORMAL_EXT': 0x8406, - 'LIGHT_ENV_MODE_EXT': 0x8407, - 'FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT': 0x8408, - 'FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT': 0x8409, - 'FRAGMENT_LIGHT_MODEL_AMBIENT_EXT': 0x840A, - 'FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT': 0x840B, - 'FRAGMENT_LIGHT0_EXT': 0x840C, - 'FRAGMENT_LIGHT7_EXT': 0x8413, - 'DRAW_FRAMEBUFFER_BINDING_EXT': 0x8CA6, - 'READ_FRAMEBUFFER_EXT': 0x8CA8, - 'DRAW_FRAMEBUFFER_EXT': 0x8CA9, - 'READ_FRAMEBUFFER_BINDING_EXT': 0x8CAA, - 'RENDERBUFFER_SAMPLES_EXT': 0x8CAB, - 'FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT': 0x8D56, - 'MAX_SAMPLES_EXT': 0x8D57, - 'INVALID_FRAMEBUFFER_OPERATION_EXT': 0x0506, - 'MAX_RENDERBUFFER_SIZE_EXT': 0x84E8, - 'FRAMEBUFFER_BINDING_EXT': 0x8CA6, - 'RENDERBUFFER_BINDING_EXT': 0x8CA7, - 'FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT': 0x8CD0, - 'FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT': 0x8CD1, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT': 0x8CD2, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT': 0x8CD3, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT': 0x8CD4, - 'FRAMEBUFFER_COMPLETE_EXT': 0x8CD5, - 'FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT': 0x8CD6, - 'FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT': 0x8CD7, - 'FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT': 0x8CD9, - 'FRAMEBUFFER_INCOMPLETE_FORMATS_EXT': 0x8CDA, - 'FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT': 0x8CDB, - 'FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT': 0x8CDC, - 'FRAMEBUFFER_UNSUPPORTED_EXT': 0x8CDD, - 'MAX_COLOR_ATTACHMENTS_EXT': 0x8CDF, - 'COLOR_ATTACHMENT0_EXT': 0x8CE0, - 'COLOR_ATTACHMENT1_EXT': 0x8CE1, - 'COLOR_ATTACHMENT2_EXT': 0x8CE2, - 'COLOR_ATTACHMENT3_EXT': 0x8CE3, - 'COLOR_ATTACHMENT4_EXT': 0x8CE4, - 'COLOR_ATTACHMENT5_EXT': 0x8CE5, - 'COLOR_ATTACHMENT6_EXT': 0x8CE6, - 'COLOR_ATTACHMENT7_EXT': 0x8CE7, - 'COLOR_ATTACHMENT8_EXT': 0x8CE8, - 'COLOR_ATTACHMENT9_EXT': 0x8CE9, - 'COLOR_ATTACHMENT10_EXT': 0x8CEA, - 'COLOR_ATTACHMENT11_EXT': 0x8CEB, - 'COLOR_ATTACHMENT12_EXT': 0x8CEC, - 'COLOR_ATTACHMENT13_EXT': 0x8CED, - 'COLOR_ATTACHMENT14_EXT': 0x8CEE, - 'COLOR_ATTACHMENT15_EXT': 0x8CEF, - 'DEPTH_ATTACHMENT_EXT': 0x8D00, - 'STENCIL_ATTACHMENT_EXT': 0x8D20, - 'FRAMEBUFFER_EXT': 0x8D40, - 'RENDERBUFFER_EXT': 0x8D41, - 'RENDERBUFFER_WIDTH_EXT': 0x8D42, - 'RENDERBUFFER_HEIGHT_EXT': 0x8D43, - 'RENDERBUFFER_INTERNAL_FORMAT_EXT': 0x8D44, - 'STENCIL_INDEX1_EXT': 0x8D46, - 'STENCIL_INDEX4_EXT': 0x8D47, - 'STENCIL_INDEX8_EXT': 0x8D48, - 'STENCIL_INDEX16_EXT': 0x8D49, - 'RENDERBUFFER_RED_SIZE_EXT': 0x8D50, - 'RENDERBUFFER_GREEN_SIZE_EXT': 0x8D51, - 'RENDERBUFFER_BLUE_SIZE_EXT': 0x8D52, - 'RENDERBUFFER_ALPHA_SIZE_EXT': 0x8D53, - 'RENDERBUFFER_DEPTH_SIZE_EXT': 0x8D54, - 'RENDERBUFFER_STENCIL_SIZE_EXT': 0x8D55, - 'FRAMEBUFFER_SRGB_EXT': 0x8DB9, - 'FRAMEBUFFER_SRGB_CAPABLE_EXT': 0x8DBA, - 'LINES_ADJACENCY_EXT': 0xA, - 'LINE_STRIP_ADJACENCY_EXT': 0xB, - 'TRIANGLES_ADJACENCY_EXT': 0xC, - 'TRIANGLE_STRIP_ADJACENCY_EXT': 0xD, - 'PROGRAM_POINT_SIZE_EXT': 0x8642, - 'MAX_VARYING_COMPONENTS_EXT': 0x8B4B, - 'MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT': 0x8C29, - 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT': 0x8CD4, - 'FRAMEBUFFER_ATTACHMENT_LAYERED_EXT': 0x8DA7, - 'FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT': 0x8DA8, - 'FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT': 0x8DA9, - 'GEOMETRY_SHADER_EXT': 0x8DD9, - 'GEOMETRY_VERTICES_OUT_EXT': 0x8DDA, - 'GEOMETRY_INPUT_TYPE_EXT': 0x8DDB, - 'GEOMETRY_OUTPUT_TYPE_EXT': 0x8DDC, - 'MAX_GEOMETRY_VARYING_COMPONENTS_EXT': 0x8DDD, - 'MAX_VERTEX_VARYING_COMPONENTS_EXT': 0x8DDE, - 'MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT': 0x8DDF, - 'MAX_GEOMETRY_OUTPUT_VERTICES_EXT': 0x8DE0, - 'MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT': 0x8DE1, - 'VERTEX_ATTRIB_ARRAY_INTEGER_EXT': 0x88FD, - 'SAMPLER_1D_ARRAY_EXT': 0x8DC0, - 'SAMPLER_2D_ARRAY_EXT': 0x8DC1, - 'SAMPLER_BUFFER_EXT': 0x8DC2, - 'SAMPLER_1D_ARRAY_SHADOW_EXT': 0x8DC3, - 'SAMPLER_2D_ARRAY_SHADOW_EXT': 0x8DC4, - 'SAMPLER_CUBE_SHADOW_EXT': 0x8DC5, - 'UNSIGNED_INT_VEC2_EXT': 0x8DC6, - 'UNSIGNED_INT_VEC3_EXT': 0x8DC7, - 'UNSIGNED_INT_VEC4_EXT': 0x8DC8, - 'INT_SAMPLER_1D_EXT': 0x8DC9, - 'INT_SAMPLER_2D_EXT': 0x8DCA, - 'INT_SAMPLER_3D_EXT': 0x8DCB, - 'INT_SAMPLER_CUBE_EXT': 0x8DCC, - 'INT_SAMPLER_2D_RECT_EXT': 0x8DCD, - 'INT_SAMPLER_1D_ARRAY_EXT': 0x8DCE, - 'INT_SAMPLER_2D_ARRAY_EXT': 0x8DCF, - 'INT_SAMPLER_BUFFER_EXT': 0x8DD0, - 'UNSIGNED_INT_SAMPLER_1D_EXT': 0x8DD1, - 'UNSIGNED_INT_SAMPLER_2D_EXT': 0x8DD2, - 'UNSIGNED_INT_SAMPLER_3D_EXT': 0x8DD3, - 'UNSIGNED_INT_SAMPLER_CUBE_EXT': 0x8DD4, - 'UNSIGNED_INT_SAMPLER_2D_RECT_EXT': 0x8DD5, - 'UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT': 0x8DD6, - 'UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT': 0x8DD7, - 'UNSIGNED_INT_SAMPLER_BUFFER_EXT': 0x8DD8, - 'HISTOGRAM_EXT': 0x8024, - 'PROXY_HISTOGRAM_EXT': 0x8025, - 'HISTOGRAM_WIDTH_EXT': 0x8026, - 'HISTOGRAM_FORMAT_EXT': 0x8027, - 'HISTOGRAM_RED_SIZE_EXT': 0x8028, - 'HISTOGRAM_GREEN_SIZE_EXT': 0x8029, - 'HISTOGRAM_BLUE_SIZE_EXT': 0x802A, - 'HISTOGRAM_ALPHA_SIZE_EXT': 0x802B, - 'HISTOGRAM_LUMINANCE_SIZE_EXT': 0x802C, - 'HISTOGRAM_SINK_EXT': 0x802D, - 'MINMAX_EXT': 0x802E, - 'MINMAX_FORMAT_EXT': 0x802F, - 'MINMAX_SINK_EXT': 0x8030, - 'FRAGMENT_MATERIAL_EXT': 0x8349, - 'FRAGMENT_NORMAL_EXT': 0x834A, - 'FRAGMENT_COLOR_EXT': 0x834C, - 'ATTENUATION_EXT': 0x834D, - 'SHADOW_ATTENUATION_EXT': 0x834E, - 'TEXTURE_APPLICATION_MODE_EXT': 0x834F, - 'TEXTURE_LIGHT_EXT': 0x8350, - 'TEXTURE_MATERIAL_FACE_EXT': 0x8351, - 'TEXTURE_MATERIAL_PARAMETER_EXT': 0x8352, - 'FRAGMENT_DEPTH_EXT': 0x8452, - 'MULTISAMPLE_EXT': 0x809D, - 'SAMPLE_ALPHA_TO_MASK_EXT': 0x809E, - 'SAMPLE_ALPHA_TO_ONE_EXT': 0x809F, - 'SAMPLE_MASK_EXT': 0x80A0, - '1PASS_EXT': 0x80A1, - '2PASS_0_EXT': 0x80A2, - '2PASS_1_EXT': 0x80A3, - '4PASS_0_EXT': 0x80A4, - '4PASS_1_EXT': 0x80A5, - '4PASS_2_EXT': 0x80A6, - '4PASS_3_EXT': 0x80A7, - 'SAMPLE_BUFFERS_EXT': 0x80A8, - 'SAMPLES_EXT': 0x80A9, - 'SAMPLE_MASK_VALUE_EXT': 0x80AA, - 'SAMPLE_MASK_INVERT_EXT': 0x80AB, - 'SAMPLE_PATTERN_EXT': 0x80AC, - 'MULTISAMPLE_BIT_EXT': 0x20000000, - 'DEPTH_STENCIL_EXT': 0x84F9, - 'UNSIGNED_INT_24_8_EXT': 0x84FA, - 'DEPTH24_STENCIL8_EXT': 0x88F0, - 'TEXTURE_STENCIL_SIZE_EXT': 0x88F1, - 'R11F_G11F_B10F_EXT': 0x8C3A, - 'UNSIGNED_INT_10F_11F_11F_REV_EXT': 0x8C3B, - 'RGBA_SIGNED_COMPONENTS_EXT': 0x8C3C, - 'UNSIGNED_BYTE_3_3_2_EXT': 0x8032, - 'UNSIGNED_SHORT_4_4_4_4_EXT': 0x8033, - 'UNSIGNED_SHORT_5_5_5_1_EXT': 0x8034, - 'UNSIGNED_INT_8_8_8_8_EXT': 0x8035, - 'UNSIGNED_INT_10_10_10_2_EXT': 0x8036, - 'TEXTURE_1D': 0x0DE0, - 'TEXTURE_2D': 0x0DE1, - 'PROXY_TEXTURE_1D': 0x8063, - 'PROXY_TEXTURE_2D': 0x8064, - 'TEXTURE_3D_EXT': 0x806F, - 'PROXY_TEXTURE_3D_EXT': 0x8070, - 'COLOR_TABLE_FORMAT_EXT': 0x80D8, - 'COLOR_TABLE_WIDTH_EXT': 0x80D9, - 'COLOR_TABLE_RED_SIZE_EXT': 0x80DA, - 'COLOR_TABLE_GREEN_SIZE_EXT': 0x80DB, - 'COLOR_TABLE_BLUE_SIZE_EXT': 0x80DC, - 'COLOR_TABLE_ALPHA_SIZE_EXT': 0x80DD, - 'COLOR_TABLE_LUMINANCE_SIZE_EXT': 0x80DE, - 'COLOR_TABLE_INTENSITY_SIZE_EXT': 0x80DF, - 'COLOR_INDEX1_EXT': 0x80E2, - 'COLOR_INDEX2_EXT': 0x80E3, - 'COLOR_INDEX4_EXT': 0x80E4, - 'COLOR_INDEX8_EXT': 0x80E5, - 'COLOR_INDEX12_EXT': 0x80E6, - 'COLOR_INDEX16_EXT': 0x80E7, - 'TEXTURE_INDEX_SIZE_EXT': 0x80ED, - 'TEXTURE_CUBE_MAP_ARB': 0x8513, - 'PROXY_TEXTURE_CUBE_MAP_ARB': 0x851B, - 'PIXEL_PACK_BUFFER_EXT': 0x88EB, - 'PIXEL_UNPACK_BUFFER_EXT': 0x88EC, - 'PIXEL_PACK_BUFFER_BINDING_EXT': 0x88ED, - 'PIXEL_UNPACK_BUFFER_BINDING_EXT': 0x88EF, - 'PIXEL_TRANSFORM_2D_EXT': 0x8330, - 'PIXEL_MAG_FILTER_EXT': 0x8331, - 'PIXEL_MIN_FILTER_EXT': 0x8332, - 'PIXEL_CUBIC_WEIGHT_EXT': 0x8333, - 'CUBIC_EXT': 0x8334, - 'AVERAGE_EXT': 0x8335, - 'PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT': 0x8336, - 'MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT': 0x8337, - 'PIXEL_TRANSFORM_2D_MATRIX_EXT': 0x8338, - 'POINT_SIZE_MIN_EXT': 0x8126, - 'POINT_SIZE_MAX_EXT': 0x8127, - 'POINT_FADE_THRESHOLD_SIZE_EXT': 0x8128, - 'DISTANCE_ATTENUATION_EXT': 0x8129, - 'POLYGON_OFFSET_EXT': 0x8037, - 'POLYGON_OFFSET_FACTOR_EXT': 0x8038, - 'POLYGON_OFFSET_BIAS_EXT': 0x8039, - 'RESCALE_NORMAL_EXT': 0x803A, - 'COLOR_SUM_EXT': 0x8458, - 'CURRENT_SECONDARY_COLOR_EXT': 0x8459, - 'SECONDARY_COLOR_ARRAY_SIZE_EXT': 0x845A, - 'SECONDARY_COLOR_ARRAY_TYPE_EXT': 0x845B, - 'SECONDARY_COLOR_ARRAY_STRIDE_EXT': 0x845C, - 'SECONDARY_COLOR_ARRAY_POINTER_EXT': 0x845D, - 'SECONDARY_COLOR_ARRAY_EXT': 0x845E, - 'LIGHT_MODEL_COLOR_CONTROL_EXT': 0x81F8, - 'SINGLE_COLOR_EXT': 0x81F9, - 'SEPARATE_SPECULAR_COLOR_EXT': 0x81FA, - 'SHARED_TEXTURE_PALETTE_EXT': 0x81FB, - 'STENCIL_TAG_BITS_EXT': 0x88F2, - 'STENCIL_CLEAR_TAG_VALUE_EXT': 0x88F3, - 'STENCIL_TEST_TWO_SIDE_EXT': 0x8910, - 'ACTIVE_STENCIL_FACE_EXT': 0x8911, - 'INCR_WRAP_EXT': 0x8507, - 'DECR_WRAP_EXT': 0x8508, - 'ALPHA4_EXT': 0x803B, - 'ALPHA8_EXT': 0x803C, - 'ALPHA12_EXT': 0x803D, - 'ALPHA16_EXT': 0x803E, - 'LUMINANCE4_EXT': 0x803F, - 'LUMINANCE8_EXT': 0x8040, - 'LUMINANCE12_EXT': 0x8041, - 'LUMINANCE16_EXT': 0x8042, - 'LUMINANCE4_ALPHA4_EXT': 0x8043, - 'LUMINANCE6_ALPHA2_EXT': 0x8044, - 'LUMINANCE8_ALPHA8_EXT': 0x8045, - 'LUMINANCE12_ALPHA4_EXT': 0x8046, - 'LUMINANCE12_ALPHA12_EXT': 0x8047, - 'LUMINANCE16_ALPHA16_EXT': 0x8048, - 'INTENSITY_EXT': 0x8049, - 'INTENSITY4_EXT': 0x804A, - 'INTENSITY8_EXT': 0x804B, - 'INTENSITY12_EXT': 0x804C, - 'INTENSITY16_EXT': 0x804D, - 'RGB2_EXT': 0x804E, - 'RGB4_EXT': 0x804F, - 'RGB5_EXT': 0x8050, - 'RGB8_EXT': 0x8051, - 'RGB10_EXT': 0x8052, - 'RGB12_EXT': 0x8053, - 'RGB16_EXT': 0x8054, - 'RGBA2_EXT': 0x8055, - 'RGBA4_EXT': 0x8056, - 'RGB5_A1_EXT': 0x8057, - 'RGBA8_EXT': 0x8058, - 'RGB10_A2_EXT': 0x8059, - 'RGBA12_EXT': 0x805A, - 'RGBA16_EXT': 0x805B, - 'TEXTURE_RED_SIZE_EXT': 0x805C, - 'TEXTURE_GREEN_SIZE_EXT': 0x805D, - 'TEXTURE_BLUE_SIZE_EXT': 0x805E, - 'TEXTURE_ALPHA_SIZE_EXT': 0x805F, - 'TEXTURE_LUMINANCE_SIZE_EXT': 0x8060, - 'TEXTURE_INTENSITY_SIZE_EXT': 0x8061, - 'REPLACE_EXT': 0x8062, - 'PROXY_TEXTURE_1D_EXT': 0x8063, - 'PROXY_TEXTURE_2D_EXT': 0x8064, - 'PACK_SKIP_IMAGES_EXT': 0x806B, - 'PACK_IMAGE_HEIGHT_EXT': 0x806C, - 'UNPACK_SKIP_IMAGES_EXT': 0x806D, - 'UNPACK_IMAGE_HEIGHT_EXT': 0x806E, - 'TEXTURE_3D_EXT': 0x806F, - 'PROXY_TEXTURE_3D_EXT': 0x8070, - 'TEXTURE_DEPTH_EXT': 0x8071, - 'TEXTURE_WRAP_R_EXT': 0x8072, - 'MAX_3D_TEXTURE_SIZE_EXT': 0x8073, - 'COMPARE_REF_DEPTH_TO_TEXTURE_EXT': 0x884E, - 'MAX_ARRAY_TEXTURE_LAYERS_EXT': 0x88FF, - 'TEXTURE_1D_ARRAY_EXT': 0x8C18, - 'PROXY_TEXTURE_1D_ARRAY_EXT': 0x8C19, - 'TEXTURE_2D_ARRAY_EXT': 0x8C1A, - 'PROXY_TEXTURE_2D_ARRAY_EXT': 0x8C1B, - 'TEXTURE_BINDING_1D_ARRAY_EXT': 0x8C1C, - 'TEXTURE_BINDING_2D_ARRAY_EXT': 0x8C1D, - 'TEXTURE_BUFFER_EXT': 0x8C2A, - 'MAX_TEXTURE_BUFFER_SIZE_EXT': 0x8C2B, - 'TEXTURE_BINDING_BUFFER_EXT': 0x8C2C, - 'TEXTURE_BUFFER_DATA_STORE_BINDING_EXT': 0x8C2D, - 'TEXTURE_BUFFER_FORMAT_EXT': 0x8C2E, - 'COMPRESSED_RGB_S3TC_DXT1_EXT': 0x83F0, - 'COMPRESSED_RGBA_S3TC_DXT1_EXT': 0x83F1, - 'COMPRESSED_LUMINANCE_LATC1_EXT': 0x8C70, - 'COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT': 0x8C71, - 'COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT': 0x8C72, - 'COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT': 0x8C73, - 'COMPRESSED_RED_RGTC1_EXT': 0x8DBB, - 'COMPRESSED_SIGNED_RED_RGTC1_EXT': 0x8DBC, - 'COMPRESSED_RED_GREEN_RGTC2_EXT': 0x8DBD, - 'COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT': 0x8DBE, - 'COMPRESSED_RGB_S3TC_DXT1_EXT': 0x83F0, - 'COMPRESSED_RGBA_S3TC_DXT1_EXT': 0x83F1, - 'COMPRESSED_RGBA_S3TC_DXT3_EXT': 0x83F2, - 'COMPRESSED_RGBA_S3TC_DXT5_EXT': 0x83F3, - 'NORMAL_MAP_EXT': 0x8511, - 'REFLECTION_MAP_EXT': 0x8512, - 'TEXTURE_CUBE_MAP_EXT': 0x8513, - 'TEXTURE_BINDING_CUBE_MAP_EXT': 0x8514, - 'TEXTURE_CUBE_MAP_POSITIVE_X_EXT': 0x8515, - 'TEXTURE_CUBE_MAP_NEGATIVE_X_EXT': 0x8516, - 'TEXTURE_CUBE_MAP_POSITIVE_Y_EXT': 0x8517, - 'TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT': 0x8518, - 'TEXTURE_CUBE_MAP_POSITIVE_Z_EXT': 0x8519, - 'TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT': 0x851A, - 'PROXY_TEXTURE_CUBE_MAP_EXT': 0x851B, - 'MAX_CUBE_MAP_TEXTURE_SIZE_EXT': 0x851C, - 'CLAMP_TO_EDGE_EXT': 0x812F, - 'COMBINE_EXT': 0x8570, - 'COMBINE_RGB_EXT': 0x8571, - 'COMBINE_ALPHA_EXT': 0x8572, - 'RGB_SCALE_EXT': 0x8573, - 'ADD_SIGNED_EXT': 0x8574, - 'INTERPOLATE_EXT': 0x8575, - 'CONSTANT_EXT': 0x8576, - 'PRIMARY_COLOR_EXT': 0x8577, - 'PREVIOUS_EXT': 0x8578, - 'SOURCE0_RGB_EXT': 0x8580, - 'SOURCE1_RGB_EXT': 0x8581, - 'SOURCE2_RGB_EXT': 0x8582, - 'SOURCE0_ALPHA_EXT': 0x8588, - 'SOURCE1_ALPHA_EXT': 0x8589, - 'SOURCE2_ALPHA_EXT': 0x858A, - 'OPERAND0_RGB_EXT': 0x8590, - 'OPERAND1_RGB_EXT': 0x8591, - 'OPERAND2_RGB_EXT': 0x8592, - 'OPERAND0_ALPHA_EXT': 0x8598, - 'OPERAND1_ALPHA_EXT': 0x8599, - 'OPERAND2_ALPHA_EXT': 0x859A, - 'DOT3_RGB_EXT': 0x8740, - 'DOT3_RGBA_EXT': 0x8741, - 'TEXTURE_MAX_ANISOTROPY_EXT': 0x84FE, - 'MAX_TEXTURE_MAX_ANISOTROPY_EXT': 0x84FF, - 'RGBA32UI_EXT': 0x8D70, - 'RGB32UI_EXT': 0x8D71, - 'ALPHA32UI_EXT': 0x8D72, - 'INTENSITY32UI_EXT': 0x8D73, - 'LUMINANCE32UI_EXT': 0x8D74, - 'LUMINANCE_ALPHA32UI_EXT': 0x8D75, - 'RGBA16UI_EXT': 0x8D76, - 'RGB16UI_EXT': 0x8D77, - 'ALPHA16UI_EXT': 0x8D78, - 'INTENSITY16UI_EXT': 0x8D79, - 'LUMINANCE16UI_EXT': 0x8D7A, - 'LUMINANCE_ALPHA16UI_EXT': 0x8D7B, - 'RGBA8UI_EXT': 0x8D7C, - 'RGB8UI_EXT': 0x8D7D, - 'ALPHA8UI_EXT': 0x8D7E, - 'INTENSITY8UI_EXT': 0x8D7F, - 'LUMINANCE8UI_EXT': 0x8D80, - 'LUMINANCE_ALPHA8UI_EXT': 0x8D81, - 'RGBA32I_EXT': 0x8D82, - 'RGB32I_EXT': 0x8D83, - 'ALPHA32I_EXT': 0x8D84, - 'INTENSITY32I_EXT': 0x8D85, - 'LUMINANCE32I_EXT': 0x8D86, - 'LUMINANCE_ALPHA32I_EXT': 0x8D87, - 'RGBA16I_EXT': 0x8D88, - 'RGB16I_EXT': 0x8D89, - 'ALPHA16I_EXT': 0x8D8A, - 'INTENSITY16I_EXT': 0x8D8B, - 'LUMINANCE16I_EXT': 0x8D8C, - 'LUMINANCE_ALPHA16I_EXT': 0x8D8D, - 'RGBA8I_EXT': 0x8D8E, - 'RGB8I_EXT': 0x8D8F, - 'ALPHA8I_EXT': 0x8D90, - 'INTENSITY8I_EXT': 0x8D91, - 'LUMINANCE8I_EXT': 0x8D92, - 'LUMINANCE_ALPHA8I_EXT': 0x8D93, - 'RED_INTEGER_EXT': 0x8D94, - 'GREEN_INTEGER_EXT': 0x8D95, - 'BLUE_INTEGER_EXT': 0x8D96, - 'ALPHA_INTEGER_EXT': 0x8D97, - 'RGB_INTEGER_EXT': 0x8D98, - 'RGBA_INTEGER_EXT': 0x8D99, - 'BGR_INTEGER_EXT': 0x8D9A, - 'BGRA_INTEGER_EXT': 0x8D9B, - 'LUMINANCE_INTEGER_EXT': 0x8D9C, - 'LUMINANCE_ALPHA_INTEGER_EXT': 0x8D9D, - 'RGBA_INTEGER_MODE_EXT': 0x8D9E, - 'MAX_TEXTURE_LOD_BIAS_EXT': 0x84FD, - 'TEXTURE_FILTER_CONTROL_EXT': 0x8500, - 'TEXTURE_LOD_BIAS_EXT': 0x8501, - 'MIRROR_CLAMP_EXT': 0x8742, - 'MIRROR_CLAMP_TO_EDGE_EXT': 0x8743, - 'MIRROR_CLAMP_TO_BORDER_EXT': 0x8912, - 'TEXTURE_PRIORITY_EXT': 0x8066, - 'TEXTURE_RESIDENT_EXT': 0x8067, - 'TEXTURE_1D_BINDING_EXT': 0x8068, - 'TEXTURE_2D_BINDING_EXT': 0x8069, - 'TEXTURE_3D_BINDING_EXT': 0x806A, - 'PERTURB_EXT': 0x85AE, - 'TEXTURE_NORMAL_EXT': 0x85AF, - 'TEXTURE_RECTANGLE_EXT': 0x84F5, - 'TEXTURE_BINDING_RECTANGLE_EXT': 0x84F6, - 'PROXY_TEXTURE_RECTANGLE_EXT': 0x84F7, - 'MAX_RECTANGLE_TEXTURE_SIZE_EXT': 0x84F8, - 'SRGB_EXT': 0x8C40, - 'SRGB8_EXT': 0x8C41, - 'SRGB_ALPHA_EXT': 0x8C42, - 'SRGB8_ALPHA8_EXT': 0x8C43, - 'SLUMINANCE_ALPHA_EXT': 0x8C44, - 'SLUMINANCE8_ALPHA8_EXT': 0x8C45, - 'SLUMINANCE_EXT': 0x8C46, - 'SLUMINANCE8_EXT': 0x8C47, - 'COMPRESSED_SRGB_EXT': 0x8C48, - 'COMPRESSED_SRGB_ALPHA_EXT': 0x8C49, - 'COMPRESSED_SLUMINANCE_EXT': 0x8C4A, - 'COMPRESSED_SLUMINANCE_ALPHA_EXT': 0x8C4B, - 'COMPRESSED_SRGB_S3TC_DXT1_EXT': 0x8C4C, - 'COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT': 0x8C4D, - 'COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT': 0x8C4E, - 'COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT': 0x8C4F, - 'RGB9_E5_EXT': 0x8C3D, - 'UNSIGNED_INT_5_9_9_9_REV_EXT': 0x8C3E, - 'TEXTURE_SHARED_SIZE_EXT': 0x8C3F, - 'TEXTURE_SWIZZLE_R_EXT': 0x8E42, - 'TEXTURE_SWIZZLE_G_EXT': 0x8E43, - 'TEXTURE_SWIZZLE_B_EXT': 0x8E44, - 'TEXTURE_SWIZZLE_A_EXT': 0x8E45, - 'TEXTURE_SWIZZLE_RGBA_EXT': 0x8E46, - 'TIME_ELAPSED_EXT': 0x88BF, - 'TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT': 0x8C76, - 'TRANSFORM_FEEDBACK_BUFFER_MODE_EXT': 0x8C7F, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT': 0x8C80, - 'TRANSFORM_FEEDBACK_VARYINGS_EXT': 0x8C83, - 'TRANSFORM_FEEDBACK_BUFFER_START_EXT': 0x8C84, - 'TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT': 0x8C85, - 'PRIMITIVES_GENERATED_EXT': 0x8C87, - 'TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT': 0x8C88, - 'RASTERIZER_DISCARD_EXT': 0x8C89, - 'MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT': 0x8C8A, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT': 0x8C8B, - 'INTERLEAVED_ATTRIBS_EXT': 0x8C8C, - 'SEPARATE_ATTRIBS_EXT': 0x8C8D, - 'TRANSFORM_FEEDBACK_BUFFER_EXT': 0x8C8E, - 'TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT': 0x8C8F, - 'DOUBLE_EXT': 0x140A, - 'VERTEX_ARRAY_EXT': 0x8074, - 'NORMAL_ARRAY_EXT': 0x8075, - 'COLOR_ARRAY_EXT': 0x8076, - 'INDEX_ARRAY_EXT': 0x8077, - 'TEXTURE_COORD_ARRAY_EXT': 0x8078, - 'EDGE_FLAG_ARRAY_EXT': 0x8079, - 'VERTEX_ARRAY_SIZE_EXT': 0x807A, - 'VERTEX_ARRAY_TYPE_EXT': 0x807B, - 'VERTEX_ARRAY_STRIDE_EXT': 0x807C, - 'VERTEX_ARRAY_COUNT_EXT': 0x807D, - 'NORMAL_ARRAY_TYPE_EXT': 0x807E, - 'NORMAL_ARRAY_STRIDE_EXT': 0x807F, - 'NORMAL_ARRAY_COUNT_EXT': 0x8080, - 'COLOR_ARRAY_SIZE_EXT': 0x8081, - 'COLOR_ARRAY_TYPE_EXT': 0x8082, - 'COLOR_ARRAY_STRIDE_EXT': 0x8083, - 'COLOR_ARRAY_COUNT_EXT': 0x8084, - 'INDEX_ARRAY_TYPE_EXT': 0x8085, - 'INDEX_ARRAY_STRIDE_EXT': 0x8086, - 'INDEX_ARRAY_COUNT_EXT': 0x8087, - 'TEXTURE_COORD_ARRAY_SIZE_EXT': 0x8088, - 'TEXTURE_COORD_ARRAY_TYPE_EXT': 0x8089, - 'TEXTURE_COORD_ARRAY_STRIDE_EXT': 0x808A, - 'TEXTURE_COORD_ARRAY_COUNT_EXT': 0x808B, - 'EDGE_FLAG_ARRAY_STRIDE_EXT': 0x808C, - 'EDGE_FLAG_ARRAY_COUNT_EXT': 0x808D, - 'VERTEX_ARRAY_POINTER_EXT': 0x808E, - 'NORMAL_ARRAY_POINTER_EXT': 0x808F, - 'COLOR_ARRAY_POINTER_EXT': 0x8090, - 'INDEX_ARRAY_POINTER_EXT': 0x8091, - 'TEXTURE_COORD_ARRAY_POINTER_EXT': 0x8092, - 'EDGE_FLAG_ARRAY_POINTER_EXT': 0x8093, - 'BGRA': 0x80E1, - 'VERTEX_SHADER_EXT': 0x8780, - 'VERTEX_SHADER_BINDING_EXT': 0x8781, - 'OP_INDEX_EXT': 0x8782, - 'OP_NEGATE_EXT': 0x8783, - 'OP_DOT3_EXT': 0x8784, - 'OP_DOT4_EXT': 0x8785, - 'OP_MUL_EXT': 0x8786, - 'OP_ADD_EXT': 0x8787, - 'OP_MADD_EXT': 0x8788, - 'OP_FRAC_EXT': 0x8789, - 'OP_MAX_EXT': 0x878A, - 'OP_MIN_EXT': 0x878B, - 'OP_SET_GE_EXT': 0x878C, - 'OP_SET_LT_EXT': 0x878D, - 'OP_CLAMP_EXT': 0x878E, - 'OP_FLOOR_EXT': 0x878F, - 'OP_ROUND_EXT': 0x8790, - 'OP_EXP_BASE_2_EXT': 0x8791, - 'OP_LOG_BASE_2_EXT': 0x8792, - 'OP_POWER_EXT': 0x8793, - 'OP_RECIP_EXT': 0x8794, - 'OP_RECIP_SQRT_EXT': 0x8795, - 'OP_SUB_EXT': 0x8796, - 'OP_CROSS_PRODUCT_EXT': 0x8797, - 'OP_MULTIPLY_MATRIX_EXT': 0x8798, - 'OP_MOV_EXT': 0x8799, - 'OUTPUT_VERTEX_EXT': 0x879A, - 'OUTPUT_COLOR0_EXT': 0x879B, - 'OUTPUT_COLOR1_EXT': 0x879C, - 'OUTPUT_TEXTURE_COORD0_EXT': 0x879D, - 'OUTPUT_TEXTURE_COORD1_EXT': 0x879E, - 'OUTPUT_TEXTURE_COORD2_EXT': 0x879F, - 'OUTPUT_TEXTURE_COORD3_EXT': 0x87A0, - 'OUTPUT_TEXTURE_COORD4_EXT': 0x87A1, - 'OUTPUT_TEXTURE_COORD5_EXT': 0x87A2, - 'OUTPUT_TEXTURE_COORD6_EXT': 0x87A3, - 'OUTPUT_TEXTURE_COORD7_EXT': 0x87A4, - 'OUTPUT_TEXTURE_COORD8_EXT': 0x87A5, - 'OUTPUT_TEXTURE_COORD9_EXT': 0x87A6, - 'OUTPUT_TEXTURE_COORD10_EXT': 0x87A7, - 'OUTPUT_TEXTURE_COORD11_EXT': 0x87A8, - 'OUTPUT_TEXTURE_COORD12_EXT': 0x87A9, - 'OUTPUT_TEXTURE_COORD13_EXT': 0x87AA, - 'OUTPUT_TEXTURE_COORD14_EXT': 0x87AB, - 'OUTPUT_TEXTURE_COORD15_EXT': 0x87AC, - 'OUTPUT_TEXTURE_COORD16_EXT': 0x87AD, - 'OUTPUT_TEXTURE_COORD17_EXT': 0x87AE, - 'OUTPUT_TEXTURE_COORD18_EXT': 0x87AF, - 'OUTPUT_TEXTURE_COORD19_EXT': 0x87B0, - 'OUTPUT_TEXTURE_COORD20_EXT': 0x87B1, - 'OUTPUT_TEXTURE_COORD21_EXT': 0x87B2, - 'OUTPUT_TEXTURE_COORD22_EXT': 0x87B3, - 'OUTPUT_TEXTURE_COORD23_EXT': 0x87B4, - 'OUTPUT_TEXTURE_COORD24_EXT': 0x87B5, - 'OUTPUT_TEXTURE_COORD25_EXT': 0x87B6, - 'OUTPUT_TEXTURE_COORD26_EXT': 0x87B7, - 'OUTPUT_TEXTURE_COORD27_EXT': 0x87B8, - 'OUTPUT_TEXTURE_COORD28_EXT': 0x87B9, - 'OUTPUT_TEXTURE_COORD29_EXT': 0x87BA, - 'OUTPUT_TEXTURE_COORD30_EXT': 0x87BB, - 'OUTPUT_TEXTURE_COORD31_EXT': 0x87BC, - 'OUTPUT_FOG_EXT': 0x87BD, - 'SCALAR_EXT': 0x87BE, - 'VECTOR_EXT': 0x87BF, - 'MATRIX_EXT': 0x87C0, - 'VARIANT_EXT': 0x87C1, - 'INVARIANT_EXT': 0x87C2, - 'LOCAL_CONSTANT_EXT': 0x87C3, - 'LOCAL_EXT': 0x87C4, - 'MAX_VERTEX_SHADER_INSTRUCTIONS_EXT': 0x87C5, - 'MAX_VERTEX_SHADER_VARIANTS_EXT': 0x87C6, - 'MAX_VERTEX_SHADER_INVARIANTS_EXT': 0x87C7, - 'MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT': 0x87C8, - 'MAX_VERTEX_SHADER_LOCALS_EXT': 0x87C9, - 'MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT': 0x87CA, - 'MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT': 0x87CB, - 'MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT': 0x87CC, - 'MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT': 0x87CD, - 'MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT': 0x87CE, - 'VERTEX_SHADER_INSTRUCTIONS_EXT': 0x87CF, - 'VERTEX_SHADER_VARIANTS_EXT': 0x87D0, - 'VERTEX_SHADER_INVARIANTS_EXT': 0x87D1, - 'VERTEX_SHADER_LOCAL_CONSTANTS_EXT': 0x87D2, - 'VERTEX_SHADER_LOCALS_EXT': 0x87D3, - 'VERTEX_SHADER_OPTIMIZED_EXT': 0x87D4, - 'X_EXT': 0x87D5, - 'Y_EXT': 0x87D6, - 'Z_EXT': 0x87D7, - 'W_EXT': 0x87D8, - 'NEGATIVE_X_EXT': 0x87D9, - 'NEGATIVE_Y_EXT': 0x87DA, - 'NEGATIVE_Z_EXT': 0x87DB, - 'NEGATIVE_W_EXT': 0x87DC, - 'ZERO_EXT': 0x87DD, - 'ONE_EXT': 0x87DE, - 'NEGATIVE_ONE_EXT': 0x87DF, - 'NORMALIZED_RANGE_EXT': 0x87E0, - 'FULL_RANGE_EXT': 0x87E1, - 'CURRENT_VERTEX_EXT': 0x87E2, - 'MVP_MATRIX_EXT': 0x87E3, - 'VARIANT_VALUE_EXT': 0x87E4, - 'VARIANT_DATATYPE_EXT': 0x87E5, - 'VARIANT_ARRAY_STRIDE_EXT': 0x87E6, - 'VARIANT_ARRAY_TYPE_EXT': 0x87E7, - 'VARIANT_ARRAY_EXT': 0x87E8, - 'VARIANT_ARRAY_POINTER_EXT': 0x87E9, - 'INVARIANT_VALUE_EXT': 0x87EA, - 'INVARIANT_DATATYPE_EXT': 0x87EB, - 'LOCAL_CONSTANT_VALUE_EXT': 0x87EC, - 'LOCAL_CONSTANT_DATATYPE_EXT': 0x87ED, - 'MODELVIEW0_STACK_DEPTH_EXT': 0x0BA3, - 'MODELVIEW0_MATRIX_EXT': 0x0BA6, - 'MODELVIEW0_EXT': 0x1700, - 'MODELVIEW1_STACK_DEPTH_EXT': 0x8502, - 'MODELVIEW1_MATRIX_EXT': 0x8506, - 'VERTEX_WEIGHTING_EXT': 0x8509, - 'MODELVIEW1_EXT': 0x850A, - 'CURRENT_VERTEX_WEIGHT_EXT': 0x850B, - 'VERTEX_WEIGHT_ARRAY_EXT': 0x850C, - 'VERTEX_WEIGHT_ARRAY_SIZE_EXT': 0x850D, - 'VERTEX_WEIGHT_ARRAY_TYPE_EXT': 0x850E, - 'VERTEX_WEIGHT_ARRAY_STRIDE_EXT': 0x850F, - 'VERTEX_WEIGHT_ARRAY_POINTER_EXT': 0x8510, - 'OCCLUSION_TEST_HP': 0x8165, - 'OCCLUSION_TEST_RESULT_HP': 0x8166, - 'MIRRORED_REPEAT_IBM': 0x8370, - 'RED_MIN_CLAMP_INGR': 0x8560, - 'GREEN_MIN_CLAMP_INGR': 0x8561, - 'BLUE_MIN_CLAMP_INGR': 0x8562, - 'ALPHA_MIN_CLAMP_INGR': 0x8563, - 'RED_MAX_CLAMP_INGR': 0x8564, - 'GREEN_MAX_CLAMP_INGR': 0x8565, - 'BLUE_MAX_CLAMP_INGR': 0x8566, - 'ALPHA_MAX_CLAMP_INGR': 0x8567, - 'INTERLACE_READ_INGR': 0x8568, - 'PARALLEL_ARRAYS_INTEL': 0x83F4, - 'VERTEX_ARRAY_PARALLEL_POINTERS_INTEL': 0x83F5, - 'NORMAL_ARRAY_PARALLEL_POINTERS_INTEL': 0x83F6, - 'COLOR_ARRAY_PARALLEL_POINTERS_INTEL': 0x83F7, - 'TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL': 0x83F8, - 'KTX_FRONT_REGION': 0x0, - 'KTX_BACK_REGION': 0x1, - 'KTX_Z_REGION': 0x2, - 'KTX_STENCIL_REGION': 0x3, - 'TEXTURE_1D_STACK_MESAX': 0x8759, - 'TEXTURE_2D_STACK_MESAX': 0x875A, - 'PROXY_TEXTURE_1D_STACK_MESAX': 0x875B, - 'PROXY_TEXTURE_2D_STACK_MESAX': 0x875C, - 'TEXTURE_1D_STACK_BINDING_MESAX': 0x875D, - 'TEXTURE_2D_STACK_BINDING_MESAX': 0x875E, - 'PACK_INVERT_MESA': 0x8758, - 'UNSIGNED_SHORT_8_8_MESA': 0x85BA, - 'UNSIGNED_SHORT_8_8_REV_MESA': 0x85BB, - 'YCBCR_MESA': 0x8757, - 'QUERY_WAIT_NV': 0x8E13, - 'QUERY_NO_WAIT_NV': 0x8E14, - 'QUERY_BY_REGION_WAIT_NV': 0x8E15, - 'QUERY_BY_REGION_NO_WAIT_NV': 0x8E16, - 'DEPTH_STENCIL_TO_RGBA_NV': 0x886E, - 'DEPTH_STENCIL_TO_BGRA_NV': 0x886F, - 'DEPTH_COMPONENT32F_NV': 0x8DAB, - 'DEPTH32F_STENCIL8_NV': 0x8DAC, - 'FLOAT_32_UNSIGNED_INT_24_8_REV_NV': 0x8DAD, - 'DEPTH_BUFFER_FLOAT_MODE_NV': 0x8DAF, - 'DEPTH_CLAMP_NV': 0x864F, - 'SAMPLE_COUNT_BITS_NV': 0x8864, - 'CURRENT_SAMPLE_COUNT_QUERY_NV': 0x8865, - 'QUERY_RESULT_NV': 0x8866, - 'QUERY_RESULT_AVAILABLE_NV': 0x8867, - 'SAMPLE_COUNT_NV': 0x8914, - 'EVAL_2D_NV': 0x86C0, - 'EVAL_TRIANGULAR_2D_NV': 0x86C1, - 'MAP_TESSELLATION_NV': 0x86C2, - 'MAP_ATTRIB_U_ORDER_NV': 0x86C3, - 'MAP_ATTRIB_V_ORDER_NV': 0x86C4, - 'EVAL_FRACTIONAL_TESSELLATION_NV': 0x86C5, - 'EVAL_VERTEX_ATTRIB0_NV': 0x86C6, - 'EVAL_VERTEX_ATTRIB1_NV': 0x86C7, - 'EVAL_VERTEX_ATTRIB2_NV': 0x86C8, - 'EVAL_VERTEX_ATTRIB3_NV': 0x86C9, - 'EVAL_VERTEX_ATTRIB4_NV': 0x86CA, - 'EVAL_VERTEX_ATTRIB5_NV': 0x86CB, - 'EVAL_VERTEX_ATTRIB6_NV': 0x86CC, - 'EVAL_VERTEX_ATTRIB7_NV': 0x86CD, - 'EVAL_VERTEX_ATTRIB8_NV': 0x86CE, - 'EVAL_VERTEX_ATTRIB9_NV': 0x86CF, - 'EVAL_VERTEX_ATTRIB10_NV': 0x86D0, - 'EVAL_VERTEX_ATTRIB11_NV': 0x86D1, - 'EVAL_VERTEX_ATTRIB12_NV': 0x86D2, - 'EVAL_VERTEX_ATTRIB13_NV': 0x86D3, - 'EVAL_VERTEX_ATTRIB14_NV': 0x86D4, - 'EVAL_VERTEX_ATTRIB15_NV': 0x86D5, - 'MAX_MAP_TESSELLATION_NV': 0x86D6, - 'MAX_RATIONAL_EVAL_ORDER_NV': 0x86D7, - 'SAMPLE_POSITION_NV': 0x8E50, - 'SAMPLE_MASK_NV': 0x8E51, - 'SAMPLE_MASK_VALUE_NV': 0x8E52, - 'TEXTURE_BINDING_RENDERBUFFER_NV': 0x8E53, - 'TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV': 0x8E54, - 'TEXTURE_RENDERBUFFER_NV': 0x8E55, - 'SAMPLER_RENDERBUFFER_NV': 0x8E56, - 'INT_SAMPLER_RENDERBUFFER_NV': 0x8E57, - 'UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV': 0x8E58, - 'MAX_SAMPLE_MASK_WORDS_NV': 0x8E59, - 'ALL_COMPLETED_NV': 0x84F2, - 'FENCE_STATUS_NV': 0x84F3, - 'FENCE_CONDITION_NV': 0x84F4, - 'FLOAT_R_NV': 0x8880, - 'FLOAT_RG_NV': 0x8881, - 'FLOAT_RGB_NV': 0x8882, - 'FLOAT_RGBA_NV': 0x8883, - 'FLOAT_R16_NV': 0x8884, - 'FLOAT_R32_NV': 0x8885, - 'FLOAT_RG16_NV': 0x8886, - 'FLOAT_RG32_NV': 0x8887, - 'FLOAT_RGB16_NV': 0x8888, - 'FLOAT_RGB32_NV': 0x8889, - 'FLOAT_RGBA16_NV': 0x888A, - 'FLOAT_RGBA32_NV': 0x888B, - 'TEXTURE_FLOAT_COMPONENTS_NV': 0x888C, - 'FLOAT_CLEAR_COLOR_VALUE_NV': 0x888D, - 'FLOAT_RGBA_MODE_NV': 0x888E, - 'FOG_DISTANCE_MODE_NV': 0x855A, - 'EYE_RADIAL_NV': 0x855B, - 'EYE_PLANE_ABSOLUTE_NV': 0x855C, - 'MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV': 0x8868, - 'FRAGMENT_PROGRAM_NV': 0x8870, - 'MAX_TEXTURE_COORDS_NV': 0x8871, - 'MAX_TEXTURE_IMAGE_UNITS_NV': 0x8872, - 'FRAGMENT_PROGRAM_BINDING_NV': 0x8873, - 'PROGRAM_ERROR_STRING_NV': 0x8874, - 'MAX_PROGRAM_EXEC_INSTRUCTIONS_NV': 0x88F4, - 'MAX_PROGRAM_CALL_DEPTH_NV': 0x88F5, - 'MAX_PROGRAM_IF_DEPTH_NV': 0x88F6, - 'MAX_PROGRAM_LOOP_DEPTH_NV': 0x88F7, - 'MAX_PROGRAM_LOOP_COUNT_NV': 0x88F8, - 'RENDERBUFFER_COVERAGE_SAMPLES_NV': 0x8CAB, - 'RENDERBUFFER_COLOR_SAMPLES_NV': 0x8E10, - 'MAX_MULTISAMPLE_COVERAGE_MODES_NV': 0x8E11, - 'MULTISAMPLE_COVERAGE_MODES_NV': 0x8E12, - 'GEOMETRY_PROGRAM_NV': 0x8C26, - 'MAX_PROGRAM_OUTPUT_VERTICES_NV': 0x8C27, - 'MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV': 0x8C28, - 'MIN_PROGRAM_TEXEL_OFFSET_NV': 0x8904, - 'MAX_PROGRAM_TEXEL_OFFSET_NV': 0x8905, - 'PROGRAM_ATTRIB_COMPONENTS_NV': 0x8906, - 'PROGRAM_RESULT_COMPONENTS_NV': 0x8907, - 'MAX_PROGRAM_ATTRIB_COMPONENTS_NV': 0x8908, - 'MAX_PROGRAM_RESULT_COMPONENTS_NV': 0x8909, - 'MAX_PROGRAM_GENERIC_ATTRIBS_NV': 0x8DA5, - 'MAX_PROGRAM_GENERIC_RESULTS_NV': 0x8DA6, - 'HALF_FLOAT_NV': 0x140B, - 'MAX_SHININESS_NV': 0x8504, - 'MAX_SPOT_EXPONENT_NV': 0x8505, - 'MULTISAMPLE_FILTER_HINT_NV': 0x8534, - 'PIXEL_COUNTER_BITS_NV': 0x8864, - 'CURRENT_OCCLUSION_QUERY_ID_NV': 0x8865, - 'PIXEL_COUNT_NV': 0x8866, - 'PIXEL_COUNT_AVAILABLE_NV': 0x8867, - 'DEPTH_STENCIL_NV': 0x84F9, - 'UNSIGNED_INT_24_8_NV': 0x84FA, - 'MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV': 0x8DA0, - 'MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV': 0x8DA1, - 'VERTEX_PROGRAM_PARAMETER_BUFFER_NV': 0x8DA2, - 'GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV': 0x8DA3, - 'FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV': 0x8DA4, - 'WRITE_PIXEL_DATA_RANGE_NV': 0x8878, - 'READ_PIXEL_DATA_RANGE_NV': 0x8879, - 'WRITE_PIXEL_DATA_RANGE_LENGTH_NV': 0x887A, - 'READ_PIXEL_DATA_RANGE_LENGTH_NV': 0x887B, - 'WRITE_PIXEL_DATA_RANGE_POINTER_NV': 0x887C, - 'READ_PIXEL_DATA_RANGE_POINTER_NV': 0x887D, - 'POINT_SPRITE_NV': 0x8861, - 'COORD_REPLACE_NV': 0x8862, - 'POINT_SPRITE_R_MODE_NV': 0x8863, - 'FRAME_NV': 0x8E26, - 'FIELDS_NV': 0x8E27, - 'CURRENT_TIME_NV': 0x8E28, - 'NUM_FILL_STREAMS_NV': 0x8E29, - 'PRESENT_TIME_NV': 0x8E2A, - 'PRESENT_DURATION_NV': 0x8E2B, - 'PRIMITIVE_RESTART_NV': 0x8558, - 'PRIMITIVE_RESTART_INDEX_NV': 0x8559, - 'REGISTER_COMBINERS_NV': 0x8522, - 'VARIABLE_A_NV': 0x8523, - 'VARIABLE_B_NV': 0x8524, - 'VARIABLE_C_NV': 0x8525, - 'VARIABLE_D_NV': 0x8526, - 'VARIABLE_E_NV': 0x8527, - 'VARIABLE_F_NV': 0x8528, - 'VARIABLE_G_NV': 0x8529, - 'CONSTANT_COLOR0_NV': 0x852A, - 'CONSTANT_COLOR1_NV': 0x852B, - 'PRIMARY_COLOR_NV': 0x852C, - 'SECONDARY_COLOR_NV': 0x852D, - 'SPARE0_NV': 0x852E, - 'SPARE1_NV': 0x852F, - 'DISCARD_NV': 0x8530, - 'E_TIMES_F_NV': 0x8531, - 'SPARE0_PLUS_SECONDARY_COLOR_NV': 0x8532, - 'UNSIGNED_IDENTITY_NV': 0x8536, - 'UNSIGNED_INVERT_NV': 0x8537, - 'EXPAND_NORMAL_NV': 0x8538, - 'EXPAND_NEGATE_NV': 0x8539, - 'HALF_BIAS_NORMAL_NV': 0x853A, - 'HALF_BIAS_NEGATE_NV': 0x853B, - 'SIGNED_IDENTITY_NV': 0x853C, - 'SIGNED_NEGATE_NV': 0x853D, - 'SCALE_BY_TWO_NV': 0x853E, - 'SCALE_BY_FOUR_NV': 0x853F, - 'SCALE_BY_ONE_HALF_NV': 0x8540, - 'BIAS_BY_NEGATIVE_ONE_HALF_NV': 0x8541, - 'COMBINER_INPUT_NV': 0x8542, - 'COMBINER_MAPPING_NV': 0x8543, - 'COMBINER_COMPONENT_USAGE_NV': 0x8544, - 'COMBINER_AB_DOT_PRODUCT_NV': 0x8545, - 'COMBINER_CD_DOT_PRODUCT_NV': 0x8546, - 'COMBINER_MUX_SUM_NV': 0x8547, - 'COMBINER_SCALE_NV': 0x8548, - 'COMBINER_BIAS_NV': 0x8549, - 'COMBINER_AB_OUTPUT_NV': 0x854A, - 'COMBINER_CD_OUTPUT_NV': 0x854B, - 'COMBINER_SUM_OUTPUT_NV': 0x854C, - 'MAX_GENERAL_COMBINERS_NV': 0x854D, - 'NUM_GENERAL_COMBINERS_NV': 0x854E, - 'COLOR_SUM_CLAMP_NV': 0x854F, - 'COMBINER0_NV': 0x8550, - 'COMBINER1_NV': 0x8551, - 'COMBINER2_NV': 0x8552, - 'COMBINER3_NV': 0x8553, - 'COMBINER4_NV': 0x8554, - 'COMBINER5_NV': 0x8555, - 'COMBINER6_NV': 0x8556, - 'COMBINER7_NV': 0x8557, - 'PER_STAGE_CONSTANTS_NV': 0x8535, - 'EMBOSS_LIGHT_NV': 0x855D, - 'EMBOSS_CONSTANT_NV': 0x855E, - 'EMBOSS_MAP_NV': 0x855F, - 'NORMAL_MAP_NV': 0x8511, - 'REFLECTION_MAP_NV': 0x8512, - 'COMBINE4_NV': 0x8503, - 'SOURCE3_RGB_NV': 0x8583, - 'SOURCE3_ALPHA_NV': 0x858B, - 'OPERAND3_RGB_NV': 0x8593, - 'OPERAND3_ALPHA_NV': 0x859B, - 'TEXTURE_UNSIGNED_REMAP_MODE_NV': 0x888F, - 'TEXTURE_RECTANGLE_NV': 0x84F5, - 'TEXTURE_BINDING_RECTANGLE_NV': 0x84F6, - 'PROXY_TEXTURE_RECTANGLE_NV': 0x84F7, - 'MAX_RECTANGLE_TEXTURE_SIZE_NV': 0x84F8, - 'OFFSET_TEXTURE_RECTANGLE_NV': 0x864C, - 'OFFSET_TEXTURE_RECTANGLE_SCALE_NV': 0x864D, - 'DOT_PRODUCT_TEXTURE_RECTANGLE_NV': 0x864E, - 'RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV': 0x86D9, - 'UNSIGNED_INT_S8_S8_8_8_NV': 0x86DA, - 'UNSIGNED_INT_8_8_S8_S8_REV_NV': 0x86DB, - 'DSDT_MAG_INTENSITY_NV': 0x86DC, - 'SHADER_CONSISTENT_NV': 0x86DD, - 'TEXTURE_SHADER_NV': 0x86DE, - 'SHADER_OPERATION_NV': 0x86DF, - 'CULL_MODES_NV': 0x86E0, - 'OFFSET_TEXTURE_2D_MATRIX_NV': 0x86E1, - 'OFFSET_TEXTURE_MATRIX_NV': 0x86E1, - 'OFFSET_TEXTURE_2D_SCALE_NV': 0x86E2, - 'OFFSET_TEXTURE_SCALE_NV': 0x86E2, - 'OFFSET_TEXTURE_BIAS_NV': 0x86E3, - 'OFFSET_TEXTURE_2D_BIAS_NV': 0x86E3, - 'PREVIOUS_TEXTURE_INPUT_NV': 0x86E4, - 'CONST_EYE_NV': 0x86E5, - 'PASS_THROUGH_NV': 0x86E6, - 'CULL_FRAGMENT_NV': 0x86E7, - 'OFFSET_TEXTURE_2D_NV': 0x86E8, - 'DEPENDENT_AR_TEXTURE_2D_NV': 0x86E9, - 'DEPENDENT_GB_TEXTURE_2D_NV': 0x86EA, - 'DOT_PRODUCT_NV': 0x86EC, - 'DOT_PRODUCT_DEPTH_REPLACE_NV': 0x86ED, - 'DOT_PRODUCT_TEXTURE_2D_NV': 0x86EE, - 'DOT_PRODUCT_TEXTURE_CUBE_MAP_NV': 0x86F0, - 'DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV': 0x86F1, - 'DOT_PRODUCT_REFLECT_CUBE_MAP_NV': 0x86F2, - 'DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV': 0x86F3, - 'HILO_NV': 0x86F4, - 'DSDT_NV': 0x86F5, - 'DSDT_MAG_NV': 0x86F6, - 'DSDT_MAG_VIB_NV': 0x86F7, - 'HILO16_NV': 0x86F8, - 'SIGNED_HILO_NV': 0x86F9, - 'SIGNED_HILO16_NV': 0x86FA, - 'SIGNED_RGBA_NV': 0x86FB, - 'SIGNED_RGBA8_NV': 0x86FC, - 'SIGNED_RGB_NV': 0x86FE, - 'SIGNED_RGB8_NV': 0x86FF, - 'SIGNED_LUMINANCE_NV': 0x8701, - 'SIGNED_LUMINANCE8_NV': 0x8702, - 'SIGNED_LUMINANCE_ALPHA_NV': 0x8703, - 'SIGNED_LUMINANCE8_ALPHA8_NV': 0x8704, - 'SIGNED_ALPHA_NV': 0x8705, - 'SIGNED_ALPHA8_NV': 0x8706, - 'SIGNED_INTENSITY_NV': 0x8707, - 'SIGNED_INTENSITY8_NV': 0x8708, - 'DSDT8_NV': 0x8709, - 'DSDT8_MAG8_NV': 0x870A, - 'DSDT8_MAG8_INTENSITY8_NV': 0x870B, - 'SIGNED_RGB_UNSIGNED_ALPHA_NV': 0x870C, - 'SIGNED_RGB8_UNSIGNED_ALPHA8_NV': 0x870D, - 'HI_SCALE_NV': 0x870E, - 'LO_SCALE_NV': 0x870F, - 'DS_SCALE_NV': 0x8710, - 'DT_SCALE_NV': 0x8711, - 'MAGNITUDE_SCALE_NV': 0x8712, - 'VIBRANCE_SCALE_NV': 0x8713, - 'HI_BIAS_NV': 0x8714, - 'LO_BIAS_NV': 0x8715, - 'DS_BIAS_NV': 0x8716, - 'DT_BIAS_NV': 0x8717, - 'MAGNITUDE_BIAS_NV': 0x8718, - 'VIBRANCE_BIAS_NV': 0x8719, - 'TEXTURE_BORDER_VALUES_NV': 0x871A, - 'TEXTURE_HI_SIZE_NV': 0x871B, - 'TEXTURE_LO_SIZE_NV': 0x871C, - 'TEXTURE_DS_SIZE_NV': 0x871D, - 'TEXTURE_DT_SIZE_NV': 0x871E, - 'TEXTURE_MAG_SIZE_NV': 0x871F, - 'UNSIGNED_INT_S8_S8_8_8_NV': 0x86DA, - 'UNSIGNED_INT_8_8_S8_S8_REV_NV': 0x86DB, - 'DSDT_MAG_INTENSITY_NV': 0x86DC, - 'DOT_PRODUCT_TEXTURE_3D_NV': 0x86EF, - 'HILO_NV': 0x86F4, - 'DSDT_NV': 0x86F5, - 'DSDT_MAG_NV': 0x86F6, - 'DSDT_MAG_VIB_NV': 0x86F7, - 'HILO16_NV': 0x86F8, - 'SIGNED_HILO_NV': 0x86F9, - 'SIGNED_HILO16_NV': 0x86FA, - 'SIGNED_RGBA_NV': 0x86FB, - 'SIGNED_RGBA8_NV': 0x86FC, - 'SIGNED_RGB_NV': 0x86FE, - 'SIGNED_RGB8_NV': 0x86FF, - 'SIGNED_LUMINANCE_NV': 0x8701, - 'SIGNED_LUMINANCE8_NV': 0x8702, - 'SIGNED_LUMINANCE_ALPHA_NV': 0x8703, - 'SIGNED_LUMINANCE8_ALPHA8_NV': 0x8704, - 'SIGNED_ALPHA_NV': 0x8705, - 'SIGNED_ALPHA8_NV': 0x8706, - 'SIGNED_INTENSITY_NV': 0x8707, - 'SIGNED_INTENSITY8_NV': 0x8708, - 'DSDT8_NV': 0x8709, - 'DSDT8_MAG8_NV': 0x870A, - 'DSDT8_MAG8_INTENSITY8_NV': 0x870B, - 'SIGNED_RGB_UNSIGNED_ALPHA_NV': 0x870C, - 'SIGNED_RGB8_UNSIGNED_ALPHA8_NV': 0x870D, - 'OFFSET_PROJECTIVE_TEXTURE_2D_NV': 0x8850, - 'OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV': 0x8851, - 'OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV': 0x8852, - 'OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV': 0x8853, - 'OFFSET_HILO_TEXTURE_2D_NV': 0x8854, - 'OFFSET_HILO_TEXTURE_RECTANGLE_NV': 0x8855, - 'OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV': 0x8856, - 'OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV': 0x8857, - 'DEPENDENT_HILO_TEXTURE_2D_NV': 0x8858, - 'DEPENDENT_RGB_TEXTURE_3D_NV': 0x8859, - 'DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV': 0x885A, - 'DOT_PRODUCT_PASS_THROUGH_NV': 0x885B, - 'DOT_PRODUCT_TEXTURE_1D_NV': 0x885C, - 'DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV': 0x885D, - 'HILO8_NV': 0x885E, - 'SIGNED_HILO8_NV': 0x885F, - 'FORCE_BLUE_TO_ONE_NV': 0x8860, - 'BACK_PRIMARY_COLOR_NV': 0x8C77, - 'BACK_SECONDARY_COLOR_NV': 0x8C78, - 'TEXTURE_COORD_NV': 0x8C79, - 'CLIP_DISTANCE_NV': 0x8C7A, - 'VERTEX_ID_NV': 0x8C7B, - 'PRIMITIVE_ID_NV': 0x8C7C, - 'GENERIC_ATTRIB_NV': 0x8C7D, - 'TRANSFORM_FEEDBACK_ATTRIBS_NV': 0x8C7E, - 'TRANSFORM_FEEDBACK_BUFFER_MODE_NV': 0x8C7F, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV': 0x8C80, - 'ACTIVE_VARYINGS_NV': 0x8C81, - 'ACTIVE_VARYING_MAX_LENGTH_NV': 0x8C82, - 'TRANSFORM_FEEDBACK_VARYINGS_NV': 0x8C83, - 'TRANSFORM_FEEDBACK_BUFFER_START_NV': 0x8C84, - 'TRANSFORM_FEEDBACK_BUFFER_SIZE_NV': 0x8C85, - 'TRANSFORM_FEEDBACK_RECORD_NV': 0x8C86, - 'PRIMITIVES_GENERATED_NV': 0x8C87, - 'TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV': 0x8C88, - 'RASTERIZER_DISCARD_NV': 0x8C89, - 'MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV': 0x8C8A, - 'MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV': 0x8C8B, - 'INTERLEAVED_ATTRIBS_NV': 0x8C8C, - 'SEPARATE_ATTRIBS_NV': 0x8C8D, - 'TRANSFORM_FEEDBACK_BUFFER_NV': 0x8C8E, - 'TRANSFORM_FEEDBACK_BUFFER_BINDING_NV': 0x8C8F, - 'VERTEX_ARRAY_RANGE_NV': 0x851D, - 'VERTEX_ARRAY_RANGE_LENGTH_NV': 0x851E, - 'VERTEX_ARRAY_RANGE_VALID_NV': 0x851F, - 'MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV': 0x8520, - 'VERTEX_ARRAY_RANGE_POINTER_NV': 0x8521, - 'VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV': 0x8533, - 'VERTEX_PROGRAM_NV': 0x8620, - 'VERTEX_STATE_PROGRAM_NV': 0x8621, - 'ATTRIB_ARRAY_SIZE_NV': 0x8623, - 'ATTRIB_ARRAY_STRIDE_NV': 0x8624, - 'ATTRIB_ARRAY_TYPE_NV': 0x8625, - 'CURRENT_ATTRIB_NV': 0x8626, - 'PROGRAM_LENGTH_NV': 0x8627, - 'PROGRAM_STRING_NV': 0x8628, - 'MODELVIEW_PROJECTION_NV': 0x8629, - 'IDENTITY_NV': 0x862A, - 'INVERSE_NV': 0x862B, - 'TRANSPOSE_NV': 0x862C, - 'INVERSE_TRANSPOSE_NV': 0x862D, - 'MAX_TRACK_MATRIX_STACK_DEPTH_NV': 0x862E, - 'MAX_TRACK_MATRICES_NV': 0x862F, - 'MATRIX0_NV': 0x8630, - 'MATRIX1_NV': 0x8631, - 'MATRIX2_NV': 0x8632, - 'MATRIX3_NV': 0x8633, - 'MATRIX4_NV': 0x8634, - 'MATRIX5_NV': 0x8635, - 'MATRIX6_NV': 0x8636, - 'MATRIX7_NV': 0x8637, - 'CURRENT_MATRIX_STACK_DEPTH_NV': 0x8640, - 'CURRENT_MATRIX_NV': 0x8641, - 'VERTEX_PROGRAM_POINT_SIZE_NV': 0x8642, - 'VERTEX_PROGRAM_TWO_SIDE_NV': 0x8643, - 'PROGRAM_PARAMETER_NV': 0x8644, - 'ATTRIB_ARRAY_POINTER_NV': 0x8645, - 'PROGRAM_TARGET_NV': 0x8646, - 'PROGRAM_RESIDENT_NV': 0x8647, - 'TRACK_MATRIX_NV': 0x8648, - 'TRACK_MATRIX_TRANSFORM_NV': 0x8649, - 'VERTEX_PROGRAM_BINDING_NV': 0x864A, - 'PROGRAM_ERROR_POSITION_NV': 0x864B, - 'VERTEX_ATTRIB_ARRAY0_NV': 0x8650, - 'VERTEX_ATTRIB_ARRAY1_NV': 0x8651, - 'VERTEX_ATTRIB_ARRAY2_NV': 0x8652, - 'VERTEX_ATTRIB_ARRAY3_NV': 0x8653, - 'VERTEX_ATTRIB_ARRAY4_NV': 0x8654, - 'VERTEX_ATTRIB_ARRAY5_NV': 0x8655, - 'VERTEX_ATTRIB_ARRAY6_NV': 0x8656, - 'VERTEX_ATTRIB_ARRAY7_NV': 0x8657, - 'VERTEX_ATTRIB_ARRAY8_NV': 0x8658, - 'VERTEX_ATTRIB_ARRAY9_NV': 0x8659, - 'VERTEX_ATTRIB_ARRAY10_NV': 0x865A, - 'VERTEX_ATTRIB_ARRAY11_NV': 0x865B, - 'VERTEX_ATTRIB_ARRAY12_NV': 0x865C, - 'VERTEX_ATTRIB_ARRAY13_NV': 0x865D, - 'VERTEX_ATTRIB_ARRAY14_NV': 0x865E, - 'VERTEX_ATTRIB_ARRAY15_NV': 0x865F, - 'MAP1_VERTEX_ATTRIB0_4_NV': 0x8660, - 'MAP1_VERTEX_ATTRIB1_4_NV': 0x8661, - 'MAP1_VERTEX_ATTRIB2_4_NV': 0x8662, - 'MAP1_VERTEX_ATTRIB3_4_NV': 0x8663, - 'MAP1_VERTEX_ATTRIB4_4_NV': 0x8664, - 'MAP1_VERTEX_ATTRIB5_4_NV': 0x8665, - 'MAP1_VERTEX_ATTRIB6_4_NV': 0x8666, - 'MAP1_VERTEX_ATTRIB7_4_NV': 0x8667, - 'MAP1_VERTEX_ATTRIB8_4_NV': 0x8668, - 'MAP1_VERTEX_ATTRIB9_4_NV': 0x8669, - 'MAP1_VERTEX_ATTRIB10_4_NV': 0x866A, - 'MAP1_VERTEX_ATTRIB11_4_NV': 0x866B, - 'MAP1_VERTEX_ATTRIB12_4_NV': 0x866C, - 'MAP1_VERTEX_ATTRIB13_4_NV': 0x866D, - 'MAP1_VERTEX_ATTRIB14_4_NV': 0x866E, - 'MAP1_VERTEX_ATTRIB15_4_NV': 0x866F, - 'MAP2_VERTEX_ATTRIB0_4_NV': 0x8670, - 'MAP2_VERTEX_ATTRIB1_4_NV': 0x8671, - 'MAP2_VERTEX_ATTRIB2_4_NV': 0x8672, - 'MAP2_VERTEX_ATTRIB3_4_NV': 0x8673, - 'MAP2_VERTEX_ATTRIB4_4_NV': 0x8674, - 'MAP2_VERTEX_ATTRIB5_4_NV': 0x8675, - 'MAP2_VERTEX_ATTRIB6_4_NV': 0x8676, - 'MAP2_VERTEX_ATTRIB7_4_NV': 0x8677, - 'MAP2_VERTEX_ATTRIB8_4_NV': 0x8678, - 'MAP2_VERTEX_ATTRIB9_4_NV': 0x8679, - 'MAP2_VERTEX_ATTRIB10_4_NV': 0x867A, - 'MAP2_VERTEX_ATTRIB11_4_NV': 0x867B, - 'MAP2_VERTEX_ATTRIB12_4_NV': 0x867C, - 'MAP2_VERTEX_ATTRIB13_4_NV': 0x867D, - 'MAP2_VERTEX_ATTRIB14_4_NV': 0x867E, - 'MAP2_VERTEX_ATTRIB15_4_NV': 0x867F, - 'MAX_PROGRAM_EXEC_INSTRUCTIONS_NV': 0x88F4, - 'MAX_PROGRAM_CALL_DEPTH_NV': 0x88F5, - 'MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB': 0x8B4C, - 'BYTE': 0x1400, - 'PALETTE4_RGB8_OES': 0x8B90, - 'PALETTE4_RGBA8_OES': 0x8B91, - 'PALETTE4_R5_G6_B5_OES': 0x8B92, - 'PALETTE4_RGBA4_OES': 0x8B93, - 'PALETTE4_RGB5_A1_OES': 0x8B94, - 'PALETTE8_RGB8_OES': 0x8B95, - 'PALETTE8_RGBA8_OES': 0x8B96, - 'PALETTE8_R5_G6_B5_OES': 0x8B97, - 'PALETTE8_RGBA4_OES': 0x8B98, - 'PALETTE8_RGB5_A1_OES': 0x8B99, - 'IMPLEMENTATION_COLOR_READ_TYPE_OES': 0x8B9A, - 'IMPLEMENTATION_COLOR_READ_FORMAT_OES': 0x8B9B, - 'INTERLACE_OML': 0x8980, - 'INTERLACE_READ_OML': 0x8981, - 'PACK_RESAMPLE_OML': 0x8984, - 'UNPACK_RESAMPLE_OML': 0x8985, - 'RESAMPLE_REPLICATE_OML': 0x8986, - 'RESAMPLE_ZERO_FILL_OML': 0x8987, - 'RESAMPLE_AVERAGE_OML': 0x8988, - 'RESAMPLE_DECIMATE_OML': 0x8989, - 'FORMAT_SUBSAMPLE_24_24_OML': 0x8982, - 'FORMAT_SUBSAMPLE_244_244_OML': 0x8983, - 'VERTEX23_BIT_PGI': 0x00000004, - 'VERTEX4_BIT_PGI': 0x00000008, - 'COLOR3_BIT_PGI': 0x00010000, - 'COLOR4_BIT_PGI': 0x00020000, - 'EDGEFLAG_BIT_PGI': 0x00040000, - 'INDEX_BIT_PGI': 0x00080000, - 'MAT_AMBIENT_BIT_PGI': 0x00100000, - 'MAT_AMBIENT_AND_DIFFUSE_BIT_PGI': 0x00200000, - 'MAT_DIFFUSE_BIT_PGI': 0x00400000, - 'MAT_EMISSION_BIT_PGI': 0x00800000, - 'MAT_COLOR_INDEXES_BIT_PGI': 0x01000000, - 'MAT_SHININESS_BIT_PGI': 0x02000000, - 'MAT_SPECULAR_BIT_PGI': 0x04000000, - 'NORMAL_BIT_PGI': 0x08000000, - 'TEXCOORD1_BIT_PGI': 0x10000000, - 'TEXCOORD2_BIT_PGI': 0x20000000, - 'TEXCOORD3_BIT_PGI': 0x40000000, - 'TEXCOORD4_BIT_PGI': 0x80000000, - 'SCREEN_COORDINATES_REND': 0x8490, - 'INVERTED_SCREEN_W_REND': 0x8491, - 'RGB_S3TC': 0x83A0, - 'RGB4_S3TC': 0x83A1, - 'RGBA_S3TC': 0x83A2, - 'RGBA4_S3TC': 0x83A3, - 'RGBA_DXT5_S3TC': 0x83A4, - 'RGBA4_DXT5_S3TC': 0x83A5, - 'EXTENDED_RANGE_SGIS': 0x85A5, - 'MIN_RED_SGIS': 0x85A6, - 'MAX_RED_SGIS': 0x85A7, - 'MIN_GREEN_SGIS': 0x85A8, - 'MAX_GREEN_SGIS': 0x85A9, - 'MIN_BLUE_SGIS': 0x85AA, - 'MAX_BLUE_SGIS': 0x85AB, - 'MIN_ALPHA_SGIS': 0x85AC, - 'MAX_ALPHA_SGIS': 0x85AD, - 'GENERATE_MIPMAP_SGIS': 0x8191, - 'GENERATE_MIPMAP_HINT_SGIS': 0x8192, - 'MULTISAMPLE_SGIS': 0x809D, - 'SAMPLE_ALPHA_TO_MASK_SGIS': 0x809E, - 'SAMPLE_ALPHA_TO_ONE_SGIS': 0x809F, - 'SAMPLE_MASK_SGIS': 0x80A0, - '1PASS_SGIS': 0x80A1, - '2PASS_0_SGIS': 0x80A2, - '2PASS_1_SGIS': 0x80A3, - '4PASS_0_SGIS': 0x80A4, - '4PASS_1_SGIS': 0x80A5, - '4PASS_2_SGIS': 0x80A6, - '4PASS_3_SGIS': 0x80A7, - 'SAMPLE_BUFFERS_SGIS': 0x80A8, - 'SAMPLES_SGIS': 0x80A9, - 'SAMPLE_MASK_VALUE_SGIS': 0x80AA, - 'SAMPLE_MASK_INVERT_SGIS': 0x80AB, - 'SAMPLE_PATTERN_SGIS': 0x80AC, - 'MULTISAMPLE_BIT_EXT': 0x20000000, - 'EYE_DISTANCE_TO_POINT_SGIS': 0x81F0, - 'OBJECT_DISTANCE_TO_POINT_SGIS': 0x81F1, - 'EYE_DISTANCE_TO_LINE_SGIS': 0x81F2, - 'OBJECT_DISTANCE_TO_LINE_SGIS': 0x81F3, - 'EYE_POINT_SGIS': 0x81F4, - 'OBJECT_POINT_SGIS': 0x81F5, - 'EYE_LINE_SGIS': 0x81F6, - 'OBJECT_LINE_SGIS': 0x81F7, - 'CLAMP_TO_BORDER_SGIS': 0x812D, - 'CLAMP_TO_EDGE_SGIS': 0x812F, - 'TEXTURE_MIN_LOD_SGIS': 0x813A, - 'TEXTURE_MAX_LOD_SGIS': 0x813B, - 'TEXTURE_BASE_LEVEL_SGIS': 0x813C, - 'TEXTURE_MAX_LEVEL_SGIS': 0x813D, - 'ASYNC_MARKER_SGIX': 0x8329, - 'ASYNC_HISTOGRAM_SGIX': 0x832C, - 'MAX_ASYNC_HISTOGRAM_SGIX': 0x832D, - 'ASYNC_TEX_IMAGE_SGIX': 0x835C, - 'ASYNC_DRAW_PIXELS_SGIX': 0x835D, - 'ASYNC_READ_PIXELS_SGIX': 0x835E, - 'MAX_ASYNC_TEX_IMAGE_SGIX': 0x835F, - 'MAX_ASYNC_DRAW_PIXELS_SGIX': 0x8360, - 'MAX_ASYNC_READ_PIXELS_SGIX': 0x8361, - 'ALPHA_MIN_SGIX': 0x8320, - 'ALPHA_MAX_SGIX': 0x8321, - 'CONVOLUTION_HINT_SGIX': 0x8316, - 'DEPTH_COMPONENT16_SGIX': 0x81A5, - 'DEPTH_COMPONENT24_SGIX': 0x81A6, - 'DEPTH_COMPONENT32_SGIX': 0x81A7, - 'FOG_OFFSET_SGIX': 0x8198, - 'FOG_OFFSET_VALUE_SGIX': 0x8199, - 'INTERLACE_SGIX': 0x8094, - 'PACK_RESAMPLE_SGIX': 0x842E, - 'UNPACK_RESAMPLE_SGIX': 0x842F, - 'RESAMPLE_DECIMATE_SGIX': 0x8430, - 'RESAMPLE_REPLICATE_SGIX': 0x8433, - 'RESAMPLE_ZERO_FILL_SGIX': 0x8434, - 'TEXTURE_COMPARE_SGIX': 0x819A, - 'TEXTURE_COMPARE_OPERATOR_SGIX': 0x819B, - 'TEXTURE_LEQUAL_R_SGIX': 0x819C, - 'TEXTURE_GEQUAL_R_SGIX': 0x819D, - 'SHADOW_AMBIENT_SGIX': 0x80BF, - 'TEXTURE_MAX_CLAMP_S_SGIX': 0x8369, - 'TEXTURE_MAX_CLAMP_T_SGIX': 0x836A, - 'TEXTURE_MAX_CLAMP_R_SGIX': 0x836B, - 'TEXTURE_MULTI_BUFFER_HINT_SGIX': 0x812E, - 'RGB_SIGNED_SGIX': 0x85E0, - 'RGBA_SIGNED_SGIX': 0x85E1, - 'ALPHA_SIGNED_SGIX': 0x85E2, - 'LUMINANCE_SIGNED_SGIX': 0x85E3, - 'INTENSITY_SIGNED_SGIX': 0x85E4, - 'LUMINANCE_ALPHA_SIGNED_SGIX': 0x85E5, - 'RGB16_SIGNED_SGIX': 0x85E6, - 'RGBA16_SIGNED_SGIX': 0x85E7, - 'ALPHA16_SIGNED_SGIX': 0x85E8, - 'LUMINANCE16_SIGNED_SGIX': 0x85E9, - 'INTENSITY16_SIGNED_SGIX': 0x85EA, - 'LUMINANCE16_ALPHA16_SIGNED_SGIX': 0x85EB, - 'RGB_EXTENDED_RANGE_SGIX': 0x85EC, - 'RGBA_EXTENDED_RANGE_SGIX': 0x85ED, - 'ALPHA_EXTENDED_RANGE_SGIX': 0x85EE, - 'LUMINANCE_EXTENDED_RANGE_SGIX': 0x85EF, - 'INTENSITY_EXTENDED_RANGE_SGIX': 0x85F0, - 'LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX': 0x85F1, - 'RGB16_EXTENDED_RANGE_SGIX': 0x85F2, - 'RGBA16_EXTENDED_RANGE_SGIX': 0x85F3, - 'ALPHA16_EXTENDED_RANGE_SGIX': 0x85F4, - 'LUMINANCE16_EXTENDED_RANGE_SGIX': 0x85F5, - 'INTENSITY16_EXTENDED_RANGE_SGIX': 0x85F6, - 'LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX': 0x85F7, - 'MIN_LUMINANCE_SGIS': 0x85F8, - 'MAX_LUMINANCE_SGIS': 0x85F9, - 'MIN_INTENSITY_SGIS': 0x85FA, - 'MAX_INTENSITY_SGIS': 0x85FB, - 'POST_TEXTURE_FILTER_BIAS_SGIX': 0x8179, - 'POST_TEXTURE_FILTER_SCALE_SGIX': 0x817A, - 'POST_TEXTURE_FILTER_BIAS_RANGE_SGIX': 0x817B, - 'POST_TEXTURE_FILTER_SCALE_RANGE_SGIX': 0x817C, - 'VERTEX_PRECLIP_SGIX': 0x83EE, - 'VERTEX_PRECLIP_HINT_SGIX': 0x83EF, - 'VERTEX_PRECLIP_SGIX': 0x83EE, - 'VERTEX_PRECLIP_HINT_SGIX': 0x83EF, - 'COLOR_MATRIX_SGI': 0x80B1, - 'COLOR_MATRIX_STACK_DEPTH_SGI': 0x80B2, - 'MAX_COLOR_MATRIX_STACK_DEPTH_SGI': 0x80B3, - 'POST_COLOR_MATRIX_RED_SCALE_SGI': 0x80B4, - 'POST_COLOR_MATRIX_GREEN_SCALE_SGI': 0x80B5, - 'POST_COLOR_MATRIX_BLUE_SCALE_SGI': 0x80B6, - 'POST_COLOR_MATRIX_ALPHA_SCALE_SGI': 0x80B7, - 'POST_COLOR_MATRIX_RED_BIAS_SGI': 0x80B8, - 'POST_COLOR_MATRIX_GREEN_BIAS_SGI': 0x80B9, - 'POST_COLOR_MATRIX_BLUE_BIAS_SGI': 0x80BA, - 'POST_COLOR_MATRIX_ALPHA_BIAS_SGI': 0x80BB, - 'COLOR_TABLE_SGI': 0x80D0, - 'POST_CONVOLUTION_COLOR_TABLE_SGI': 0x80D1, - 'POST_COLOR_MATRIX_COLOR_TABLE_SGI': 0x80D2, - 'PROXY_COLOR_TABLE_SGI': 0x80D3, - 'PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI': 0x80D4, - 'PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI': 0x80D5, - 'COLOR_TABLE_SCALE_SGI': 0x80D6, - 'COLOR_TABLE_BIAS_SGI': 0x80D7, - 'COLOR_TABLE_FORMAT_SGI': 0x80D8, - 'COLOR_TABLE_WIDTH_SGI': 0x80D9, - 'COLOR_TABLE_RED_SIZE_SGI': 0x80DA, - 'COLOR_TABLE_GREEN_SIZE_SGI': 0x80DB, - 'COLOR_TABLE_BLUE_SIZE_SGI': 0x80DC, - 'COLOR_TABLE_ALPHA_SIZE_SGI': 0x80DD, - 'COLOR_TABLE_LUMINANCE_SIZE_SGI': 0x80DE, - 'COLOR_TABLE_INTENSITY_SIZE_SGI': 0x80DF, - 'TEXTURE_COLOR_TABLE_SGI': 0x80BC, - 'PROXY_TEXTURE_COLOR_TABLE_SGI': 0x80BD, - 'UNPACK_CONSTANT_DATA_SUNX': 0x81D5, - 'TEXTURE_CONSTANT_DATA_SUNX': 0x81D6, - 'WRAP_BORDER_SUN': 0x81D4, - 'GLOBAL_ALPHA_SUN': 0x81D9, - 'GLOBAL_ALPHA_FACTOR_SUN': 0x81DA, - 'QUAD_MESH_SUN': 0x8614, - 'TRIANGLE_MESH_SUN': 0x8615, - 'SLICE_ACCUM_SUN': 0x85CC, - 'RESTART_SUN': 0x01, - 'REPLACE_MIDDLE_SUN': 0x02, - 'REPLACE_OLDEST_SUN': 0x03, - 'TRIANGLE_LIST_SUN': 0x81D7, - 'REPLACEMENT_CODE_SUN': 0x81D8, - 'REPLACEMENT_CODE_ARRAY_SUN': 0x85C0, - 'REPLACEMENT_CODE_ARRAY_TYPE_SUN': 0x85C1, - 'REPLACEMENT_CODE_ARRAY_STRIDE_SUN': 0x85C2, - 'REPLACEMENT_CODE_ARRAY_POINTER_SUN': 0x85C3, - 'R1UI_V3F_SUN': 0x85C4, - 'R1UI_C4UB_V3F_SUN': 0x85C5, - 'R1UI_C3F_V3F_SUN': 0x85C6, - 'R1UI_N3F_V3F_SUN': 0x85C7, - 'R1UI_C4F_N3F_V3F_SUN': 0x85C8, - 'R1UI_T2F_V3F_SUN': 0x85C9, - 'R1UI_T2F_N3F_V3F_SUN': 0x85CA, - 'R1UI_T2F_C4F_N3F_V3F_SUN': 0x85CB, - 'PHONG_WIN': 0x80EA, - 'PHONG_HINT_WIN': 0x80EB, - 'FOG_SPECULAR_TEXTURE_WIN': 0x80EC -}; diff --git a/dom/canvas/test/webgl-conformance/resources/js-test-pre.js b/dom/canvas/test/webgl-conformance/resources/js-test-pre.js deleted file mode 100644 index e6161ee4dd04..000000000000 --- a/dom/canvas/test/webgl-conformance/resources/js-test-pre.js +++ /dev/null @@ -1,474 +0,0 @@ -/* -Copyright (C) 2009 Apple Computer, Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -// WebKit Specfic code. Add your own here. -function initNonKhronosFramework(waitUntilDone) { - if (window.layoutTestController) { - layoutTestController.overridePreference("WebKitWebGLEnabled", "1"); - layoutTestController.dumpAsText(); - if (waitUntilDone) { - layoutTestController.waitUntilDone(); - } - } -} - -function nonKhronosFrameworkNotifyDone() { - if (window.layoutTestController) { - layoutTestController.notifyDone(); - } -} - -function reportTestResultsToHarness(success, msg) { - if (window.parent.webglTestHarness) { - window.parent.webglTestHarness.reportResults(success, msg); - } -} - -function notifyFinishedToHarness() { - if (window.parent.webglTestHarness) { - window.parent.webglTestHarness.notifyFinished(); - } -} - -function description(msg) -{ - // For MSIE 6 compatibility - var span = document.createElement("span"); - span.innerHTML = '

' + msg + '

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

'; - var description = document.getElementById("description"); - if (description.firstChild) - description.replaceChild(span, description.firstChild); - else - description.appendChild(span); -} - -function debug(msg) -{ - var span = document.createElement("span"); - document.getElementById("console").appendChild(span); // insert it first so XHTML knows the namespace - span.innerHTML = msg + '
'; -} - -function escapeHTML(text) -{ - return text.replace(/&/g, "&").replace(/PASS ' + escapeHTML(msg) + ''); -} - -function testFailed(msg) -{ - reportTestResultsToHarness(false, msg); - debug('FAIL ' + escapeHTML(msg) + ''); - dump('FAIL: ' + msg + '\n'); - - var stack = (new Error).stack.split('\n'); - if (!stack.length) { - return; - } - - dump('STACK TRACE: \n'); - - stack.pop(); - var index = 0, frame, messages = new Array(); - // Match all .html files and print out the line in them. - while (stack.length && index != -1) { - frame = stack.pop(); - index = frame.indexOf(".html:"); - if (index != -1) { - messages.unshift(frame); - } - } - - // Print out the first stack frame in JS and then stop. - if (stack.length) { - messages.unshift(stack.pop()); - } - - for (message in messages) { - dump(messages[message] + '\n'); - } -} - -function testFailedRender(msg, ref, test, width, height) -{ - var refData; - if (typeof ref.getImageData == 'function') { - refData = ref.canvas.toDataURL(); - } else { - refData = arrayToURLData(ref, width, height); - } - - var testData; - if (typeof test.getImageData == 'function') { - testData = test.canvas.toDataURL(); - } else { - testData = arrayToURLData(test, width, height); - } - - testFailed(msg); - - var data = 'REFTEST TEST-DEBUG-INFO | ' + msg + ' | image comparison (==)\n' + - 'REFTEST IMAGE 1 (TEST): ' + testData + '\n' + - 'REFTEST IMAGE 2 (REFERENCE): ' + refData; - dump('FAIL: ' + data + '\n'); - dump('To view the differences between these image renderings, go to the following link: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#log=' + - encodeURIComponent(encodeURIComponent(data)) + '\n'); -} - -function arrayToURLData(buf, width, height) -{ - var cv = document.createElement('canvas'); - cv.height = height; - cv.width = width; - var ctx = cv.getContext('2d'); - var imgd = ctx.getImageData(0, 0, width, height); - for (i = 0; i < height * width; ++i) { - offset = i * 4; - for (j = 0; j < 4; j++) { - imgd.data[offset + j] = buf[offset + j]; - } - } - ctx.putImageData(imgd, 0, 0); - return cv.toDataURL(); -} - -function areArraysEqual(_a, _b) -{ - try { - if (_a.length !== _b.length) - return false; - for (var i = 0; i < _a.length; i++) - if (_a[i] !== _b[i]) - return false; - } catch (ex) { - return false; - } - return true; -} - -function isMinusZero(n) -{ - // the only way to tell 0 from -0 in JS is the fact that 1/-0 is - // -Infinity instead of Infinity - return n === 0 && 1/n < 0; -} - -function isResultCorrect(_actual, _expected) -{ - if (_expected === 0) - return _actual === _expected && (1/_actual) === (1/_expected); - if (_actual === _expected) - return true; - if (typeof(_expected) == "number" && isNaN(_expected)) - return typeof(_actual) == "number" && isNaN(_actual); - if (Object.prototype.toString.call(_expected) == Object.prototype.toString.call([])) - return areArraysEqual(_actual, _expected); - return false; -} - -function stringify(v) -{ - if (v === 0 && 1/v < 0) - return "-0"; - else return "" + v; -} - -function evalAndLog(_a) -{ - if (typeof _a != "string") - debug("WARN: tryAndLog() expects a string argument"); - - // Log first in case things go horribly wrong or this causes a sync event. - debug(_a); - - var _av; - try { - _av = eval(_a); - } catch (e) { - testFailed(_a + " threw exception " + e); - } - return _av; -} - -function shouldBe(_a, _b, quiet) -{ - if (typeof _a != "string" || typeof _b != "string") - debug("WARN: shouldBe() expects string arguments"); - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - var _bv = eval(_b); - - if (exception) - testFailed(_a + " should be " + _bv + ". Threw exception " + exception); - else if (isResultCorrect(_av, _bv)) { - if (!quiet) { - testPassed(_a + " is " + _b); - } - } else if (typeof(_av) == typeof(_bv)) - testFailed(_a + " should be " + _bv + ". Was " + stringify(_av) + "."); - else - testFailed(_a + " should be " + _bv + " (of type " + typeof _bv + "). Was " + _av + " (of type " + typeof _av + ")."); -} - -function shouldNotBe(_a, _b, quiet) -{ - if (typeof _a != "string" || typeof _b != "string") - debug("WARN: shouldNotBe() expects string arguments"); - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - var _bv = eval(_b); - - if (exception) - testFailed(_a + " should not be " + _bv + ". Threw exception " + exception); - else if (!isResultCorrect(_av, _bv)) { - if (!quiet) { - testPassed(_a + " is not " + _b); - } - } else - testFailed(_a + " should not be " + _bv + "."); -} - -function shouldBeTrue(_a) { shouldBe(_a, "true"); } -function shouldBeFalse(_a) { shouldBe(_a, "false"); } -function shouldBeNaN(_a) { shouldBe(_a, "NaN"); } -function shouldBeNull(_a) { shouldBe(_a, "null"); } - -function shouldBeEqualToString(a, b) -{ - var unevaledString = '"' + b.replace(/"/g, "\"") + '"'; - shouldBe(a, unevaledString); -} - -function shouldEvaluateTo(actual, expected) { - // A general-purpose comparator. 'actual' should be a string to be - // evaluated, as for shouldBe(). 'expected' may be any type and will be - // used without being eval'ed. - if (expected == null) { - // Do this before the object test, since null is of type 'object'. - shouldBeNull(actual); - } else if (typeof expected == "undefined") { - shouldBeUndefined(actual); - } else if (typeof expected == "function") { - // All this fuss is to avoid the string-arg warning from shouldBe(). - try { - actualValue = eval(actual); - } catch (e) { - testFailed("Evaluating " + actual + ": Threw exception " + e); - return; - } - shouldBe("'" + actualValue.toString().replace(/\n/g, "") + "'", - "'" + expected.toString().replace(/\n/g, "") + "'"); - } else if (typeof expected == "object") { - shouldBeTrue(actual + " == '" + expected + "'"); - } else if (typeof expected == "string") { - shouldBe(actual, expected); - } else if (typeof expected == "boolean") { - shouldBe("typeof " + actual, "'boolean'"); - if (expected) - shouldBeTrue(actual); - else - shouldBeFalse(actual); - } else if (typeof expected == "number") { - shouldBe(actual, stringify(expected)); - } else { - debug(expected + " is unknown type " + typeof expected); - shouldBeTrue(actual, "'" +expected.toString() + "'"); - } -} - -function shouldBeNonZero(_a) -{ - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - - if (exception) - testFailed(_a + " should be non-zero. Threw exception " + exception); - else if (_av != 0) - testPassed(_a + " is non-zero."); - else - testFailed(_a + " should be non-zero. Was " + _av); -} - -function shouldBeNonNull(_a) -{ - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - - if (exception) - testFailed(_a + " should be non-null. Threw exception " + exception); - else if (_av != null) - testPassed(_a + " is non-null."); - else - testFailed(_a + " should be non-null. Was " + _av); -} - -function shouldBeUndefined(_a) -{ - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - - if (exception) - testFailed(_a + " should be undefined. Threw exception " + exception); - else if (typeof _av == "undefined") - testPassed(_a + " is undefined."); - else - testFailed(_a + " should be undefined. Was " + _av); -} - -function shouldBeDefined(_a) -{ - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - - if (exception) - testFailed(_a + " should be defined. Threw exception " + exception); - else if (_av !== undefined) - testPassed(_a + " is defined."); - else - testFailed(_a + " should be defined. Was " + _av); -} - -function shouldBeGreaterThanOrEqual(_a, _b) { - if (typeof _a != "string" || typeof _b != "string") - debug("WARN: shouldBeGreaterThanOrEqual expects string arguments"); - - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - var _bv = eval(_b); - - if (exception) - testFailed(_a + " should be >= " + _b + ". Threw exception " + exception); - else if (typeof _av == "undefined" || _av < _bv) - testFailed(_a + " should be >= " + _b + ". Was " + _av + " (of type " + typeof _av + ")."); - else - testPassed(_a + " is >= " + _b); -} - -function shouldThrow(_a, _e) -{ - var exception; - var _av; - try { - _av = eval(_a); - } catch (e) { - exception = e; - } - - var _ev; - if (_e) - _ev = eval(_e); - - if (exception) { - if (typeof _e == "undefined" || exception == _ev) - testPassed(_a + " threw exception " + exception + "."); - else - testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Threw exception " + exception + "."); - } else if (typeof _av == "undefined") - testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was undefined."); - else - testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was " + _av + "."); -} - -function assertMsg(assertion, msg) { - if (assertion) { - testPassed(msg); - } else { - testFailed(msg); - } -} - -function gc() { - if (window.GCController) { - window.GCController.collect(); - return; - } - - if (window.opera && window.opera.collect) { - window.opera.collect(); - return; - } - - try { - window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) - .getInterface(Components.interfaces.nsIDOMWindowUtils) - .garbageCollect(); - return; - } catch(e) {} - - function gcRec(n) { - if (n < 1) - return {}; - var temp = {i: "ab" + i + (i / 100000)}; - temp += "foo"; - gcRec(n-1); - } - for (var i = 0; i < 1000; i++) - gcRec(10); -} - -function finishTest() { - debug('
TEST COMPLETE'); - notifyFinishedToHarness(); -} diff --git a/dom/canvas/test/webgl-conformance/resources/js-test-style.css b/dom/canvas/test/webgl-conformance/resources/js-test-style.css deleted file mode 100644 index f12147ca4328..000000000000 --- a/dom/canvas/test/webgl-conformance/resources/js-test-style.css +++ /dev/null @@ -1,12 +0,0 @@ -.pass { - font-weight: bold; - color: green; -} -.fail { - font-weight: bold; - color: red; -} -#console { - white-space: pre-wrap; - font-family: monospace; -} diff --git a/dom/canvas/test/webgl-conformance/resources/opengl_logo.jpg b/dom/canvas/test/webgl-conformance/resources/opengl_logo.jpg deleted file mode 100644 index e3b70bef3f2c78736c72e263b63acea8d9a9467a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5827 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 diff --git a/dom/canvas/test/webgl-conformance/resources/webgl-logo.png b/dom/canvas/test/webgl-conformance/resources/webgl-logo.png deleted file mode 100644 index 2fba0f760f13e3c389d95a97a167c2f6e3b83c04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11020 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 callback. - * Callback that is called with true for success and an - * array of filenames. - * @param {Object} options. Optional options - * - * Options: - * version: {string} The version of the conformance test. - * Tests with the argument --min-version will - * be ignored version is less then - * - */ -var getFileList = function(url, callback, options) { - var files = []; - - var copyObject = function(obj) { - return JSON.parse(JSON.stringify(obj)); - }; - - var toCamelCase = function(str) { - return str.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase() }); - }; - - var globalOptions = copyObject(options); - globalOptions.defaultVersion = "1.0"; - - var getFileListImpl = function(prefix, line, hierarchicalOptions, callback) { - var files = []; - - var args = line.split(/\s+/); - var nonOptions = []; - var useTest = true; - var testOptions = {}; - for (var jj = 0; jj < args.length; ++jj) { - var arg = args[jj]; - if (arg[0] == '-') { - if (arg[1] != '-') { - throw ("bad option at in " + url + ":" + (ii + 1) + ": " + str); - } - var option = arg.substring(2); - switch (option) { - case 'min-version': - ++jj; - testOptions[toCamelCase(option)] = args[jj]; - break; - default: - throw ("bad unknown option '" + option + "' at in " + url + ":" + (ii + 1) + ": " + str); - } - } else { - nonOptions.push(arg); - } - } - var url = prefix + nonOptions.join(" "); - - if (url.substr(url.length - 4) != '.txt') { - var minVersion = testOptions.minVersion; - if (!minVersion) { - minVersion = hierarchicalOptions.defaultVersion; - } - - if (globalOptions.minVersion) { - useTest = greaterThanOrEqualToVersion(minVersion, globalOptions.minVersion); - } else { - useTest = greaterThanOrEqualToVersion(globalOptions.version, minVersion); - } - } - - if (!useTest) { - callback(true, []); - return; - } - - if (url.substr(url.length - 4) == '.txt') { - // If a version was explicity specified pass it down. - if (testOptions.minVersion) { - hierarchicalOptions.defaultVersion = testOptions.minVersion; - } - loadTextFileAsynchronous(url, function() { - return function(success, text) { - if (!success) { - callback(false, ''); - return; - } - var lines = text.split('\n'); - var prefix = ''; - var lastSlash = url.lastIndexOf('/'); - if (lastSlash >= 0) { - prefix = url.substr(0, lastSlash + 1); - } - var fail = false; - var count = 1; - var index = 0; - for (var ii = 0; ii < lines.length; ++ii) { - var str = lines[ii].replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - if (str.length > 4 && - str[0] != '#' && - str[0] != ";" && - str.substr(0, 2) != "//") { - ++count; - getFileListImpl(prefix, str, copyObject(hierarchicalOptions), function(index) { - return function(success, new_files) { - log("got files: " + new_files.length); - if (success) { - files[index] = new_files; - } - finish(success); - }; - }(index++)); - } - } - finish(true); - - function finish(success) { - if (!success) { - fail = true; - } - --count; - log("count: " + count); - if (!count) { - callback(!fail, files); - } - } - } - }()); - } else { - files.push(url); - callback(true, files); - } - }; - - getFileListImpl('', url, globalOptions, function(success, files) { - // flatten - var flat = []; - flatten(files); - function flatten(files) { - for (var ii = 0; ii < files.length; ++ii) { - var value = files[ii]; - if (typeof(value) == "string") { - flat.push(value); - } else { - flatten(value); - } - } - } - callback(success, flat); - }); -}; - -var TestFile = function(url) { - this.url = url; -}; - -var TestHarness = function(iframe, filelistUrl, reportFunc, options) { - this.window = window; - this.iframe = iframe; - this.reportFunc = reportFunc; - this.timeoutDelay = 20000; - this.files = []; - - var that = this; - getFileList(filelistUrl, function() { - return function(success, files) { - that.addFiles_(success, files); - }; - }(), options); - -}; - -TestHarness.reportType = { - ADD_PAGE: 1, - READY: 2, - START_PAGE: 3, - TEST_RESULT: 4, - FINISH_PAGE: 5, - FINISHED_ALL_TESTS: 6 -}; - -TestHarness.prototype.addFiles_ = function(success, files) { - if (!success) { - this.reportFunc( - TestHarness.reportType.FINISHED_ALL_TESTS, - 'Unable to load tests. Are you running locally?\n' + - 'You need to run from a server or configure your\n' + - 'browser to allow access to local files (not recommended).\n\n' + - 'Note: An easy way to run from a server:\n\n' + - '\tcd path_to_tests\n' + - '\tpython -m SimpleHTTPServer\n\n' + - 'then point your browser to ' + - '
' + - 'http://localhost:8000/webgl-conformance-tests.html', - false) - return; - } - log("total files: " + files.length); - for (var ii = 0; ii < files.length; ++ii) { - log("" + ii + ": " + files[ii]); - this.files.push(new TestFile(files[ii])); - this.reportFunc(TestHarness.reportType.ADD_PAGE, files[ii], undefined); - } - this.reportFunc(TestHarness.reportType.READY, undefined, undefined); -} - -TestHarness.prototype.runTests = function(opt_start, opt_count) { - var count = opt_count || this.files.length; - this.nextFileIndex = opt_start || 0; - this.lastFileIndex = this.nextFileIndex + count; - this.startNextFile(); -}; - -TestHarness.prototype.setTimeout = function() { - var that = this; - this.timeoutId = this.window.setTimeout(function() { - that.timeout(); - }, this.timeoutDelay); -}; - -TestHarness.prototype.clearTimeout = function() { - this.window.clearTimeout(this.timeoutId); -}; - -TestHarness.prototype.startNextFile = function() { - if (this.nextFileIndex >= this.lastFileIndex) { - log("done"); - this.reportFunc(TestHarness.reportType.FINISHED_ALL_TESTS, - '', true); - } else { - this.currentFile = this.files[this.nextFileIndex++]; - log("loading: " + this.currentFile.url); - if (this.reportFunc(TestHarness.reportType.START_PAGE, - this.currentFile.url, undefined)) { - this.iframe.src = this.currentFile.url; - this.setTimeout(); - } else { - this.reportResults(false, "skipped"); - this.notifyFinished(); - } - } -}; - -TestHarness.prototype.reportResults = function (success, msg) { - this.clearTimeout(); - log(success ? "PASS" : "FAIL", msg); - this.reportFunc(TestHarness.reportType.TEST_RESULT, msg, success); - // For each result we get, reset the timeout - this.setTimeout(); -}; - -TestHarness.prototype.notifyFinished = function () { - this.clearTimeout(); - var url = this.currentFile ? this.currentFile.url : 'unknown'; - log(url + ": finished"); - this.reportFunc(TestHarness.reportType.FINISH_PAGE, url, true); - this.startNextFile(); -}; - -TestHarness.prototype.timeout = function() { - this.clearTimeout(); - var url = this.currentFile ? this.currentFile.url : 'unknown'; - log(url + ": timeout"); - this.reportFunc(TestHarness.reportType.FINISH_PAGE, url, undefined); - this.startNextFile(); -}; - -TestHarness.prototype.setTimeoutDelay = function(x) { - this.timeoutDelay = x; -}; - -return { - 'TestHarness': TestHarness - }; - -}(); - - - diff --git a/dom/canvas/test/webgl-conformance/webgl-conformance-tests.html b/dom/canvas/test/webgl-conformance/webgl-conformance-tests.html deleted file mode 100644 index 104f5dae5236..000000000000 --- a/dom/canvas/test/webgl-conformance/webgl-conformance-tests.html +++ /dev/null @@ -1,545 +0,0 @@ - - - - - -WebGL Conformance Tests - - - - - - - - - - - - - -
- - - - -

WebGL Conformance Test Runner
Version

-
Loading Tests...
-
Results:
-
-
- -
-
-
    - -
    -
    - -