Opengl ES rendering produce black screen in some windows computers
-
I am using prebuild version of QT 5.8 and QOpenGLWidget draws black screen instead of the actual rendering on some windows machines. I suspect if QT can't find the right rendering API (directx or opengl) . I need suggestions on how to debug this issue. For example how can I make program print which api it chooses during runtime?
-
I managed to output following messages from console but dont know why I get opengl errors
qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DefaultSwapBehavior), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
qt.qpa.gl: Basic wglCreateContext gives version 3.1
qt.qpa.gl: OpenGL 2.0 entry points available
qt.qpa.gl: GPU features: QSet("disable_desktopgl")
qt.qpa.gl: Disabling Desktop GL: GpuDescription(vendorId=0x8086, deviceId=0x102, subSysId=0x2abf103c, revision=9, driver: "igdumd64.dll", version=9.17.10.4459, "Intel(R) HD Graphics")
qt.qpa.gl: QWindowsOpenGLTester::supportedRenderers GpuDescription(vendorId=0x8086, deviceId=0x102, subSysId=0x2abf103c, revision=9, driver: "igdumd64.dll", version=9.17.10.4459, "Intel(R) HD Graphics") renderer: QFlags(0x2|0x4|0x8|0x20)
qt.qpa.gl: Qt: Using EGL from libEGL
qt.qpa.gl: Qt: Using OpenGL ES 2.0 from libGLESv2
qt.qpa.gl: QWindowsEGLStaticContext::create Created EGL display 0x231e2bdc450 v 1 . 4
qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DefaultSwapBehavior), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
qt.qpa.windows: QWindowsContext::registerWindowClass "Qt5QWindowOwnDCIcon" style=0x28 brush=0x1100060 icon=true atom=49819
qt.qpa.windows: QWindowsGeometryHint::frame style=0x86cf0000 exStyle=0x0 RECT: left/top=-8,-31 right/bottom=8,8 QMargins(8, 31, 8, 8)
qt.qpa.windows: QWindowCreationContext::QWindowCreationContext QWindow(0x231e53f99d0, name="QOffscreenSurface") QRect(0,0 1x1) pos incl. frame=false frame=17x40+0+0 min=QSize(0, 0) max=QSize(16777215, 16777215) custom margins=QMargins(0, 0, 0, 0)
qt.qpa.windows: CreateWindowEx: QWindow(0x231e53f99d0, name="QOffscreenSurface") class="Qt5QWindowOwnDCIcon" title="MVM_UserInterface"
WindowCreationData: QFlagsQt::WindowType(Window|WindowTitleHint|WindowSystemMenuHint|WindowMinMaxButtonsHint|WindowCloseButtonHint)
topLevel=true popup=false dialog=false embedded=false tool=false
style=0x86cf0000 WS_POPUP WS_CLIPSIBLINGS WS_CLIPCHILDREN WS_THICKFRAME WS_DLGFRAME WS_SYSMENU WS_MINIMIZEBOX WS_MAXIMIZEBOX
requested: QRect(0,0 1x1): 17x40+0+0 custom margins: QMargins(0, 0, 0, 0)
qt.qpa.windows: >QWindowsGeometryHint::applyToMinMaxInfo< min=0,0 max=16777215,16777215 in MINMAXINFO maxSize=1696,1066 maxpos=-8,-8 mintrack=136,39 maxtrack=1700,1070
qt.qpa.windows: QWindowsGeometryHint::frame style=0x86cf0000 exStyle=0x0 RECT: left/top=-8,-31 right/bottom=8,8 QMargins(8, 31, 8, 8)
qt.qpa.windows: <QWindowsGeometryHint::applyToMinMaxInfo frame=QMargins(8, 31, 8, 8) 16,39 out MINMAXINFO maxSize=1696,1066 maxpos=-8,-8 mintrack=136,39 maxtrack=1700,1070
qt.qpa.windows: CreateWindowEx: returns QWindow(0x231e53f99d0, name="QOffscreenSurface") 0x40c28 obtained geometry: QRect(8,31 120x1) QMargins(8, 31, 8, 8)
qt.qpa.windows: QWindowsIntegration::createPlatformWindow QWindow(0x231e53f99d0, name="QOffscreenSurface")
Requested: QRect(0,0 1x1) frame incl.=false QFlagsQt::WindowType(Window)
Obtained : QRect(8,31 120x1) margins=QMargins(8, 31, 8, 8) handle=0x40c28 QFlagsQt::WindowType(Window|WindowTitleHint|WindowSystemMenuHint|WindowMinMaxButtonsHint|WindowCloseButtonHint)qt.qpa.mime: QWindowsWindow::setDropSiteEnabled QWindow(0x231e53f99d0, name="QOffscreenSurface") true
qt.qpa.mime: QWindowsOleDropTarget::QWindowsOleDropTarget 0x231e8043430 QWindow(0x231e53f99d0, name="QOffscreenSurface")
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:88 - for glEnable(GL_DEPTH_TEST)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:89 - for glEnable(GL_CULL_FACE)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:93 - for glShadeModel(GL_SMOOTH)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:94 - for glEnable(GL_LIGHTING)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:95 - for glEnable(GL_LIGHT0)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:96 - for glClearColor(0.4, 0.4, 0.4, 1)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:97 - for glEnable(GL_BLEND)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:98 - for glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
OpenGL error 00000502 - GL_INVALID_OPERATION, at C:\Projects\CodeFactory\Src\Apps\MVM_UserInterface\QtGui\MainGlWidget.cpp:99 - for glDepthMask(GL_TRUE)
failed to compile shader: Phong/Phong.frag
ERROR: 0:2: '' : No precision specified for (float)