diff options
author | Pierre Krieger <pierre.krieger1708@gmail.com> | 2015-07-19 14:32:41 +0200 |
---|---|---|
committer | Pierre Krieger <pierre.krieger1708@gmail.com> | 2015-07-19 14:32:41 +0200 |
commit | 9299de025647a6b40cc699ed0728fe6b33ec980e (patch) | |
tree | bedebb0d10a8fc82a23af4738a9a6a525e201694 | |
parent | 896640f2e0fd659e952e492c1b74841624db8d08 (diff) | |
download | glutin-9299de025647a6b40cc699ed0728fe6b33ec980e.tar.gz glutin-9299de025647a6b40cc699ed0728fe6b33ec980e.zip |
Fix EGL context creation
-rw-r--r-- | src/api/egl/mod.rs | 13 |
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) |