aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgl_extensions
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webgl_extensions')
-rw-r--r--components/script/dom/webgl_extensions/ext/extshadertexturelod.rs4
-rw-r--r--components/script/dom/webgl_extensions/ext/oeselementindexuint.rs4
-rw-r--r--components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs4
-rw-r--r--components/script/dom/webgl_extensions/extensions.rs10
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