Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
5.2.1
-
None
-
OS: Ubuntu 14.04.4 LTS
HW: NVidia JETSON TK1 http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html
Description
Probably I have chosen a wrong Component value, sorry for that. As far as I understand QEGLPlatformContext class is part of https://github.com/qtproject/qtbase repository.
Anyway, this bug breaks my heart so I've made some investigation (although I'm quite far from Qt and EGL).
So... This happens even if I write a simple Helloworld program (attached). The program displays a blank window and that's all. If you close the window you get this error and the program hangs.
What I've managed to find out is that QEGLPlatformContext class is only created with support EGL_WINDOW_BIT surfaces although its subclass QEGLXcbPlatformContext also uses an offscreen surface (EGL_PBUFFER_BIT). And this actually happens when the application is closed: an attempt to bind the context with an offscreen surface results in 3009 (EGL_BAD_MATCH) error.
As a dirty fix I modified the constructors of QEGLPlatformContext and QEGLPbuffer so that they both supported EGL_WINDOW_BIT and EGL_PBUFFER_BIT. And the error seemed to have gone. But I guess the proper solution must be something more sophisticated.
If you need any additional info or my explanation seems obscure please let me know, I'll provide you with every detail you may need.