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/webglshader.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/webglshader.rs')
-rw-r--r-- | components/script/dom/webglshader.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 9ee44bb8be9..bf63bdd3840 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -14,7 +14,7 @@ use crate::dom::webgl_extensions::ext::oesstandardderivatives::OESStandardDeriva use crate::dom::webgl_extensions::WebGLExtensions; use crate::dom::webglobject::WebGLObject; use crate::dom::webglrenderingcontext::WebGLRenderingContext; -use canvas_traits::webgl::{webgl_channel, WebGLVersion}; +use canvas_traits::webgl::{webgl_channel, GlType, WebGLVersion}; use canvas_traits::webgl::{GLLimits, WebGLCommand, WebGLError}; use canvas_traits::webgl::{WebGLResult, WebGLSLVersion, WebGLShaderId}; use dom_struct::dom_struct; @@ -93,6 +93,7 @@ impl WebGLShader { /// glCompileShader pub fn compile( &self, + api_type: GlType, webgl_version: WebGLVersion, glsl_version: WebGLSLVersion, limits: &GLLimits, @@ -122,7 +123,7 @@ impl WebGLShader { }; let validator = match webgl_version { WebGLVersion::WebGL1 => { - let output_format = if cfg!(any(target_os = "android", target_os = "ios")) { + let output_format = if api_type == GlType::Gles { Output::Essl } else { Output::Glsl @@ -130,7 +131,7 @@ impl WebGLShader { ShaderValidator::for_webgl(self.gl_type, output_format, ¶ms).unwrap() }, WebGLVersion::WebGL2 => { - let output_format = if cfg!(any(target_os = "android", target_os = "ios")) { + let output_format = if api_type == GlType::Gles { Output::Essl } else { match (glsl_version.major, glsl_version.minor) { |