RESOLVED FIXED 198783
[WinCairo][MediaFoundation] Stop using soft linking for Media Foundation
https://bugs.webkit.org/show_bug.cgi?id=198783
Summary [WinCairo][MediaFoundation] Stop using soft linking for Media Foundation
Fujii Hironori
Reported 2019-06-11 22:20:04 PDT
[WinCairo][MediaFoundation] Stop using soft linking for Media Foundation WinCairo is supporting Windows 7 or newer. It doen't need soft linking anymore. Bug 141905 – [WinCairo] WinLauncher is not starting on Vista. Bug 144890 – [Win] Move Windows build target to Windows 7 (or newer)
Attachments
WinCairo WK1 MiniBrowser start up log (10.17 KB, text/plain)
2019-06-13 19:08 PDT, Fujii Hironori
no flags
Patch (13.88 KB, patch)
2019-06-25 22:45 PDT, Fujii Hironori
no flags
Archive of layout-test-results from ews211 for win-future (14.04 MB, application/zip)
2019-06-26 05:12 PDT, EWS Watchlist
no flags
Per Arne Vollan
Comment 1 2019-06-12 07:18:33 PDT
Isn't soft linking also a performance improvement, since you only load the dll's when you need to?
Fujii Hironori
Comment 2 2019-06-12 20:56:25 PDT
I checked Firefox and Chrome by using listdlls. It seems that firefox.exe and chrome.exe loaded Direct3D, dxva2.dll, mf.dll and mfplat.dll just by start up the browsers. I'd like to change the call site of MFStartup and MFShutdown to fix Bug 198281. Then, mfplat.dll will be loaded always.
Fujii Hironori
Comment 3 2019-06-12 21:37:09 PDT
Firefox is using soft linking. https://dxr.mozilla.org/mozilla-central/source/dom/media/platforms/wmf/WMFUtils.cpp Chromium is calling API directly, for example MFStartup and MFCreateMediaType. You can search them by https://cs.chromium.org/
Fujii Hironori
Comment 4 2019-06-12 21:45:10 PDT
Chromium is using /DELAYLOAD. > ldflags += [ > "/DELAYLOAD:d3d9.dll", > "/DELAYLOAD:d3d11.dll", > "/DELAYLOAD:dxva2.dll", > "/DELAYLOAD:mf.dll", > "/DELAYLOAD:mfplat.dll", > ] https://chromium.googlesource.com/chromium/src/+/HEAD/media/gpu/BUILD.gn#213
Fujii Hironori
Comment 5 2019-06-13 19:08:26 PDT
Created attachment 372096 [details] WinCairo WK1 MiniBrowser start up log WinCairo MiniBrowser.exe also loads mf.dll just by stating up.
Fujii Hironori
Comment 6 2019-06-25 22:45:49 PDT
EWS Watchlist
Comment 7 2019-06-26 05:12:20 PDT
Comment on attachment 372906 [details] Patch Attachment 372906 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/12579200 New failing tests: storage/indexeddb/index-cursor.html
EWS Watchlist
Comment 8 2019-06-26 05:12:24 PDT
Created attachment 372917 [details] Archive of layout-test-results from ews211 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews211 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Fujii Hironori
Comment 9 2019-06-27 19:10:36 PDT
Comment on attachment 372906 [details] Patch Clearing flags on attachment: 372906 Committed r246918: <https://trac.webkit.org/changeset/246918>
Fujii Hironori
Comment 10 2019-06-27 19:10:40 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 11 2019-06-27 19:20:08 PDT
Fujii Hironori
Comment 12 2019-06-27 20:08:52 PDT
Fujii Hironori
Comment 13 2020-06-17 22:24:55 PDT
(In reply to Fujii Hironori from comment #4) > Chromium is using /DELAYLOAD. Filed: Bug 213330 – [WinCairo][MediaFoundation] Use /DELAYLOAD for mf.dll
Note You need to log in before you can comment on or make changes to this bug.