[Interest] EGL Error : Could not create the egl surface: error = 0x300b
Thiago Macieira
thiago.macieira at intel.com
Wed Apr 27 01:21:47 CEST 2016
On terça-feira, 26 de abril de 2016 18:02:02 PDT Ryan Elkholy wrote:
> Yes, sorry for that. Three questions:
>
> 1. How did you find that 0x300b was EGL_BAD_NATIVE_WINDOW?
a) I searched the source code for the full error message and found that it was
printing the return value of eglGetError()
b) I googled for eglGetError() and found the possible error replies
c) I grepped the EGL headers for an error constant (any of them) and then
found the one close to it that had the value 0x300B.
> 2. What is this caused by?
According to Khronos docs, a bad EGLDisplay value. Most likely a null pointer.
void QEglFSWindow::resetSurface()
{
EGLDisplay display = screen()->display();
QSurfaceFormat platformFormat = qt_egl_device_integration()-
>surfaceFormatFor(window()->requestedFormat());
m_config = QEglFSIntegration::chooseConfig(display, platformFormat);
m_format = q_glFormatFromConfig(display, m_config, platformFormat);
m_window = qt_egl_device_integration()->createNativeWindow(this, screen()-
>geometry().size(), m_format);
m_surface = eglCreateWindowSurface(display, m_config, m_window, NULL);
}
Don't ask me why screen()->display() is returning a bad EGLDisplay. This is as
far as I can go studying this codebase.
> 3. Given that there is no obvious solution, how can I dig further into
> debugging this?
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list