Implement most of the unsupported parameters in gl.getParameter()

Fixes #20536.
Fixes #20537.
Fixes #20538.
Fixes #20544.
Fixes #20545.
Fixes #20546.
Fixes #20548.
Fixes #20549.
Fixes #20551.
This commit is contained in:
Anthony Ramine 2018-05-09 16:23:09 +02:00
parent d4df55b417
commit 3e510ec008
6 changed files with 67 additions and 321 deletions

View file

@ -893,6 +893,19 @@ impl WebGLImpl {
}
sender.send(value[0] != 0).unwrap()
}
WebGLCommand::GetParameterBool4(param, sender) => {
let mut value = [0; 4];
unsafe {
ctx.gl().get_boolean_v(param as u32, &mut value);
}
let value = [
value[0] != 0,
value[1] != 0,
value[2] != 0,
value[3] != 0,
];
sender.send(value).unwrap()
}
WebGLCommand::GetParameterInt(param, sender) => {
let mut value = [0];
unsafe {
@ -921,6 +934,13 @@ impl WebGLImpl {
}
sender.send(value).unwrap()
}
WebGLCommand::GetParameterFloat4(param, sender) => {
let mut value = [0.; 4];
unsafe {
ctx.gl().get_float_v(param as u32, &mut value);
}
sender.send(value).unwrap()
}
WebGLCommand::GetProgramParameterBool(program, param, sender) => {
let mut value = [0];
unsafe {