With ANGLE on Windows and some OpenGL drivers on Linux OpenGL is not working threaded. We currently use the old rendering integration for this case, but will need to move away from it as the code we are using is disappearing from Chromium.
The issue for why it doesn't work right now, is that during setup a synchronous IPC call is made from the main-thread of the UI-process to the GPU-thread of the GPU-process, in our case the GPU process and UI process are the same, and with single threaded OpenGL so are the main-thread and GPU-threads.
|For Gerrit Dashboard: QTBUG-79864|
|281574,2||Support GPU service on UI thread with viz||77-based||qt/qtwebengine-chromium||Status: MERGED||+2||0|
|281577,10||Enable viz unless --disable-viz-display-compositor is given||5.15||qt/qtwebengine||Status: MERGED||-1||0|
|293715,4||Fix rare crash on exit in isCreateContextRobustnessSupported||5.15||qt/qtwebengine||Status: MERGED||+2||0|
|293718,6||Call post routines from ~QGuiApplication||5.15||qt/qtbase||Status: MERGED||+2||0|
|294976,13||Fix viz crash when cleanup||79-based||qt/qtwebengine-chromium||Status: MERGED||+2||0|
|295343,5||Mark cleanup for ImageTransportFactory||5.15||qt/qtwebengine||Status: MERGED||+2||0|
|296593,3||Fix viz crash when cleanup||80-based||qt/qtwebengine-chromium||Status: MERGED||+2||0|