Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.4.3
-
None
Description
Hi,
I have soem issues when using QOpenGlWidget on some machines if qt tries to use openg32sw,dll
- if this file is not found then I get a crash in QBackingStoreDefaultCompositor::flush where swapchain is a nullptr then.
- callstack:
> Qt6Guid.dll!QBackingStoreDefaultCompositor::flush(QPlatformBackingStore * backingStore, QRhi * rhi, QRhiSwapChain * swapchain, QWindow * window, double sourceDevicePixelRatio, const QRegion & region, const QPoint & offset, QPlatformTextureList * textures, bool translucentBackground) Line 455 C++ Qt6Guid.dll!QPlatformBackingStore::rhiFlush(QWindow * window, double sourceDevicePixelRatio, const QRegion & region, const QPoint & offset, QPlatformTextureList * textures, bool translucentBackground) Line 192 C++ Qt6Widgetsd.dll!QWidgetRepaintManager::flush(QWidget * widget, const QRegion & region, QPlatformTextureList * widgetTextures) Line 1052 C++ Qt6Widgetsd.dll!QWidgetRepaintManager::flush() Line 976 C++ Qt6Widgetsd.dll!QWidgetRepaintManager::paintAndFlush() Line 908 C++ Qt6Widgetsd.dll!QWidgetRepaintManager::sync(QWidget * exposedWidget, const QRegion & exposedRegion) Line 629 C++ Qt6Widgetsd.dll!QWidgetPrivate::syncBackingStore(const QRegion & region) Line 1769 C++ Qt6Widgetsd.dll!QWidgetWindow::handleExposeEvent(QExposeEvent * event) Line 1007 C++ Qt6Widgetsd.dll!QWidgetWindow::event(QEvent * event) Line 289 C++ Qt6Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3315 C++
- if opengl32sw has been found, then resulting screen is black instead
- qt is built with INPUT_opengl=dynamic
So, what is the correct way to use QOpenGlWidget on those systems?