aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglprogram.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webglprogram.rs')
-rw-r--r--components/script/dom/webglprogram.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs
index 996e6eb4cee..d288e9422c4 100644
--- a/components/script/dom/webglprogram.rs
+++ b/components/script/dom/webglprogram.rs
@@ -167,6 +167,17 @@ impl WebGLProgram {
WebGLActiveInfo::new(self.global().r(), size, ty, DOMString::from(name)))
}
+ /// glGetActiveAttrib
+ pub fn get_active_attrib(&self, index: u32) -> WebGLResult<Root<WebGLActiveInfo>> {
+ let (sender, receiver) = ipc::channel().unwrap();
+ self.renderer
+ .send(CanvasMsg::WebGL(WebGLCommand::GetActiveAttrib(self.id, index, sender)))
+ .unwrap();
+
+ receiver.recv().unwrap().map(|(size, ty, name)|
+ WebGLActiveInfo::new(self.global().r(), size, ty, DOMString::from(name)))
+ }
+
/// glGetAttribLocation
pub fn get_attrib_location(&self, name: DOMString) -> WebGLResult<Option<i32>> {
if name.len() > MAX_UNIFORM_AND_ATTRIBUTE_LEN {