aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglprogram.rs
diff options
context:
space:
mode:
authorchansuke <chansuke@georepublic.de>2018-09-18 23:24:15 +0900
committerJosh Matthews <josh@joshmatthews.net>2018-09-19 17:40:47 -0400
commitc37a345dc9f4dda6ea29c42f96f6c7201c42cbac (patch)
tree1f05b49bac02318455a59d5b143c186fd872bdb9 /components/script/dom/webglprogram.rs
parent2ca7a134736bb4759ff209c1bc0b6dc3cc1984c9 (diff)
downloadservo-c37a345dc9f4dda6ea29c42f96f6c7201c42cbac.tar.gz
servo-c37a345dc9f4dda6ea29c42f96f6c7201c42cbac.zip
Format script component
Diffstat (limited to 'components/script/dom/webglprogram.rs')
-rw-r--r--components/script/dom/webglprogram.rs81
1 files changed, 53 insertions, 28 deletions
diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs
index 4fb1147e042..e6cf894feca 100644
--- a/components/script/dom/webglprogram.rs
+++ b/components/script/dom/webglprogram.rs
@@ -56,7 +56,10 @@ impl WebGLProgram {
pub fn maybe_new(context: &WebGLRenderingContext) -> Option<DomRoot<Self>> {
let (sender, receiver) = webgl_channel().unwrap();
context.send_command(WebGLCommand::CreateProgram(sender));
- receiver.recv().unwrap().map(|id| WebGLProgram::new(context, id))
+ receiver
+ .recv()
+ .unwrap()
+ .map(|id| WebGLProgram::new(context, id))
}
pub fn new(context: &WebGLRenderingContext, id: WebGLProgramId) -> DomRoot<Self> {
@@ -68,7 +71,6 @@ impl WebGLProgram {
}
}
-
impl WebGLProgram {
pub fn id(&self) -> WebGLProgramId {
self.id
@@ -129,7 +131,8 @@ impl WebGLProgram {
/// glLinkProgram
pub fn link(&self) -> WebGLResult<()> {
self.linked.set(false);
- self.link_generation.set(self.link_generation.get().checked_add(1).unwrap());
+ self.link_generation
+ .set(self.link_generation.get().checked_add(1).unwrap());
*self.active_attribs.borrow_mut() = Box::new([]);
*self.active_uniforms.borrow_mut() = Box::new([]);
@@ -214,7 +217,7 @@ impl WebGLProgram {
_ => {
error!("detachShader: Unexpected shader type");
return Err(WebGLError::InvalidValue);
- }
+ },
};
if shader_slot.get().is_some() {
@@ -243,11 +246,11 @@ impl WebGLProgram {
};
match shader_slot.get() {
- Some(ref attached_shader) if attached_shader.id() != shader.id() =>
- return Err(WebGLError::InvalidOperation),
- None =>
- return Err(WebGLError::InvalidOperation),
- _ => {}
+ Some(ref attached_shader) if attached_shader.id() != shader.id() => {
+ return Err(WebGLError::InvalidOperation)
+ },
+ None => return Err(WebGLError::InvalidOperation),
+ _ => {},
}
shader_slot.set(None);
@@ -276,7 +279,11 @@ impl WebGLProgram {
self.upcast::<WebGLObject>()
.context()
- .send_command(WebGLCommand::BindAttribLocation(self.id, index, name.into()));
+ .send_command(WebGLCommand::BindAttribLocation(
+ self.id,
+ index,
+ name.into(),
+ ));
Ok(())
}
@@ -285,7 +292,9 @@ impl WebGLProgram {
return Err(WebGLError::InvalidValue);
}
let uniforms = self.active_uniforms.borrow();
- let data = uniforms.get(index as usize).ok_or(WebGLError::InvalidValue)?;
+ let data = uniforms
+ .get(index as usize)
+ .ok_or(WebGLError::InvalidValue)?;
Ok(WebGLActiveInfo::new(
self.global().as_window(),
data.size.unwrap_or(1),
@@ -300,7 +309,9 @@ impl WebGLProgram {
return Err(WebGLError::InvalidValue);
}
let attribs = self.active_attribs.borrow();
- let data = attribs.get(index as usize).ok_or(WebGLError::InvalidValue)?;
+ let data = attribs
+ .get(index as usize)
+ .ok_or(WebGLError::InvalidValue)?;
Ok(WebGLActiveInfo::new(
self.global().as_window(),
data.size,
@@ -328,7 +339,8 @@ impl WebGLProgram {
return Ok(-1);
}
- let location = self.active_attribs
+ let location = self
+ .active_attribs
.borrow()
.iter()
.find(|attrib| attrib.name == &*name)
@@ -365,10 +377,16 @@ impl WebGLProgram {
};
let uniforms = self.active_uniforms.borrow();
- match uniforms.iter().find(|attrib| &*attrib.base_name == base_name) {
- Some(uniform) if array_index.is_none() || array_index < uniform.size => {
- (uniform.size.map(|size| size - array_index.unwrap_or_default()), uniform.type_)
- },
+ match uniforms
+ .iter()
+ .find(|attrib| &*attrib.base_name == base_name)
+ {
+ Some(uniform) if array_index.is_none() || array_index < uniform.size => (
+ uniform
+ .size
+ .map(|size| size - array_index.unwrap_or_default()),
+ uniform.type_,
+ ),
_ => return Ok(None),
}
};
@@ -376,7 +394,11 @@ impl WebGLProgram {
let (sender, receiver) = webgl_channel().unwrap();
self.upcast::<WebGLObject>()
.context()
- .send_command(WebGLCommand::GetUniformLocation(self.id, name.into(), sender));
+ .send_command(WebGLCommand::GetUniformLocation(
+ self.id,
+ name.into(),
+ sender,
+ ));
let location = receiver.recv().unwrap();
Ok(Some(WebGLUniformLocation::new(
@@ -397,7 +419,7 @@ impl WebGLProgram {
if self.link_called.get() {
let shaders_compiled = match (self.fragment_shader.get(), self.vertex_shader.get()) {
(Some(fs), Some(vs)) => fs.successfully_compiled() && vs.successfully_compiled(),
- _ => false
+ _ => false,
};
if !shaders_compiled {
return Ok("One or more shaders failed to compile".to_string());
@@ -414,13 +436,15 @@ impl WebGLProgram {
if self.marked_for_deletion.get() {
return Err(WebGLError::InvalidValue);
}
- Ok(match (self.vertex_shader.get(), self.fragment_shader.get()) {
- (Some(vertex_shader), Some(fragment_shader)) => {
- vec![vertex_shader, fragment_shader]
- }
- (Some(shader), None) | (None, Some(shader)) => vec![shader],
- (None, None) => vec![]
- })
+ Ok(
+ match (self.vertex_shader.get(), self.fragment_shader.get()) {
+ (Some(vertex_shader), Some(fragment_shader)) => {
+ vec![vertex_shader, fragment_shader]
+ },
+ (Some(shader), None) | (None, Some(shader)) => vec![shader],
+ (None, None) => vec![],
+ },
+ )
}
pub fn link_generation(&self) -> u64 {
@@ -435,12 +459,13 @@ impl Drop for WebGLProgram {
}
}
-
fn parse_uniform_name(name: &str) -> Option<(&str, Option<i32>)> {
if !name.ends_with(']') {
return Some((name, None));
}
let bracket_pos = name[..name.len() - 1].rfind('[')?;
- let index = name[(bracket_pos + 1)..(name.len() - 1)].parse::<i32>().ok()?;
+ let index = name[(bracket_pos + 1)..(name.len() - 1)]
+ .parse::<i32>()
+ .ok()?;
Some((&name[..bracket_pos], Some(index)))
}