[vlc-commits] [Git][videolan/vlc][master] qt: blacklist `CompositorPlatform` when rhi is used on windows
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Sep 17 15:02:38 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
6f12cdc1 by Fatih Uzunoglu at 2026-09-17T14:31:16+00:00
qt: blacklist `CompositorPlatform` when rhi is used on windows
It seems layered child windows are rather incompatible with
acceleration. This is not really an issue though, since with
Windows 8 `CompositorDirectComposition` is used by default,
and with Windows 7 `CompositorPlatform` is already not available
(Windows 7 does not support layered child windows).
Providing `CompositorPlatform` on Windows is still advantageous,
because if the user wants to use Qt's software renderer explicitly
or if RHI is not available (probing failed), it provides working
video embedding.
- - - - -
1 changed file:
- modules/gui/qt/maininterface/compositor_platform.cpp
Changes:
=====================================
modules/gui/qt/maininterface/compositor_platform.cpp
=====================================
@@ -50,7 +50,16 @@ bool CompositorPlatform::init()
if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows8)
{
if (platformName == QLatin1String("windows") || platformName == QLatin1String("direct2d"))
- return true;
+ {
+ // Video embedding with RHI often does not work, VirtualBox drivers may work, but VMWare
+ // and Nvidia drivers (non-VM) don't. So we only allow this in non-RHI modes at the
+ // moment. Note that using software rasterizer (such as D3D Warp), that can be requested
+ // with `QSG_RHI_PREFER_SOFTWARE_RENDERER`, also does not work.
+ if (qEnvironmentVariable("QT_QUICK_BACKEND", QStringLiteral("rhi")) == QLatin1String("rhi"))
+ return false;
+
+ return true; // Practically "software" and "openvg" modes (non-RHI).
+ }
}
#endif
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6f12cdc155d436e1896555c15d47c19a48711216
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6f12cdc155d436e1896555c15d47c19a48711216
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list