aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAr13mis <kingtut5474@gmail.com>2016-04-04 16:00:22 -0600
committerAr13mis <kingtut5474@gmail.com>2016-04-04 16:00:22 -0600
commit86b1f4249a0ddfa33d380d11d7eae76cdcb1a193 (patch)
treee68777bb84ef1eaa8ef8a1fbd7dbf5b60fd4e6ef
parentb568b72d760623462fe1a19544e1ad59f98e4480 (diff)
downloadservo-86b1f4249a0ddfa33d380d11d7eae76cdcb1a193.tar.gz
servo-86b1f4249a0ddfa33d380d11d7eae76cdcb1a193.zip
Add Uniform2f
-rw-r--r--components/script/dom/webglrenderingcontext.rs19
-rw-r--r--components/script/dom/webidls/WebGLRenderingContext.webidl2
2 files changed, 20 insertions, 1 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 62b1fb6dbea..d9942016425 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -1020,6 +1020,25 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
+ fn Uniform2f(&self,
+ uniform: Option<&WebGLUniformLocation>,
+ x: f32, y: f32) {
+ let uniform = match uniform {
+ Some(uniform) => uniform,
+ None => return,
+ };
+
+ match self.current_program.get() {
+ Some(ref program) if program.id() == uniform.program_id() => {},
+ _ => return self.webgl_error(InvalidOperation),
+ };
+
+ self.ipc_renderer
+ .send(CanvasMsg::WebGL(WebGLCommand::Uniform2f(uniform.id(), x, y)))
+ .unwrap()
+ }
+
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
fn Uniform4i(&self,
uniform: Option<&WebGLUniformLocation>,
x: i32, y: i32, z: i32, w: i32) {
diff --git a/components/script/dom/webidls/WebGLRenderingContext.webidl b/components/script/dom/webidls/WebGLRenderingContext.webidl
index 94537ef30dc..9e4a1d1aea0 100644
--- a/components/script/dom/webidls/WebGLRenderingContext.webidl
+++ b/components/script/dom/webidls/WebGLRenderingContext.webidl
@@ -650,7 +650,7 @@ interface WebGLRenderingContextBase
void uniform1i(WebGLUniformLocation? location, GLint x);
//void uniform1iv(WebGLUniformLocation? location, Int32Array v);
//void uniform1iv(WebGLUniformLocation? location, sequence<long> v);
- //void uniform2f(WebGLUniformLocation? location, GLfloat x, GLfloat y);
+ void uniform2f(WebGLUniformLocation? location, GLfloat x, GLfloat y);
//void uniform2fv(WebGLUniformLocation? location, Float32Array v);
//void uniform2fv(WebGLUniformLocation? location, sequence<GLfloat> v);
//void uniform2i(WebGLUniformLocation? location, GLint x, GLint y);