diff options
Diffstat (limited to 'components/script/dom/webgl_extensions')
4 files changed, 14 insertions, 8 deletions
diff --git a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs index 33ea2aa67b8..3ace3673499 100644 --- a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs +++ b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs @@ -7,7 +7,7 @@ use crate::dom::bindings::codegen::Bindings::EXTShaderTextureLodBinding; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::DomRoot; use crate::dom::webglrenderingcontext::WebGLRenderingContext; -use canvas_traits::webgl::{is_gles, WebGLVersion}; +use canvas_traits::webgl::WebGLVersion; use dom_struct::dom_struct; #[dom_struct] @@ -40,7 +40,7 @@ impl WebGLExtension for EXTShaderTextureLod { fn is_supported(ext: &WebGLExtensions) -> bool { // This extension is always available on desktop GL. - !is_gles() || ext.supports_gl_extension("GL_EXT_shader_texture_lod") + !ext.is_gles() || ext.supports_gl_extension("GL_EXT_shader_texture_lod") } fn enable(_ext: &WebGLExtensions) {} diff --git a/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs b/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs index 3182ed8699f..6d6112529b9 100644 --- a/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs +++ b/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs @@ -7,7 +7,7 @@ use crate::dom::bindings::codegen::Bindings::OESElementIndexUintBinding; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::DomRoot; use crate::dom::webglrenderingcontext::WebGLRenderingContext; -use canvas_traits::webgl::{is_gles, WebGLVersion}; +use canvas_traits::webgl::WebGLVersion; use dom_struct::dom_struct; #[dom_struct] @@ -40,7 +40,7 @@ impl WebGLExtension for OESElementIndexUint { fn is_supported(ext: &WebGLExtensions) -> bool { // This extension is always available in desktop OpenGL. - !is_gles() || ext.supports_gl_extension("GL_OES_element_index_uint") + !ext.is_gles() || ext.supports_gl_extension("GL_OES_element_index_uint") } fn enable(ext: &WebGLExtensions) { diff --git a/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs b/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs index 5505deb543a..b6945123a12 100644 --- a/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs +++ b/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs @@ -8,7 +8,7 @@ use crate::dom::bindings::codegen::Bindings::OESStandardDerivativesBinding::OESS use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::DomRoot; use crate::dom::webglrenderingcontext::WebGLRenderingContext; -use canvas_traits::webgl::{is_gles, WebGLVersion}; +use canvas_traits::webgl::WebGLVersion; use dom_struct::dom_struct; #[dom_struct] @@ -40,7 +40,7 @@ impl WebGLExtension for OESStandardDerivatives { fn is_supported(ext: &WebGLExtensions) -> bool { // The standard derivatives are always available in desktop OpenGL. - !is_gles() || ext.supports_any_gl_extension(&["GL_OES_standard_derivatives"]) + !ext.is_gles() || ext.supports_any_gl_extension(&["GL_OES_standard_derivatives"]) } fn enable(ext: &WebGLExtensions) { diff --git a/components/script/dom/webgl_extensions/extensions.rs b/components/script/dom/webgl_extensions/extensions.rs index e71fcf7dac5..7beb3081374 100644 --- a/components/script/dom/webgl_extensions/extensions.rs +++ b/components/script/dom/webgl_extensions/extensions.rs @@ -18,7 +18,7 @@ use crate::dom::oestexturehalffloat::OESTextureHalfFloat; use crate::dom::webglcolorbufferfloat::WEBGLColorBufferFloat; use crate::dom::webglrenderingcontext::WebGLRenderingContext; use crate::dom::webgltexture::TexCompression; -use canvas_traits::webgl::WebGLVersion; +use canvas_traits::webgl::{GlType, WebGLVersion}; use fnv::{FnvHashMap, FnvHashSet}; use gleam::gl::{self, GLenum}; use js::jsapi::JSObject; @@ -146,14 +146,16 @@ pub struct WebGLExtensions { extensions: DomRefCell<HashMap<String, Box<dyn WebGLExtensionWrapper>>>, features: DomRefCell<WebGLExtensionFeatures>, webgl_version: WebGLVersion, + api_type: GlType, } impl WebGLExtensions { - pub fn new(webgl_version: WebGLVersion) -> WebGLExtensions { + pub fn new(webgl_version: WebGLVersion, api_type: GlType) -> WebGLExtensions { Self { extensions: DomRefCell::new(HashMap::new()), features: DomRefCell::new(WebGLExtensionFeatures::new(webgl_version)), webgl_version, + api_type, } } @@ -425,6 +427,10 @@ impl WebGLExtensions { } type_ } + + pub fn is_gles(&self) -> bool { + self.api_type == GlType::Gles + } } // Helper structs |