diff options
author | Josh Matthews <josh@joshmatthews.net> | 2020-04-29 14:29:53 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2020-04-30 00:21:49 -0400 |
commit | 9ce84d94dea493404d0133a82adc564ce9f2b232 (patch) | |
tree | a71f5ea547506e428f916ef83de6fa03f19868bd /components/script/dom/webglrenderingcontext.rs | |
parent | 3876d6dbdde03173a99104e120a3321dfcbcbebd (diff) | |
download | servo-9ce84d94dea493404d0133a82adc564ce9f2b232.tar.gz servo-9ce84d94dea493404d0133a82adc564ce9f2b232.zip |
webgl: Return TEXTURE_IMMUTABLE_FORMAT as a boolean; don't panic on macOS for TEXTURE_IMMUTABLE_LEVELS.
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 11df0b01903..40b60dd063d 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -2236,6 +2236,15 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { self.webgl_error(InvalidEnum); return NullValue(); } + + if let Some(value) = texture.maybe_get_tex_parameter(texparam) { + match value { + TexParameterValue::Float(v) => return DoubleValue(v as f64), + TexParameterValue::Int(v) => return Int32Value(v), + TexParameterValue::Bool(v) => return BooleanValue(v), + } + } + match texparam { TexParameter::Float(param) => { let (sender, receiver) = webgl_channel().unwrap(); @@ -2247,6 +2256,11 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { self.send_command(WebGLCommand::GetTexParameterInt(target, param, sender)); Int32Value(receiver.recv().unwrap()) }, + TexParameter::Bool(param) => { + let (sender, receiver) = webgl_channel().unwrap(); + self.send_command(WebGLCommand::GetTexParameterBool(target, param, sender)); + BooleanValue(receiver.recv().unwrap()) + }, } } |