aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2020-04-29 14:29:53 -0400
committerJosh Matthews <josh@joshmatthews.net>2020-04-30 00:21:49 -0400
commit9ce84d94dea493404d0133a82adc564ce9f2b232 (patch)
treea71f5ea547506e428f916ef83de6fa03f19868bd /components/script/dom/webglrenderingcontext.rs
parent3876d6dbdde03173a99104e120a3321dfcbcbebd (diff)
downloadservo-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.rs14
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())
+ },
}
}