Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QT5.4 - OpenGL Widget not supported on DirectFB platform?
Shawnxk last edited by
I ported QT5.4 to i.mx6 board, and I built the qt example "cube", which is for demoing the use of opengl widget. The program ran successfully when setting the platform to eglfs, and I could see a cube rendered on screen and rotatable. However, if I set the platform to directfb, nothing would be rendered. Looking into the Qt5.4 source code, I found the QDirectFbIntegration class doesn't implemented the below interface:
virtual QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const;
That is to say, an opengl context is not able to be created on directfb platform and thus opengl es2.0 functions is not available to render the opengl widget.
I'm a newbie to Qt, and I'm not sure whether my above analysis is correct or not. If that's true, are there any other ways to use opengl es2.0 functions instead of opengl widget on platform directfb? I'd like to use directfb platform, because I want to take advantage of its 2D acceleration capability.
All my questions can be boiled down to, how can QT5.4 support both 2D and 3D acceleration capabilities simultaneously (suppose both 2D and 3D gpu hardware are availabe) ?