diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2019-07-12 15:03:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-12 15:03:00 -0400 |
commit | 2f1e822de84c6af65576fc238d34219fcae1861c (patch) | |
tree | 8493b7aa58d3e19cf558ebd5d346e5ea2ae897c4 /components/script/dom/webgl_extensions/extensions.rs | |
parent | 812bf8d816d29ecf132ff15a2da6a83c690e2e48 (diff) | |
parent | dbaed5ed9276843ae3aa10f8671f65db839b7ffe (diff) | |
download | servo-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.rs | 10 |
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 |