Add a more helpful panic message when GL errors occur.

This commit is contained in:
Atul Varma 2019-06-05 08:15:21 -04:00
parent 5ce4e2e128
commit 7563e95d96
1 changed files with 13 additions and 2 deletions

View File

@ -921,9 +921,20 @@ impl GLVersion {
#[cfg(debug_assertions)] #[cfg(debug_assertions)]
fn ck() { fn ck() {
unsafe { unsafe {
// Note that ideally we should be calling gl::GetError() in a loop until it
// returns gl::NO_ERROR, but for now we'll just report the first one we find.
let err = gl::GetError(); let err = gl::GetError();
if err != 0 { if err != gl::NO_ERROR {
panic!("GL error: 0x{:x}", err); panic!("GL error: 0x{:x} ({})", err, match err {
gl::INVALID_ENUM => "INVALID_ENUM",
gl::INVALID_VALUE => "INVALID_VALUE",
gl::INVALID_OPERATION => "INVALID_OPERATION",
gl::INVALID_FRAMEBUFFER_OPERATION => "INVALID_FRAMEBUFFER_OPERATION",
gl::OUT_OF_MEMORY => "OUT_OF_MEMORY",
gl::STACK_UNDERFLOW => "STACK_UNDERFLOW",
gl::STACK_OVERFLOW => "STACK_OVERFLOW",
_ => "Unknown"
});
} }
} }
} }