diff options
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index d9942016425..942e2b48388 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -1009,6 +1009,27 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { } // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10 + fn Uniform1iv(&self, + _cx: *mut JSContext, + uniform: Option<&WebGLUniformLocation>, + data: Option<*mut JSObject>) { + let data = match data { + Some(data) => data, + None => return self.webgl_error(InvalidValue), + }; + + if let Some(data) = array_buffer_view_to_vec_checked::<i32>(data) { + if data.len() < 1 { + return self.webgl_error(InvalidOperation); + } + + self.Uniform1i(uniform, data[0]); + } else { + self.webgl_error(InvalidValue); + } + } + + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10 fn Uniform1fv(&self, uniform: Option<&WebGLUniformLocation>, data: Vec<f32>) { |