glium 0.5.3

High-level and safe OpenGL wrapper.
#[macro_use]
extern crate glium;

use glium::Surface;

mod support;

#[test]
fn color_mask() {
    let display = support::build_display();

    let params = glium::DrawParameters {
        color_mask: (false, true, true, true),
        .. Default::default()
    };

    let (vb, ib, program) = support::build_fullscreen_red_pipeline(&display);

    let texture = support::build_renderable_texture(&display);
    texture.as_surface().clear_color(0.0, 0.0, 0.0, 0.0);
    texture.as_surface().draw(&vb, &ib, &program, &glium::uniforms::EmptyUniforms, &params).unwrap();

    let data: Vec<Vec<(u8, u8, u8, u8)>> = texture.read();
    for row in data.iter() {
        for pixel in row.iter() {
            assert_eq!(pixel, &(0, 0, 0, 255));
        }
    }

    display.assert_no_error(None);
}