Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
None
-
6.3.0
-
None
Description
This can be reproduced with the example app in "qtdeclarative\examples\quick\scenegraph\rendernode".
It was removed in Qt 6, but the version in Qt 5.15.2 can be easily modified to compile in Qt 6:
- Remove d3d12 specific files from pro file and related parts in customrenderitem.cpp
- Remove "case QSGRendererInterface::OpenGLRhi" in customrenderitem.cpp
- Add in main.cc: QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
The app uses QSGRenderNode that is still public API in Qt 6.3, but the result is that no OpenGL content is visible when the app is launched. With environment variable "QMLSCENE_DEVICE=softwarecontext" it works fine.
I have a similar problem in my own app that works in Qt 5.15.2. Debugged it in Qt 6.3 to see QSGRenderNode's render() function is called and everything looks to be fine. Have also tried to enable all error logging I could find: cannot see any errors anywhere, it just does not render anything.
Although documentation indicates this approach would be still supported in Qt 6.3, is it?
If not, what would be the best option for a similar type of OpenGL-based QtQuick item that can be drawn on top of other QML items?
Attachments
Issue Links
- resulted from
-
QTBUG-84623 Remove remaining scenegraph/Quick direct OpenGL bits
-
- Closed
-