[Solved] Qt and OpenGL ES 2
-
I've got a problem with OpenGL ES 2. I'm trying to run the example hellogl_es2 on Windows EC7 on a Blaze development platform.
All projects compiled, and I copied the qglgraphicssystemd4.dll (also the lib) into a folder "graphicssystems" on my SD card. The exe is also on the SD card (root folder).
When I now try to start the project, I've got the following messages in my output window:
Unable to load graphicssystem "opengl"
and
QEglContext::chooseConfig(): Could not find a suitable EGL configuration
Requested: "type=es2 rgba=5,6,5,0 surface-type=window"
Available:
"id=1 type=es1,vg rgba=8,8,8,8 depth=24 stencil=8 surface-type=window,pixmap,pbuffer,103
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 bind-texture=rgb,rgba
min-swap-interval=0 max-swap-interval=3 alpha-mask=8"
"id=2 type=es1,vg rgba=8,8,8,8 surface-type=window,pixmap,pbuffer,103
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 bind-texture=rgb,rgba
min-swap-interval=0 max-swap-interval=3 alpha-mask=8"
"id=3 type=es1,vg rgba=8,8,8,8 depth=24 stencil=8 surface-type=window,pixmap,pbuffer,103
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 samples=4 sample-buffers=1
bind-texture=rgb,rgba min-swap-interval=0 max-swap-interval=3
alpha-mask=8"
"id=4 type=es1,vg rgba=8,8,8,8 depth=24 stencil=8 surface-type=pbuffer,97
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=12344 bind-texture=rgb,rgba
min-swap-interval=1 max-swap-interval=1 alpha-mask=8"
"id=5 type=es1,vg rgba=5,6,5,0 depth=24 stencil=8 surface-type=pbuffer,97
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=12344 bind-texture=rgb,no-rgba
min-swap-interval=1 max-swap-interval=1 alpha-mask=8"
"id=6 type=es1,vg rgba=4,4,4,4 depth=24 stencil=8 surface-type=pbuffer,97
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=12344 bind-texture=rgb,rgba
min-swap-interval=1 max-swap-interval=1 alpha-mask=8"
"id=7 type=es1,vg rgba=5,5,5,1 depth=24 stencil=8 surface-type=pbuffer,97
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=12344 bind-texture=rgb,rgba
min-swap-interval=1 max-swap-interval=1 alpha-mask=8"
"id=8 type=es2,vg rgba=8,8,8,8 depth=24 stencil=8 surface-type=window,pixmap,pbuffer,103
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 bind-texture=rgb,rgba
min-swap-interval=0 max-swap-interval=3 alpha-mask=8"
"id=9 type=es2,vg rgba=8,8,8,8 surface-type=window,pixmap,pbuffer,103
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 bind-texture=rgb,rgba
min-swap-interval=0 max-swap-interval=3 alpha-mask=8"
"id=10 type=es2,vg rgba=8,8,8,8 depth=24 stencil=8 surface-type=window,pixmap,102
caveat=none max-pbuffer-size=2048x2048 native-renderable=false
visual-id=0 visual-type=0 samples=4 sample-buffers=1
bind-texture=no-rgb,no-rgba min-swap-interval=0
max-swap-interval=3 alpha-mask=8"I can see the window of the example but no content.
Thank you for your help!
-
I could solve the "Unable to load graphicssystem “opengl” " problem.
In the @QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaData &metaData)@ the QSysInfo::windowsVersion() is checked.
Windows EC7 returns QSysInfo::WV_CE_5, which is greater than QSysInfo::WV_WINDOWS7. Then the infoLevel is set to 1. According to "this article":http://msdn.microsoft.com/en-us/library/ee490216.aspx, FindExInfoMaxInfoLevel (1) is not supported in Windows EC7. Therefore it should not be set to 0. -
Hi,
Is it the same problem as here, that you were facing!
"QEgl_Initialize_Error":https://qt-project.org/forums/viewthread/15158/
-
in qegl_win.cpp I changed setPaintDeviceFormat to:
@
// Set pixel format and other properties based on a paint device.
void QEglProperties::setPaintDeviceFormat(QPaintDevice *dev)
{
int devType = dev->devType();
if (devType == QInternal::Image)
setPixelFormat(static_cast<QImage *>(dev)->format());
else
setPixelFormat(QImage::Format_RGB32); // XXX
}
@ -
Hi Saho,
Have you got both errors
@QEgl::display(): Cannot initialize EGL display: "Success (0x3000)"
QEglContext::chooseConfig(): Could not find a suitable EGL configuration@or only one like
@QEglContext::chooseConfig(): Could not find a suitable EGL configuration@