aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgl_extensions/extensions.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-07-12 15:03:00 -0400
committerGitHub <noreply@github.com>2019-07-12 15:03:00 -0400
commit2f1e822de84c6af65576fc238d34219fcae1861c (patch)
tree8493b7aa58d3e19cf558ebd5d346e5ea2ae897c4 /components/script/dom/webgl_extensions/extensions.rs
parent812bf8d816d29ecf132ff15a2da6a83c690e2e48 (diff)
parentdbaed5ed9276843ae3aa10f8671f65db839b7ffe (diff)
downloadservo-2f1e822de84c6af65576fc238d34219fcae1861c.tar.gz
servo-2f1e822de84c6af65576fc238d34219fcae1861c.zip
Auto merge of #23744 - jdm:gles-fixes, r=asajeffrey
Make GL/GLES decisions based on the API in use These changes remove a number of assumptions about whether GL/GLES is in use, improving the support for running WebGL in Servo under ANGLE. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because no tests on Windows. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23744) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webgl_extensions/extensions.rs')
-rw-r--r--components/script/dom/webgl_extensions/extensions.rs10
1 files changed, 8 insertions, 2 deletions
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