[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