diff options
author | Imanol Fernandez <mortimergoro@gmail.com> | 2017-08-21 22:37:19 +0200 |
---|---|---|
committer | Imanol Fernandez <mortimergoro@gmail.com> | 2017-08-22 15:01:26 +0200 |
commit | 1dd3899c370a9fe763b57f8dd9a0139fb09e7b7e (patch) | |
tree | 483cd388fb51d6ecf954a06645081a86eecc6c45 /components/script/dom/webglshader.rs | |
parent | d4e43d9d7668d55f6cbf2586115c9a856525e88e (diff) | |
download | servo-1dd3899c370a9fe763b57f8dd9a0139fb09e7b7e.tar.gz servo-1dd3899c370a9fe763b57f8dd9a0139fb09e7b7e.zip |
Implement WebGL OES_standard_derivatives extension.
Diffstat (limited to 'components/script/dom/webglshader.rs')
-rw-r--r-- | components/script/dom/webglshader.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index cf6fc55072d..9bf76e91051 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -10,6 +10,8 @@ use dom::bindings::codegen::Bindings::WebGLShaderBinding; use dom::bindings::js::Root; use dom::bindings::reflector::reflect_dom_object; use dom::bindings::str::DOMString; +use dom::webgl_extensions::WebGLExtensions; +use dom::webgl_extensions::ext::oesstandardderivatives::OESStandardDerivatives; use dom::webglobject::WebGLObject; use dom::window::Window; use dom_struct::dom_struct; @@ -97,7 +99,7 @@ impl WebGLShader { } /// glCompileShader - pub fn compile(&self) { + pub fn compile(&self, ext: &WebGLExtensions) { if self.compilation_status.get() != ShaderCompilationStatus::NotCompiled { debug!("Compiling already compiled shader {}", self.id); } @@ -105,6 +107,7 @@ impl WebGLShader { if let Some(ref source) = *self.source.borrow() { let mut params = BuiltInResources::default(); params.FragmentPrecisionHigh = 1; + params.OES_standard_derivatives = ext.is_enabled::<OESStandardDerivatives>() as i32; let validator = ShaderValidator::for_webgl(self.gl_type, SHADER_OUTPUT_FORMAT, ¶ms).unwrap(); |