bracket_terminal/hal/gl_common/
glerror.rs

1use glow::HasContext;
2
3#[macro_export]
4macro_rules! gl_error_wrap {
5    ($gl:expr, $call:expr) => {
6        $call;
7        #[cfg(debug_assertions)]
8        crate::hal::gl_error($gl);
9    };
10}
11
12pub fn gl_error(gl: &glow::Context) {
13    let error;
14    unsafe {
15        error = gl.get_error();
16    }
17    if error != glow::NO_ERROR {
18        match error {
19            glow::INVALID_ENUM => panic!("[GL] Error: INVALID_ENUM"),
20            glow::INVALID_VALUE => panic!("[GL] Error: INVALID_ENUM"),
21            glow::INVALID_OPERATION => panic!("[GL] Error: INVALID_ENUM"),
22            glow::STACK_OVERFLOW => panic!("[GL] Error: INVALID_ENUM"),
23            glow::STACK_UNDERFLOW => panic!("[GL] Error: INVALID_ENUM"),
24            glow::OUT_OF_MEMORY => panic!("[GL] Error: INVALID_ENUM"),
25            glow::INVALID_FRAMEBUFFER_OPERATION => panic!("[GL] Error: INVALID_ENUM"),
26            _ => panic!("[GL] Error: {}", error),
27        }
28    }
29}