diff options
author | Eric Anholt <eric@anholt.net> | 2016-12-31 11:08:27 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2016-12-31 11:37:38 -0800 |
commit | daa64bf84f1f17e82e77bea896bf86a6b2a6672d (patch) | |
tree | fd83f476c2828bf29a125f40307fdc7521297bc1 /components/script/dom/webglrenderingcontext.rs | |
parent | b06f4aec67ff93b1d667a5817084b0952e56664e (diff) | |
download | servo-daa64bf84f1f17e82e77bea896bf86a6b2a6672d.tar.gz servo-daa64bf84f1f17e82e77bea896bf86a6b2a6672d.zip |
webgl: Validate enums for blendEquation.
Improves a conformance test that tried passing in desktop GL enums for
blending.
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 81dfe804278..7ac39c13e1f 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -788,11 +788,19 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3 fn BlendEquation(&self, mode: u32) { + if mode != constants::FUNC_ADD { + return self.webgl_error(InvalidEnum); + } + self.ipc_renderer.send(CanvasMsg::WebGL(WebGLCommand::BlendEquation(mode))).unwrap(); } // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3 fn BlendEquationSeparate(&self, mode_rgb: u32, mode_alpha: u32) { + if mode_rgb != constants::FUNC_ADD || mode_alpha != constants::FUNC_ADD { + return self.webgl_error(InvalidEnum); + } + self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::BlendEquationSeparate(mode_rgb, mode_alpha))) .unwrap(); |