diff --git a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs index cb574b0fb50..ce3200db18b 100644 --- a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs +++ b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs @@ -37,7 +37,11 @@ impl WebGLExtension for EXTShaderTextureLod { } fn is_supported(ext: &WebGLExtensions) -> bool { - ext.supports_gl_extension("GL_EXT_shader_texture_lod") + if cfg!(any(target_os = "android", target_os = "ios")) { + return ext.supports_gl_extension("GL_EXT_shader_texture_lod"); + } + // This extension is always available on desktop GL. + true } fn enable(_ext: &WebGLExtensions) {} diff --git a/components/script/dom/webgl_extensions/extensions.rs b/components/script/dom/webgl_extensions/extensions.rs index 33081e4bfe1..ca81e2d10e8 100644 --- a/components/script/dom/webgl_extensions/extensions.rs +++ b/components/script/dom/webgl_extensions/extensions.rs @@ -265,6 +265,7 @@ impl WebGLExtensions { } fn register_all_extensions(&self) { + self.register::(); self.register::(); self.register::(); self.register::(); diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 2fa975939c0..0ec5c262803 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -12,6 +12,7 @@ use dom::bindings::reflector::reflect_dom_object; use dom::bindings::root::DomRoot; use dom::bindings::str::DOMString; use dom::webgl_extensions::WebGLExtensions; +use dom::webgl_extensions::ext::extshadertexturelod::EXTShaderTextureLod; use dom::webgl_extensions::ext::oesstandardderivatives::OESStandardDerivatives; use dom::webglobject::WebGLObject; use dom::window::Window; @@ -117,6 +118,7 @@ impl WebGLShader { let mut params = BuiltInResources::default(); params.FragmentPrecisionHigh = 1; params.OES_standard_derivatives = ext.is_enabled::() as i32; + params.EXT_shader_texture_lod = ext.is_enabled::() as i32; let validator = match webgl_version { WebGLVersion::WebGL1 => { let output_format = if cfg!(any(target_os = "android", target_os = "ios")) {