diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs index 383873ff7dc8..106027523f42 100644 --- a/components/canvas/webgl_thread.rs +++ b/components/canvas/webgl_thread.rs @@ -91,13 +91,18 @@ impl WebGLThread { let result = self.create_webgl_context(version, size, attributes); - result_sender.send(result.map(|(id, limits, share_mode)| + result_sender.send(result.map(|(id, limits, share_mode)| { + let ctx = Self::make_current_if_needed(id, &self.contexts, &mut self.bound_context_id) + .expect("WebGLContext not found"); + let glsl_version = Self::get_glsl_version(ctx); + WebGLCreateContextResult { sender: WebGLMsgSender::new(id, webgl_chan.clone()), - limits: limits, - share_mode: share_mode, + limits, + share_mode, + glsl_version, } - )).unwrap(); + })).unwrap(); }, WebGLMsg::ResizeContext(ctx_id, size, sender) => { self.resize_webgl_context(ctx_id, size, sender); @@ -519,6 +524,20 @@ impl WebGLThread WebGLSLVersion { + let version = context.gl().get_string(gl::SHADING_LANGUAGE_VERSION); + // Fomat used by SHADING_LANGUAGE_VERSION query : major.minor[.release] [vendor info] + let mut values = version.split(&['.', ' '][..]); + let major = values.next().and_then(|v| v.parse::().ok()).unwrap_or(1); + let minor = values.next().and_then(|v| v.parse::().ok()).unwrap_or(20); + + WebGLSLVersion { + major, + minor, + } + } } impl Drop for WebGLThread { diff --git a/components/canvas_traits/webgl.rs b/components/canvas_traits/webgl.rs index a6082209c69c..84a8fe490065 100644 --- a/components/canvas_traits/webgl.rs +++ b/components/canvas_traits/webgl.rs @@ -63,6 +63,8 @@ pub struct WebGLCreateContextResult { pub limits: GLLimits, /// How the WebGLContext is shared with WebRender. pub share_mode: WebGLContextShareMode, + /// The GLSL version supported by the context. + pub glsl_version: WebGLSLVersion } #[derive(Clone, Copy, Deserialize, MallocSizeOf, Serialize)] @@ -84,6 +86,15 @@ pub enum WebGLVersion { WebGL2, } +/// Defines the GLSL version supported by the WebGL backend contexts. +#[derive(Clone, Copy, Deserialize, Eq, MallocSizeOf, PartialEq, Serialize)] +pub struct WebGLSLVersion { + /// Major GLSL version + pub major: u32, + /// Minor GLSL version + pub minor: u32, +} + /// Helper struct to send WebGLCommands to a specific WebGLContext. #[derive(Clone, Deserialize, MallocSizeOf, Serialize)] pub struct WebGLMsgSender { diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index affc70401ed9..36a3cf7ee300 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -33,8 +33,9 @@ use app_units::Au; use canvas_traits::canvas::{CanvasGradientStop, LinearGradientStyle, RadialGradientStyle}; use canvas_traits::canvas::{CompositionOrBlending, LineCapStyle, LineJoinStyle, RepetitionStyle}; use canvas_traits::webgl::{WebGLBufferId, WebGLFramebufferId, WebGLProgramId, WebGLRenderbufferId}; -use canvas_traits::webgl::{WebGLChan, WebGLContextShareMode, WebGLError, WebGLPipeline, WebGLMsgSender, WebGLVersion}; +use canvas_traits::webgl::{WebGLChan, WebGLContextShareMode, WebGLError, WebGLPipeline, WebGLMsgSender}; use canvas_traits::webgl::{WebGLReceiver, WebGLSender, WebGLShaderId, WebGLTextureId, WebGLVertexArrayId}; +use canvas_traits::webgl::{WebGLSLVersion, WebGLVersion}; use cssparser::RGBA; use devtools_traits::{CSSError, TimelineMarkerType, WorkerId}; use dom::abstractworker::SharedRt; @@ -412,6 +413,7 @@ unsafe_no_jsmanaged_fields!(WebGLShaderId); unsafe_no_jsmanaged_fields!(WebGLTextureId); unsafe_no_jsmanaged_fields!(WebGLVertexArrayId); unsafe_no_jsmanaged_fields!(WebGLVersion); +unsafe_no_jsmanaged_fields!(WebGLSLVersion); unsafe_no_jsmanaged_fields!(MediaList); unsafe_no_jsmanaged_fields!(WebVRGamepadHand); unsafe_no_jsmanaged_fields!(ScriptToConstellationChan); diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index d687b17cc980..21712563e40c 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -4,7 +4,7 @@ use byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; use canvas_traits::canvas::{byte_swap, multiply_u8_pixel}; -use canvas_traits::webgl::{WebGLContextShareMode, WebGLCommand, WebGLError, WebGLVersion}; +use canvas_traits::webgl::{WebGLContextShareMode, WebGLCommand, WebGLError, WebGLVersion, WebGLSLVersion}; use canvas_traits::webgl::{WebGLFramebufferBindingRequest, WebGLMsg, WebGLMsgSender, WebGLParameter, WebVRCommand}; use canvas_traits::webgl::DOMToTextureCommand; use canvas_traits::webgl::WebGLError::*; @@ -187,6 +187,7 @@ pub struct WebGLRenderingContext { webrender_image: Cell>, share_mode: WebGLContextShareMode, webgl_version: WebGLVersion, + glsl_version: WebGLSLVersion, #[ignore_malloc_size_of = "Defined in offscreen_gl_context"] limits: GLLimits, canvas: Dom, @@ -236,6 +237,7 @@ impl WebGLRenderingContext { webrender_image: Cell::new(None), share_mode: ctx_data.share_mode, webgl_version, + glsl_version: ctx_data.glsl_version, limits: ctx_data.limits, canvas: Dom::from_ref(canvas), last_error: Cell::new(None), @@ -1914,7 +1916,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 fn CompileShader(&self, shader: Option<&WebGLShader>) { if let Some(shader) = shader { - shader.compile(self.webgl_version, &self.extension_manager) + shader.compile(self.webgl_version, self.glsl_version, &self.extension_manager) } } diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 3ce6b93ad778..4a50a6d97f34 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -4,8 +4,8 @@ // https://www.khronos.org/registry/webgl/specs/latest/1.0/webgl.idl use angle::hl::{BuiltInResources, Output, ShaderValidator}; +use canvas_traits::webgl::{WebGLSLVersion, WebGLVersion}; use canvas_traits::webgl::{webgl_channel, WebGLCommand, WebGLMsgSender, WebGLParameter, WebGLResult, WebGLShaderId}; -use canvas_traits::webgl::WebGLVersion; use dom::bindings::cell::DomRefCell; use dom::bindings::codegen::Bindings::WebGLShaderBinding; use dom::bindings::reflector::reflect_dom_object; @@ -40,12 +40,6 @@ pub struct WebGLShader { renderer: WebGLMsgSender, } -#[cfg(not(target_os = "android"))] -const SHADER_OUTPUT_FORMAT: Output = Output::Glsl; - -#[cfg(target_os = "android")] -const SHADER_OUTPUT_FORMAT: Output = Output::Essl; - static GLSLANG_INITIALIZATION: Once = ONCE_INIT; impl WebGLShader { @@ -100,7 +94,12 @@ impl WebGLShader { } /// glCompileShader - pub fn compile(&self, version: WebGLVersion, ext: &WebGLExtensions) { + pub fn compile( + &self, + webgl_version: WebGLVersion, + glsl_version: WebGLSLVersion, + ext: &WebGLExtensions + ) { if self.compilation_status.get() != ShaderCompilationStatus::NotCompiled { debug!("Compiling already compiled shader {}", self.id); } @@ -109,15 +108,37 @@ impl WebGLShader { let mut params = BuiltInResources::default(); params.FragmentPrecisionHigh = 1; params.OES_standard_derivatives = ext.is_enabled::() as i32; - let validator = match version { + let validator = match webgl_version { WebGLVersion::WebGL1 => { + let output_format = if cfg!(any(target_os = "android", target_os = "ios")) { + Output::Essl + } else { + Output::Glsl + }; ShaderValidator::for_webgl(self.gl_type, - SHADER_OUTPUT_FORMAT, + output_format, ¶ms).unwrap() }, WebGLVersion::WebGL2 => { + let output_format = if cfg!(any(target_os = "android", target_os = "ios")) { + Output::Essl + } else { + match (glsl_version.major, glsl_version.minor) { + (1, 30) => Output::Glsl130, + (1, 40) => Output::Glsl140, + (1, 50) => Output::Glsl150Core, + (3, 30) => Output::Glsl330Core, + (4, 0) => Output::Glsl400Core, + (4, 10) => Output::Glsl410Core, + (4, 20) => Output::Glsl420Core, + (4, 30) => Output::Glsl430Core, + (4, 40) => Output::Glsl440Core, + (4, _) => Output::Glsl450Core, + _ => Output::Glsl140 + } + }; ShaderValidator::for_webgl2(self.gl_type, - SHADER_OUTPUT_FORMAT, + output_format, ¶ms).unwrap() }, }; diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-as-return-value.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-as-return-value.html.ini index 854544dd7ac2..c37f3cb96392 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-as-return-value.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-as-return-value.html.ini @@ -1,13 +1,5 @@ [array-as-return-value.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Expression where a returned array is not used] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Expression where a returned array is compared] - expected: FAIL - - [WebGL test #2: [unexpected fragment shader compile status\] (expected: true) Expression where a returned array is returned again] - expected: FAIL - - [WebGL test #3: [unexpected fragment shader compile status\] (expected: true) Expression where a returned array is passed as a parameter] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign-constructor.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign-constructor.html.ini deleted file mode 100644 index 890bd08dd5a2..000000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign-constructor.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[array-assign-constructor.html] - [WebGL test #0: should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,255,255,255] - expected: FAIL - - [WebGL test #1: should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,255,255,255] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign.html.ini index 955df398468e..0f0efe82c19b 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-assign.html.ini @@ -1,7 +1,5 @@ [array-assign.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Arrays of integers] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Arrays of structs] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-complex-indexing.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-complex-indexing.html.ini index 33cb6a0ad202..ada749d71c90 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-complex-indexing.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-complex-indexing.html.ini @@ -1,10 +1,5 @@ [array-complex-indexing.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Test indexing a variable assignment: (a = b)[0\]] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Test indexing a function return with a side-effect: (functionReturnArray())[0\]] - expected: FAIL - - [WebGL test #2: [unexpected fragment shader compile status\] (expected: true) Test indexing an array initialization: (float[3\](2.0, 1.0, 0.0))[0\]] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-element-increment.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-element-increment.html.ini index 8792f7559550..65cc8af2837a 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-element-increment.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-element-increment.html.ini @@ -3,9 +3,3 @@ [Overall test] expected: NOTRUN - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Increment an element of a vector array] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Increment an element of a vector array] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-equality.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-equality.html.ini index 8d2bffeddd80..daf23e04a8d6 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-equality.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-equality.html.ini @@ -1,7 +1,5 @@ [array-equality.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Arrays of integers] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Arrays of structs] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-in-complex-expression.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-in-complex-expression.html.ini index ec7f47418c12..951756d42522 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-in-complex-expression.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/array-in-complex-expression.html.ini @@ -1,7 +1,5 @@ [array-in-complex-expression.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Expression where an array is returned from a function call in an operand of a ternary operator that doesn't get evaluated] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Expression where first operand of a sequence operator has side effects which affect the second operand that returns an array] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/bool-type-cast-bug-uint-ivec-uvec.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/bool-type-cast-bug-uint-ivec-uvec.html.ini deleted file mode 100644 index b389950b820f..000000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/bool-type-cast-bug-uint-ivec-uvec.html.ini +++ /dev/null @@ -1,34 +0,0 @@ -[bool-type-cast-bug-uint-ivec-uvec.html] - [WebGL test #0: Fail to set up program] - expected: FAIL - - [WebGL test #1: Fail to set up program] - expected: FAIL - - [WebGL test #2: Fail to set up program] - expected: FAIL - - [WebGL test #6: Fail to set up program] - expected: FAIL - - [WebGL test #7: Fail to set up program] - expected: FAIL - - [WebGL test #8: Fail to set up program] - expected: FAIL - - [WebGL test #12: Fail to set up program] - expected: FAIL - - [WebGL test #13: Fail to set up program] - expected: FAIL - - [WebGL test #14: Fail to set up program] - expected: FAIL - - [WebGL test #18: Fail to set up program] - expected: FAIL - - [WebGL test #19: Fail to set up program] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/compound-assignment-type-combination.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/compound-assignment-type-combination.html.ini deleted file mode 100644 index f50d13c9fdec..000000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/compound-assignment-type-combination.html.ini +++ /dev/null @@ -1,433 +0,0 @@ -[compound-assignment-type-combination.html] - [WebGL test #50: [unexpected vertex shader compile status\] (expected: true) mat2x3 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #51: [link failed\] mat2x3 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #52: [unexpected fragment shader compile status\] (expected: true) mat2x3 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #53: [unexpected vertex shader compile status\] (expected: true) mat2x3 += mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #54: [link failed\] mat2x3 += mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #55: [unexpected fragment shader compile status\] (expected: true) mat2x3 += mat2x3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #60: [unexpected vertex shader compile status\] (expected: true) mat2x4 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #61: [link failed\] mat2x4 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #62: [unexpected fragment shader compile status\] (expected: true) mat2x4 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #63: [unexpected vertex shader compile status\] (expected: true) mat2x4 += mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #64: [link failed\] mat2x4 += mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #65: [unexpected fragment shader compile status\] (expected: true) mat2x4 += mat2x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #70: [unexpected vertex shader compile status\] (expected: true) mat3x2 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #71: [link failed\] mat3x2 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #72: [unexpected fragment shader compile status\] (expected: true) mat3x2 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #73: [unexpected vertex shader compile status\] (expected: true) mat3x2 += mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #74: [link failed\] mat3x2 += mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #75: [unexpected fragment shader compile status\] (expected: true) mat3x2 += mat3x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #80: [unexpected vertex shader compile status\] (expected: true) mat3x4 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #81: [link failed\] mat3x4 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #82: [unexpected fragment shader compile status\] (expected: true) mat3x4 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #83: [unexpected vertex shader compile status\] (expected: true) mat3x4 += mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #84: [link failed\] mat3x4 += mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #85: [unexpected fragment shader compile status\] (expected: true) mat3x4 += mat3x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #90: [unexpected vertex shader compile status\] (expected: true) mat4x2 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #91: [link failed\] mat4x2 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #92: [unexpected fragment shader compile status\] (expected: true) mat4x2 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #93: [unexpected vertex shader compile status\] (expected: true) mat4x2 += mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #94: [link failed\] mat4x2 += mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #95: [unexpected fragment shader compile status\] (expected: true) mat4x2 += mat4x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #100: [unexpected vertex shader compile status\] (expected: true) mat4x3 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #101: [link failed\] mat4x3 += float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #102: [unexpected fragment shader compile status\] (expected: true) mat4x3 += float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #103: [unexpected vertex shader compile status\] (expected: true) mat4x3 += mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #104: [link failed\] mat4x3 += mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #105: [unexpected fragment shader compile status\] (expected: true) mat4x3 += mat4x3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #178: [unexpected vertex shader compile status\] (expected: true) mat2x3 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #179: [link failed\] mat2x3 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #180: [unexpected fragment shader compile status\] (expected: true) mat2x3 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #181: [unexpected vertex shader compile status\] (expected: true) mat2x3 -= mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #182: [link failed\] mat2x3 -= mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #183: [unexpected fragment shader compile status\] (expected: true) mat2x3 -= mat2x3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #188: [unexpected vertex shader compile status\] (expected: true) mat2x4 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #189: [link failed\] mat2x4 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #190: [unexpected fragment shader compile status\] (expected: true) mat2x4 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #191: [unexpected vertex shader compile status\] (expected: true) mat2x4 -= mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #192: [link failed\] mat2x4 -= mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #193: [unexpected fragment shader compile status\] (expected: true) mat2x4 -= mat2x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #198: [unexpected vertex shader compile status\] (expected: true) mat3x2 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #199: [link failed\] mat3x2 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #200: [unexpected fragment shader compile status\] (expected: true) mat3x2 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #201: [unexpected vertex shader compile status\] (expected: true) mat3x2 -= mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #202: [link failed\] mat3x2 -= mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #203: [unexpected fragment shader compile status\] (expected: true) mat3x2 -= mat3x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #208: [unexpected vertex shader compile status\] (expected: true) mat3x4 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #209: [link failed\] mat3x4 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #210: [unexpected fragment shader compile status\] (expected: true) mat3x4 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #211: [unexpected vertex shader compile status\] (expected: true) mat3x4 -= mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #212: [link failed\] mat3x4 -= mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #213: [unexpected fragment shader compile status\] (expected: true) mat3x4 -= mat3x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #218: [unexpected vertex shader compile status\] (expected: true) mat4x2 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #219: [link failed\] mat4x2 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #220: [unexpected fragment shader compile status\] (expected: true) mat4x2 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #221: [unexpected vertex shader compile status\] (expected: true) mat4x2 -= mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #222: [link failed\] mat4x2 -= mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #223: [unexpected fragment shader compile status\] (expected: true) mat4x2 -= mat4x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #228: [unexpected vertex shader compile status\] (expected: true) mat4x3 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #229: [link failed\] mat4x3 -= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #230: [unexpected fragment shader compile status\] (expected: true) mat4x3 -= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #231: [unexpected vertex shader compile status\] (expected: true) mat4x3 -= mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #232: [link failed\] mat4x3 -= mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #233: [unexpected fragment shader compile status\] (expected: true) mat4x3 -= mat4x3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #312: [unexpected vertex shader compile status\] (expected: true) mat2x3 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #313: [link failed\] mat2x3 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #314: [unexpected fragment shader compile status\] (expected: true) mat2x3 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #317: [unexpected vertex shader compile status\] (expected: true) mat2x3 *= mat2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #318: [link failed\] mat2x3 *= mat2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #319: [unexpected fragment shader compile status\] (expected: true) mat2x3 *= mat2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #324: [unexpected vertex shader compile status\] (expected: true) mat2x4 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #325: [link failed\] mat2x4 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #326: [unexpected fragment shader compile status\] (expected: true) mat2x4 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #329: [unexpected vertex shader compile status\] (expected: true) mat2x4 *= mat2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #330: [link failed\] mat2x4 *= mat2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #331: [unexpected fragment shader compile status\] (expected: true) mat2x4 *= mat2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #336: [unexpected vertex shader compile status\] (expected: true) mat3x2 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #337: [link failed\] mat3x2 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #338: [unexpected fragment shader compile status\] (expected: true) mat3x2 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #341: [unexpected vertex shader compile status\] (expected: true) mat3x2 *= mat3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #342: [link failed\] mat3x2 *= mat3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #343: [unexpected fragment shader compile status\] (expected: true) mat3x2 *= mat3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #348: [unexpected vertex shader compile status\] (expected: true) mat3x4 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #349: [link failed\] mat3x4 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #350: [unexpected fragment shader compile status\] (expected: true) mat3x4 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #353: [unexpected vertex shader compile status\] (expected: true) mat3x4 *= mat3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #354: [link failed\] mat3x4 *= mat3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #355: [unexpected fragment shader compile status\] (expected: true) mat3x4 *= mat3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #360: [unexpected vertex shader compile status\] (expected: true) mat4x2 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #361: [link failed\] mat4x2 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #362: [unexpected fragment shader compile status\] (expected: true) mat4x2 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #365: [unexpected vertex shader compile status\] (expected: true) mat4x2 *= mat4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #366: [link failed\] mat4x2 *= mat4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #367: [unexpected fragment shader compile status\] (expected: true) mat4x2 *= mat4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #372: [unexpected vertex shader compile status\] (expected: true) mat4x3 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #373: [link failed\] mat4x3 *= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #374: [unexpected fragment shader compile status\] (expected: true) mat4x3 *= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #377: [unexpected vertex shader compile status\] (expected: true) mat4x3 *= mat4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #378: [link failed\] mat4x3 *= mat4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #379: [unexpected fragment shader compile status\] (expected: true) mat4x3 *= mat4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #452: [unexpected vertex shader compile status\] (expected: true) mat2x3 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #453: [link failed\] mat2x3 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #454: [unexpected fragment shader compile status\] (expected: true) mat2x3 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #455: [unexpected vertex shader compile status\] (expected: true) mat2x3 /= mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #456: [link failed\] mat2x3 /= mat2x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #457: [unexpected fragment shader compile status\] (expected: true) mat2x3 /= mat2x3 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #462: [unexpected vertex shader compile status\] (expected: true) mat2x4 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #463: [link failed\] mat2x4 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #464: [unexpected fragment shader compile status\] (expected: true) mat2x4 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #465: [unexpected vertex shader compile status\] (expected: true) mat2x4 /= mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #466: [link failed\] mat2x4 /= mat2x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #467: [unexpected fragment shader compile status\] (expected: true) mat2x4 /= mat2x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #472: [unexpected vertex shader compile status\] (expected: true) mat3x2 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #473: [link failed\] mat3x2 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #474: [unexpected fragment shader compile status\] (expected: true) mat3x2 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #475: [unexpected vertex shader compile status\] (expected: true) mat3x2 /= mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #476: [link failed\] mat3x2 /= mat3x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #477: [unexpected fragment shader compile status\] (expected: true) mat3x2 /= mat3x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #482: [unexpected vertex shader compile status\] (expected: true) mat3x4 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #483: [link failed\] mat3x4 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #484: [unexpected fragment shader compile status\] (expected: true) mat3x4 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #485: [unexpected vertex shader compile status\] (expected: true) mat3x4 /= mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #486: [link failed\] mat3x4 /= mat3x4 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #487: [unexpected fragment shader compile status\] (expected: true) mat3x4 /= mat3x4 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #492: [unexpected vertex shader compile status\] (expected: true) mat4x2 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #493: [link failed\] mat4x2 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #494: [unexpected fragment shader compile status\] (expected: true) mat4x2 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #495: [unexpected vertex shader compile status\] (expected: true) mat4x2 /= mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #496: [link failed\] mat4x2 /= mat4x2 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #497: [unexpected fragment shader compile status\] (expected: true) mat4x2 /= mat4x2 in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #502: [unexpected vertex shader compile status\] (expected: true) mat4x3 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #503: [link failed\] mat4x3 /= float in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #504: [unexpected fragment shader compile status\] (expected: true) mat4x3 /= float in a fragment shader should succeed.] - expected: FAIL - - [WebGL test #505: [unexpected vertex shader compile status\] (expected: true) mat4x3 /= mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #506: [link failed\] mat4x3 /= mat4x3 in a vertex shader should succeed.] - expected: FAIL - - [WebGL test #507: [unexpected fragment shader compile status\] (expected: true) mat4x3 /= mat4x3 in a fragment shader should succeed.] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/const-array-init.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/const-array-init.html.ini index a956edab060e..3760319fff17 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/const-array-init.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/const-array-init.html.ini @@ -1,10 +1,5 @@ [const-array-init.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Global constant array with vec4 constructors and literals in the initializer] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Global constant array which indexes another global constant array in the initializer] - expected: FAIL - - [WebGL test #2: [unexpected fragment shader compile status\] (expected: true) Global constant array initialized to another global constant array] - expected: FAIL + expected: ERROR + [Overall test] + expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html.ini deleted file mode 100644 index fc4316f57437..000000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[no-attribute-vertex-shader.html] - [WebGL test #0: Program compilation failed] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-out-of-range.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-out-of-range.html.ini index df6b989da30e..8cb7bcc05ea7 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-out-of-range.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-out-of-range.html.ini @@ -5,3 +5,9 @@ [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Maximum in-range texture offset should compile] expected: FAIL + [WebGL test #2: [unexpected link status\] Texture offset below minimum valid value should not compile] + expected: FAIL + + [WebGL test #3: [unexpected link status\] Texture offset above maximum valid value should not compile] + expected: FAIL + diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html.ini deleted file mode 100644 index b123b2b6e094..000000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html.ini +++ /dev/null @@ -1,22 +0,0 @@ -[texture-offset-uniform-texture-coordinate.html] - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) textureOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) textureLodOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #2: [unexpected fragment shader compile status\] (expected: true) textureGradOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #3: [unexpected fragment shader compile status\] (expected: true) textureProjOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #4: [unexpected fragment shader compile status\] (expected: true) textureProjLodOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #5: [unexpected fragment shader compile status\] (expected: true) textureProjGradOffset with uniform texture coordinates should not crash] - expected: FAIL - - [WebGL test #6: [unexpected fragment shader compile status\] (expected: true) texelFetchOffset with uniform texture coordinates should not crash] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/tricky-loop-conditions.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/tricky-loop-conditions.html.ini index 45e69ea98ba9..914335ea0d7b 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/tricky-loop-conditions.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/glsl3/tricky-loop-conditions.html.ini @@ -3,51 +3,3 @@ [Overall test] expected: NOTRUN - [WebGL test #0: [unexpected fragment shader compile status\] (expected: true) Test indexing an array assignment: bool((c = (a = b)[0\]) + 1.0) inside a for loop condition] - expected: FAIL - - [WebGL test #1: [unexpected fragment shader compile status\] (expected: true) Test indexing an array assignment: bool((c = (a = b)[0\]) + 1.0) inside a while loop condition] - expected: FAIL - - [WebGL test #2: [unexpected fragment shader compile status\] (expected: true) Test indexing an array assignment: bool((c = (a = b)[0\]) + 1.0) inside a do-while loop condition] - expected: FAIL - - [WebGL test #3: [unexpected fragment shader compile status\] (expected: true) Test indexing an array assignment: c = (a = b)[0\] inside a for loop expression] - expected: FAIL - - [WebGL test #4: [unexpected fragment shader compile status\] (expected: true) Test indexing a function returning an array: bool(c = functionReturnArray()[0\]) inside a for loop condition] - expected: FAIL - - [WebGL test #5: [unexpected fragment shader compile status\] (expected: true) Test indexing a function returning an array: bool(c = functionReturnArray()[0\]) inside a while loop condition] - expected: FAIL - - [WebGL test #6: [unexpected fragment shader compile status\] (expected: true) Test indexing a function returning an array: bool(c = functionReturnArray()[0\]) inside a do-while loop condition] - expected: FAIL - - [WebGL test #7: [unexpected fragment shader compile status\] (expected: true) Test indexing a function returning an array: c = functionReturnArray()[0\] inside a for loop expression] - expected: FAIL - - [WebGL test #8: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor: bool(c = (int[2\](c + 1, c + 2))[1\]) inside a for loop condition] - expected: FAIL - - [WebGL test #9: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor: bool(c = (int[2\](c + 1, c + 2))[1\]) inside a while loop condition] - expected: FAIL - - [WebGL test #10: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor: bool(c = (int[2\](c + 1, c + 2))[1\]) inside a do-while loop condition] - expected: FAIL - - [WebGL test #11: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor: c = (int[2\](c + 1, c + 2))[1\] inside a for loop expression] - expected: FAIL - - [WebGL test #12: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor inside a sequence operator: bool(c = (func(), (int[2\](c + 1, c + 2))[1\])) inside a for loop condition] - expected: FAIL - - [WebGL test #13: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor inside a sequence operator: bool(c = (func(), (int[2\](c + 1, c + 2))[1\])) inside a while loop condition] - expected: FAIL - - [WebGL test #14: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor inside a sequence operator: bool(c = (func(), (int[2\](c + 1, c + 2))[1\])) inside a do-while loop condition] - expected: FAIL - - [WebGL test #15: [unexpected fragment shader compile status\] (expected: true) Test indexing an array constructor inside a sequence operator: c = (func(), (int[2\](c + 1, c + 2))[1\]) inside a for loop expression] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/attrib-type-match.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/attrib-type-match.html.ini index b50e2dfb0061..a43eb0b322f7 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/attrib-type-match.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/attrib-type-match.html.ini @@ -1,7 +1,5 @@ [attrib-type-match.html] - [WebGL test #1: Set up program failed] - expected: FAIL - - [WebGL test #2: Set up program failed] + expected: ERROR + [WebGL test #2: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL diff --git a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/rendering-sampling-feedback-loop.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/rendering-sampling-feedback-loop.html.ini index 8cc6fb5b741e..9a29f0113d05 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/rendering-sampling-feedback-loop.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-2.0.0/conformance2/rendering/rendering-sampling-feedback-loop.html.ini @@ -1,8 +1,5 @@ [rendering-sampling-feedback-loop.html] expected: ERROR - [WebGL test #1: Set up program failed] - expected: FAIL - [WebGL test #2: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL