bracket_terminal/hal/gl_common/
glerror.rs1use 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}