Enable VP9 estimizer when external GPU is used

RESOLVED FIXED in Firefox 63

Status

()

defect
P2
normal
Rank:
15
RESOLVED FIXED
11 months ago
4 months ago

People

(Reporter: jya, Assigned: jya)

Tracking

(Blocks 1 bug)

unspecified
mozilla63
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox63 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

11 months ago
It has been determined that software decoded playback is good if the external GPU is used: much lesser battery usage and slow down than when using intel.

We should allow the estimizer when the machine is running on the external GPU.
Assignee

Comment 1

11 months ago
In bug 1404042, we determined that video playback of software based surface was very slow and power hungry when using the intel GPU, but was working okay when using the dGPU (either AMD or nVidia)

So always return false in IsVP9DecodeFast when the current GPU is an Intel, as well as return a benchmark score of 0

Force a new run of the benchmarking by bumping the version number.
Assignee

Comment 2

11 months ago
Comment on attachment 8991381 [details]
Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r?mattwoodrow

Hi Matt.
Can you create a Phabricator account and review this please?

thanks
Attachment #8991381 - Flags: review?(matt.woodrow)

Updated

11 months ago
Rank: 15
Priority: -- → P2
Comment on attachment 8991381 [details]
Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r?mattwoodrow

Matt Woodrow (:mattwoodrow) has approved the revision.

https://phabricator.services.mozilla.com/D2075
Attachment #8991381 - Flags: review+

Comment 4

11 months ago
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/73baf9b38fb8
Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow
Backed out changeset 73baf9b38fb8 (bug 1474943) for build bustage at builds/worker/workspace/build/src/dom/media/Benchmark.cpp

Backout: https://hg.mozilla.org/integration/autoland/rev/78d64d99d2b06fa62a0db764e330b5cc5e64ace1

Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=73baf9b38fb86c054e5c2c9756ed9e7ae77af4e1&selectedJob=187772154

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=187772154&repo=autoland&lineNumber=1027

[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/bindings'
[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.419Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.419Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.505Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/dom/media'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -std=gnu++14 --target=arm-linux-androideabi -o Unified_cpp_dom_media2.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_ANDROID -DMOZILLA_INTERNAL_API -DTRACING -DMOZ_ANDROID_HLS_SUPPORT -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/dom/media -I/builds/worker/workspace/build/src/obj-firefox/dom/media -I/builds/worker/workspace/build/src/caps -I/builds/worker/workspace/build/src/docshell/base -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/layout/generic -I/builds/worker/workspace/build/src/layout/xul -I/builds/worker/workspace/build/src/netwerk/base -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/common -I/builds/worker/workspace/build/src/media/webrtc/trunk -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/platforms/android-9/arch-arm/usr/include -isystem /builds/worker/workspace/build/src/android-ndk/platforms/android-9/arch-arm/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=9 -Qunused-arguments -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-short-enums -fno-exceptions -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++/include -I/builds/worker/workspace/build/src/android-ndk/sources/android/support/include -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++abi/include -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -mno-unaligned-access -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pipe -g -Oz -funwind-tables -Werror -Wno-error=shadow -Wno-error=attributes -Wno-error=shadow  -MD -MP -MF .deps/Unified_cpp_dom_media2.o.pp   /builds/worker/workspace/build/src/obj-firefox/dom/media/Unified_cpp_dom_media2.cpp
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  In file included from /builds/worker/workspace/build/src/obj-firefox/dom/media/Unified_cpp_dom_media2.cpp:38:
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/dom/media/Benchmark.cpp:96:51: error: use of undeclared identifier 'sWebMSample'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -        new BufferMediaResource(sWebMSample, sizeof(sWebMSample)));
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -                                                    ^
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/dom/media/Benchmark.cpp:96:31: error: use of undeclared identifier 'sWebMSample'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -        new BufferMediaResource(sWebMSample, sizeof(sWebMSample)));
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -                                ^
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  2 errors generated.
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/config/rules.mk:1052: recipe for target 'Unified_cpp_dom_media2.o' failed
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: *** [Unified_cpp_dom_media2.o] Error 1
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/media'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'dom/media/target' failed
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[3]: *** [dom/media/target] Error 2
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[3]: *** Waiting for unfinished jobs....
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.545Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
Flags: needinfo?(jyavenard)

Comment 6

11 months ago
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8355e37f9d18
Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow

Comment 7

11 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/8355e37f9d18
Status: NEW → RESOLVED
Last Resolved: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Assignee

Updated

11 months ago
Flags: needinfo?(jyavenard)
Assignee: nobody → jyavenard
Attachment #8991381 - Flags: review?(matt.woodrow)

Comment 8

4 months ago

I think the commit has caused a regression.

Shouldn't "VP9Benchmark::MediaBenchmarkVp9Fps()" return "StaticPrefs::MediaBenchmarkVp9Fps()" instead of "StaticPrefs::MediaBenchmarkVp9Threshold()"?

Assignee

Comment 9

4 months ago

(In reply to Kristian Klausen from comment #8)

I think the commit has caused a regression.

Shouldn't "VP9Benchmark::MediaBenchmarkVp9Fps()" return "StaticPrefs::MediaBenchmarkVp9Fps()" instead of "StaticPrefs::MediaBenchmarkVp9Threshold()"?

you're absolutely right.

Assignee

Updated

4 months ago
Depends on: 1524119
You need to log in before you can comment on or make changes to this bug.