qt: enable qdirect2d platform plugin
Request review @chub Request review @robUx4
- qdirect2d is said to make use of Direct2D for additional performance rather than raster painting.
- qdirect2d additionally requires
d2d1
- due to static linking it is not possible to have a run-time fallback mechanism here. We got to choose during build time what to use. D2D1 seems to be available in target systems already because of the existence of DirectX due to ANGLE.
Merge request reports
Activity
added MRStatus::NotCompliant label
added Component::Interface: Qt label
changed milestone to %4.0
- Resolved by Fatih Uzunoğlu
D2D1 is available since Win7 so this should be OK. But you need to enable the build in contribs. I think it's done with
-direct2d
added to the configure flags. In the configure options it's listed as a "platform backend". I'm not 100% sure it will work well with angle/opengl.
added MRStatus::InReview label and removed MRStatus::NotCompliant label
- Resolved by Fatih Uzunoğlu
I tested the branch and it does build and run the UI. The video integration doesn't happen though, the D3D11 output is using a separate window.
added 1 commit
- 4a826a9f - qt: use qdirect2d platform plugin rather than qwindows
- Resolved by Steve Lhomme
added 1 commit
- f8f874a8 - qt: use qdirect2d platform plugin rather than qwindows
- I observed that Wine has not implemented some D2D1 functions yet, so support is lacking. Menus look white to me.
- Win7 has support, that should be fine.
- I'm not sure, but most likely basic Windows graphics driver provides enough functionality for D2D to do hardware acceleration. Qt decides which platform uses itself based on the system, but we can not do that here with static linking because of symbol collision between qdirect2d and qwindows, so we have to force it.
Direct2D platform plugin inclusion seems to be disabled with the following comment
contrib: qt: disable direct2d Because if fails to build with mingw64 5.x headers
I guess it does not apply anymore. The gain would be limited but still, there should be expected improvements with Qt Widgets, and pixmaps and paint device performance.
added MRStatus::Stale label and removed MRStatus::InReview label
added 2245 commits
-
f8f874a8...51c2ee18 - 2243 commits from branch
videolan:master
- f83744cc - Revert "contrib: qt: disable direct2d"
- e0b13044 - qt: enable qdirect2d platform plugin for static qt on windows
-
f8f874a8...51c2ee18 - 2243 commits from branch
added MRStatus::InReview label and removed MRStatus::Stale label