Skip to content
Snippets Groups Projects

qt: enable qdirect2d platform plugin

Closed Fatih Uzunoğlu requested to merge fuzun/vlc:qt/direct2ddefault into master

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.
Edited by Fatih Uzunoğlu

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Fatih Uzunoğlu added 1 commit

    added 1 commit

    • f8f874a8 - qt: use qdirect2d platform plugin rather than qwindows

    Compare with previous version

  • Steve Lhomme resolved all threads

    resolved all threads

    • Is there downside to use direct2D ? is there platform where we will have limited support? does this work in VM with no 3D acceleration?

    • Author Reporter
      • 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.
    • For the latter testing with VirtualBox or Hyper-V with the VGA adapter should give a good idea.

      I wouldn't consider Wine a target when it comes to Windows support. However it's always better if it works.

    • Author Reporter

      Okay, I have changed this so it is not default now, but it is built. Qt and the users have the freedom to use windows or direct2d platform plugins.

    • Author Reporter

      As far as I know, the default by Qt is windows so there would be no behavioral change unless users set the platform plugin to direct2d explicitly.

    • Author Reporter

      It is to be seen if there is symbol clash also in Qt 5.15 as there is in Qt 6, if there is I guess we can not do much.

    • I'm still not sure about what we gain by shipping this.

      qdirect2d is said to make use of Direct2D for additional performance rather than raster painting.

      90% of our interface is Qml, direct2D doesn't apply there

    • Author Reporter

      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.

    • Please register or sign in to reply
  • added MRStatus::Stale label and removed MRStatus::InReview label

  • Fatih Uzunoğlu added 2245 commits

    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

    Compare with previous version

  • added MRStatus::InReview label and removed MRStatus::Stale label

  • Fatih Uzunoğlu changed title from qt: use qdirect2d platform plugin rather than qwindows to qt: enable qdirect2d platform plugin

    changed title from qt: use qdirect2d platform plugin rather than qwindows to qt: enable qdirect2d platform plugin

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading