aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/egl/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/egl/mod.rs')
-rw-r--r--src/api/egl/mod.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/api/egl/mod.rs b/src/api/egl/mod.rs
index 0cb6dbd..d22c009 100644
--- a/src/api/egl/mod.rs
+++ b/src/api/egl/mod.rs
@@ -472,9 +472,13 @@ unsafe fn create_context(egl: &ffi::egl::Egl, display: ffi::egl::types::EGLDispl
if egl_version >= &(1, 5) {
context_attributes.push(ffi::egl::CONTEXT_OPENGL_DEBUG as i32);
context_attributes.push(ffi::egl::TRUE as i32);
- } else {
- flags = flags | ffi::egl::CONTEXT_OPENGL_DEBUG_BIT_KHR as i32;
}
+
+ // TODO: using this flag sometimes generates an error
+ // there was a change in the specs that added this flag, so it may not be
+ // supported everywhere ; however it is not possible to know whether it is
+ // supported or not
+ //flags = flags | ffi::egl::CONTEXT_OPENGL_DEBUG_BIT_KHR as i32;
}
context_attributes.push(ffi::egl::CONTEXT_FLAGS_KHR as i32);
@@ -499,7 +503,10 @@ unsafe fn create_context(egl: &ffi::egl::Egl, display: ffi::egl::types::EGLDispl
context_attributes.as_ptr());
if context.is_null() {
- return Err(CreationError::NotSupported);
+ match egl.GetError() as u32 {
+ ffi::egl::BAD_ATTRIBUTE => return Err(CreationError::NotSupported),
+ e => panic!("eglCreateContext failed: 0x{:x}", e),
+ }
}
Ok(context)