aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgl_extensions
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-08-02 09:26:35 -0400
committerGitHub <noreply@github.com>2018-08-02 09:26:35 -0400
commitbde8a1e2390b8fb41c8ce03c4d2914d7980650a0 (patch)
tree970b9139b952cffcb55129c7bf71c3713bc69b8f /components/script/dom/webgl_extensions
parenta5fba3c8d612eeb107be538742725f9a8370d5e0 (diff)
parent03eb7e4dd2c36265319440db38100ba9aa92e182 (diff)
downloadservo-bde8a1e2390b8fb41c8ce03c4d2914d7980650a0.tar.gz
servo-bde8a1e2390b8fb41c8ce03c4d2914d7980650a0.zip
Auto merge of #21313 - jdm:glstuff, r=nox
Framebuffer and renderbuffer fixes This commits address two separate panics that occur when running the framebuffer-object-attachment.html test. The test still panics due to another framebuffer completion status problem, so the overall test results don't demonstrate any improvement. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #21252 - [x] There are tests for these changes <!-- 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/21313) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webgl_extensions')
-rw-r--r--components/script/dom/webgl_extensions/ext/extshadertexturelod.rs7
-rw-r--r--components/script/dom/webgl_extensions/ext/oeselementindexuint.rs7
-rw-r--r--components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs7
3 files changed, 6 insertions, 15 deletions
diff --git a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs
index ce3200db18b..f31a40fd29f 100644
--- a/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs
+++ b/components/script/dom/webgl_extensions/ext/extshadertexturelod.rs
@@ -6,7 +6,7 @@ use canvas_traits::webgl::WebGLVersion;
use dom::bindings::codegen::Bindings::EXTShaderTextureLodBinding;
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::root::DomRoot;
-use dom::webglrenderingcontext::WebGLRenderingContext;
+use dom::webglrenderingcontext::{WebGLRenderingContext, is_gles};
use dom_struct::dom_struct;
use super::{WebGLExtension, WebGLExtensions, WebGLExtensionSpec};
@@ -37,11 +37,8 @@ impl WebGLExtension for EXTShaderTextureLod {
}
fn is_supported(ext: &WebGLExtensions) -> bool {
- 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
+ !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 0e5ad367547..2868ab0c41d 100644
--- a/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs
+++ b/components/script/dom/webgl_extensions/ext/oeselementindexuint.rs
@@ -6,7 +6,7 @@ use canvas_traits::webgl::WebGLVersion;
use dom::bindings::codegen::Bindings::OESElementIndexUintBinding;
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::root::DomRoot;
-use dom::webglrenderingcontext::WebGLRenderingContext;
+use dom::webglrenderingcontext::{WebGLRenderingContext, is_gles};
use dom_struct::dom_struct;
use super::{WebGLExtension, WebGLExtensions, WebGLExtensionSpec};
@@ -37,11 +37,8 @@ impl WebGLExtension for OESElementIndexUint {
}
fn is_supported(ext: &WebGLExtensions) -> bool {
- if cfg!(any(target_os = "android", target_os = "ios")) {
- return ext.supports_gl_extension("GL_OES_element_index_uint");
- }
// This extension is always available in desktop OpenGL.
- true
+ !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 70de0f0dada..36fb84124a5 100644
--- a/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs
+++ b/components/script/dom/webgl_extensions/ext/oesstandardderivatives.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::OESStandardDerivativesBinding;
use dom::bindings::codegen::Bindings::OESStandardDerivativesBinding::OESStandardDerivativesConstants;
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::root::DomRoot;
-use dom::webglrenderingcontext::WebGLRenderingContext;
+use dom::webglrenderingcontext::{WebGLRenderingContext, is_gles};
use dom_struct::dom_struct;
use super::{WebGLExtension, WebGLExtensions, WebGLExtensionSpec};
@@ -37,11 +37,8 @@ impl WebGLExtension for OESStandardDerivatives {
}
fn is_supported(ext: &WebGLExtensions) -> bool {
- if cfg!(any(target_os = "android", target_os = "ios")) {
- return ext.supports_any_gl_extension(&["GL_OES_standard_derivatives"]);
- }
// The standard derivatives are always available in desktop OpenGL.
- true
+ !is_gles() || ext.supports_any_gl_extension(&["GL_OES_standard_derivatives"])
}
fn enable(ext: &WebGLExtensions) {