webgl: Check shader compilation status on use_program.

This commit is contained in:
Emilio Cobos Álvarez 2016-01-04 14:17:10 +01:00
parent cf479a2b4f
commit 4092ffd245
3 changed files with 20 additions and 3 deletions

View file

@ -73,8 +73,19 @@ impl WebGLProgram {
}
/// glUseProgram
pub fn use_program(&self) {
pub fn use_program(&self) -> WebGLResult<()> {
match self.fragment_shader.get() {
Some(ref shader) if shader.successfully_compiled() => {},
_ => return Err(WebGLError::InvalidOperation),
}
match self.vertex_shader.get() {
Some(ref shader) if shader.successfully_compiled() => {},
_ => return Err(WebGLError::InvalidOperation),
}
self.renderer.send(CanvasMsg::WebGL(CanvasWebGLMsg::UseProgram(self.id))).unwrap();
Ok(())
}
/// glAttachShader