Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
None
-
5.10.1, 5.11.1
-
None
Description
In our application we require to use both QWebEngineView and QOpenGLWidget at the same time.
Since our minimum requirement is OpenGL 3.0 we set this when creating our QOpenGLWidget instances. This works fine when using either pure hardware (QT_OPENGL unset) or pure software (QT_OPENGL=software).
When using ANGLE (QT_OPENGL=angle), this results in strange behaviour.
I've attached an example which demonstrates this behaviour - it's a modification of the Qt example hellogles3 [Note, this doesn't work with QT_OPENGL=software as the example requires glsl 330, which llvmpipe doesn't support].
SCENARIO_1: main.cpp - QSurfaceFormat::setDefaultFormat, before first widget is created.
If we use this to set the GL context to use version 3, then the QWebEngineView renders as an upside-down copy of the framebuffer for the whole window. The GLWindow displays correctly.
SCENARIO_1: glwindow.cpp - Set QSurfaceFormat::setFormat inside GLWindow constructor
QWebEngineView renders correctly, however, the GLWindow now displays the upside-down copy of the framebuffer.
We're using VS2017 (15.7.5) on Windows 10 (qtdiag output attached).
Tested using our self-built Qt 5.10.1 and with Qt 5.11.1 from the online installer.