From 7563e95d963b4d8056eff206bcc5483cfc53c868 Mon Sep 17 00:00:00 2001 From: Atul Varma Date: Wed, 5 Jun 2019 08:15:21 -0400 Subject: [PATCH] Add a more helpful panic message when GL errors occur. --- gl/src/lib.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gl/src/lib.rs b/gl/src/lib.rs index 94aa0df4..c989dfcf 100644 --- a/gl/src/lib.rs +++ b/gl/src/lib.rs @@ -921,9 +921,20 @@ impl GLVersion { #[cfg(debug_assertions)] fn ck() { 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(); - if err != 0 { - panic!("GL error: 0x{:x}", err); + if err != gl::NO_ERROR { + 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" + }); } } }