Currently it runs perfectly on desktop Linux with GL renderer.
For the embedded environment I built Ogre with GLES2 and EGL options.
I turned on ENABLE_EGL_CHECK in OgreEGLSupport.h to find the specific EGL error.
Code: Select all
EGL error 0x3005 in void* Ogre::EGLSupport::createNewContext(EGLDisplay, EGLConfig, EGLContext) const at line 504
I am seriously stuck, because there doesn't seem to be a way to get a reason why it's not a valid config. Is there a better way to debug this?
Thanks!
Update:
To provide a concrete project with real code, I ported the above repo to use GLES2. You can find it here https://github.com/golgobot/qmlogre
Looking into it further: Because this is sharing a context with Qt, the EGLConfig is obtained by querying the provided surface using eglQuerySurface. This is obtained in Ogre::EGLSupport::getGLConfigFromDrawable, which takes an EGLSurface and returns an EGLConfig. That config is an argument to eglCreateContext in Ogre::EGLSupport::createNewContext. So how can a config that already exists and is obtained from a valid EGLSurface create a EGL_BAD_CONFIG error?