diff options
author | Josh Matthews <josh@joshmatthews.net> | 2019-07-10 17:34:16 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2019-07-12 13:36:44 -0400 |
commit | dbaed5ed9276843ae3aa10f8671f65db839b7ffe (patch) | |
tree | 8493b7aa58d3e19cf558ebd5d346e5ea2ae897c4 /components/script/dom/webglshader.rs | |
parent | 812bf8d816d29ecf132ff15a2da6a83c690e2e48 (diff) | |
download | servo-dbaed5ed9276843ae3aa10f8671f65db839b7ffe.tar.gz servo-dbaed5ed9276843ae3aa10f8671f65db839b7ffe.zip |
Make GL/GLES decisions based on the API in use.
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) { |