diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-08-02 09:26:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-02 09:26:35 -0400 |
commit | bde8a1e2390b8fb41c8ce03c4d2914d7980650a0 (patch) | |
tree | 970b9139b952cffcb55129c7bf71c3713bc69b8f /components/script/dom/webgl_extensions | |
parent | a5fba3c8d612eeb107be538742725f9a8370d5e0 (diff) | |
parent | 03eb7e4dd2c36265319440db38100ba9aa92e182 (diff) | |
download | servo-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')
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) { |