Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.2.0 Beta1
-
None
-
0a037078213bdeddebec775328e0116986474e3d
Description
A opengl program that uses QOpenGLFramebufferObject can run successfully on windows.
But it failed initialize QOpenGLFramebufferObject under MacOS 10.9.
The opengl profiler of mac sides shows that it failed to initialize
framebuffer.
I use 3 lines of code for test:
QOpenGLFramebufferObjectFormat fboFmt;
QSize fboSize(400,400);
QOpenGLFramebufferObject fbo(fboSize, fboFmt);
The error message as follows:
glGetString(GL_EXTENSIONS); returns: 0x00000000
Error: GL_INVALID_ENUM
Context: 0x10301b200
Virtual Screen: 0/2
kCGLCPCurrentRendererID: 16925952 (0x01024500)
GL_RENDERER: Intel HD Graphics 5000 OpenGL Engine
GL_VENDOR: Intel Inc.
GL_VERSION: 4.1 INTEL-8.18.26
kCGLCPGPUFragmentProcessing: GL_TRUE
kCGLCPGPUVertexProcessing: GL_TRUE
Function call stack:
0: 0x100b01548 in QOpenGLExtensionMatcher::QOpenGLExtensionMatcher() in <QtGui>
1: 0x100b01bc1 in qt_gl_resolve_features() in <QtGui>
2: 0x100b021ca in QOpenGLFunctions::hasOpenGLFeature(QOpenGLFunctions::OpenGLFeature) const in <QtGui>
3: 0x100b11cfa in QOpenGLFramebufferObjectPrivate::init(QOpenGLFramebufferObject*, QSize const&, QOpenGLFramebufferObject::Attachment, unsigned int, unsigned int, int, bool) in <QtGui>
4: 0x100b12d24 in QOpenGLFramebufferObject::QOpenGLFramebufferObject(QSize const&, QOpenGLFramebufferObjectFormat const&) in <QtGui>
5: 0x100006a3c in TriangleWindow::render() at main.cpp: 573
6: 0x10000c88e in OpenGLWindow::renderNow() at openglwindow.cpp: 146
7: 0x10000c916 in OpenGLWindow::exposeEvent(QExposeEvent*) at openglwindow.cpp: 118
8: 0x1008def1f in QWindow::event(QEvent*) in <QtGui>
9: 0x10000c72a in OpenGLWindow::event(QEvent*) at openglwindow.cpp: 108
10: 0x100f55ec9 in QCoreApplication::notify(QObject*, QEvent*) in <QtCore>
11: 0x1008d2ff8 in QGuiApplication::notify(QObject*, QEvent*) in <QtGui>
12: 0x100f55de2 in QCoreApplication::notifyInternal(QObject*, QEvent*) in <QtCore>
13: 0x1008d721a in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) in <QtGui>
14: 0x1008d33e8 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) in <QtGui>
15: 0x1008c3218 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) in <QtGui>
16: 0x1008c12eb in QWindowSystemInterface::flushWindowSystemEvents() in <QtGui>
17: 0x10390c0e0 in QCocoaWindow::setVisible(bool) in <libqcocoa.dylib>
18: 0x1008dc927 in QWindow::setVisible(bool) in <QtGui>
19: 0x100004151 in main at main.cpp: 115
20: 0x100003f74 in start in <openglwindow>