[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