Closed Bug 1687927 Opened 3 years ago Closed 3 years ago

don't request a repaint if it's the first time for an apzc getting metrics (regression from bug 1662013)

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox84 --- wontfix
firefox85 --- wontfix
firefox86 --- wontfix
firefox87 --- fixed

People

(Reporter: tnikkel, Assigned: tnikkel)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

https://searchfox.org/mozilla-central/rev/2c06b16a0c15ae340a0532e319cbf89ef9d21b68/gfx/layers/apz/src/AsyncPanZoomController.cpp#4866

scrollOffsetUpdated gets set to true if we get basically any scroll update, including a NewScrollFrame update that we create for every new scroll frame that just informs apzc the scroll offset is (0,0).

scrollOffsetUpdated being true means RequestContentRepaint gets called a little later. RequestContentRepaint causes a full display port to be set on the content. That is undesirable in a few cases:
-we set zero margin display ports (via SetZeroMarginDisplayPortOnAsyncScrollableAncestors) and we don't want to expand them to full display ports
-we use nsLayoutUtils::GetRootMetadata to set metrics (which creates an azpc) but not set a display port sometimes (ie if the root scroll frame is not scrollable but there is fixed content)

This bug is to fix the regression caused by bug 1662013. Two other bugs also regressed this (bug 1627012 and bug 1667475), and we need to fix all of them to fix the problem. Bug 1687886 is filed for the regression from bug 1667475. Bug 1687926 is filed for the regression from bug 1627012.

https://searchfox.org/mozilla-central/rev/2c06b16a0c15ae340a0532e319cbf89ef9d21b68/gfx/layers/apz/src/AsyncPanZoomController.cpp#4866

scrollOffsetUpdated gets set to true if we get basically any scroll update, including a NewScrollFrame update that we create for every new scroll frame that just informs apzc the scroll offset is (0,0).

scrollOffsetUpdated being true means RequestContentRepaint gets called a little later. RequestContentRepaint causes a full display port to be set on the content. That is undesirable in a few cases:
-we set zero margin display ports (via SetZeroMarginDisplayPortOnAsyncScrollableAncestors) and we don't want to expand them to full display ports
-we use nsLayoutUtils::GetRootMetadata to set metrics (which creates an azpc) but not set a display port sometimes (ie if the root scroll frame is not scrollable but there is fixed content)

This bug is to fix the regression caused by bug 1662013. Two other bugs also regressed this (bug 1627012 and bug 1667475), and we need to fix all of them to fix the problem. Bug 1687886 is filed for the regression from bug 1667475. Bug 1687926 is filed for the regression from bug 1627012.

Before https://hg.mozilla.org/integration/autoland/rev/b78646d59e32 we only set scrollOffsetUpdated to true if GetScrollOffsetUpdated() was set to true on the metrics, and it didn't get set to true for new scroll frames.

The reason that this came up is in bug 1675547 we want to set a zero margin display port on any scroll frame that could async scroll to fix a fission hit testing problem. The current proposed solution for that bug sets a content side property so that we get the additional benefit of not aligning the displayport which expands it. That allows us to avoid this problem for this specific scroll frames. But fixing the regression is a good idea, there are other scroll frames affected as outlined above.

Depends on D102586

Assignee: nobody → tnikkel
Status: NEW → ASSIGNED
Severity: -- → S3
Priority: -- → P3
Depends on: 1689291
Blocks: 1689492
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3a23af510b99
Don't request a repaint for a scroll update of type NewScrollFrame that doesn't change the scroll offset. r=botond

Backed out for build bustages at /layers/FrameMetrics.cpp
Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel&revision=3a23af510b99152b38d26ff79c30fe45a33e4bb1&selectedTaskRun=INEJfmSgRVm36tzj_ZYS1w.0
Failure log: https://treeherder.mozilla.org/logviewer?job_id=328524885&repo=autoland&lineNumber=35927

[task 2021-02-02T04:17:09.218Z] 04:17:09 INFO - ipc/glue/FileDescriptorSetChild.o
[task 2021-02-02T04:17:09.219Z] 04:17:09 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.508Z] 04:17:09 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.509Z] 04:17:09 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o FileDescriptorSetChild.o -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_LINUX -DOS_POSIX=1 -DOS_LINUX=1 '-DMOZ_CHILD_PROCESS_NAME="plugin-container"' '-DMOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"' -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/workspace/obj-build/ipc/glue -I/builds/worker/checkouts/gecko/caps -I/builds/worker/checkouts/gecko/dom/broadcastchannel -I/builds/worker/checkouts/gecko/dom/indexedDB -I/builds/worker/checkouts/gecko/dom/storage -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/third_party/libwebrtc -I/builds/worker/checkouts/gecko/third_party/libwebrtc/webrtc -I/builds/worker/checkouts/gecko/xpcom/build -I/builds/worker/checkouts/gecko/dom/ipc -I/builds/worker/checkouts/gecko/toolkit/crashreporter -I/builds/worker/checkouts/gecko/toolkit/xre -I/builds/worker/checkouts/gecko/xpcom/base -I/builds/worker/checkouts/gecko/xpcom/threads -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fsanitize=thread -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -gline-tables-only -fomit-frame-pointer -funwind-tables -Wno-error=shadow -Wno-shadow -fexperimental-new-pass-manager -MD -MP -MF .deps/FileDescriptorSetChild.o.pp /builds/worker/checkouts/gecko/ipc/glue/FileDescriptorSetChild.cpp
[task 2021-02-02T04:17:09.511Z] 04:17:09 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.512Z] 04:17:09 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.513Z] 04:17:09 INFO - ipc/glue/FileDescriptorSetParent.o
[task 2021-02-02T04:17:09.513Z] 04:17:09 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.804Z] 04:17:09 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.806Z] 04:17:09 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o FileDescriptorSetParent.o -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_LINUX -DOS_POSIX=1 -DOS_LINUX=1 '-DMOZ_CHILD_PROCESS_NAME="plugin-container"' '-DMOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"' -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/workspace/obj-build/ipc/glue -I/builds/worker/checkouts/gecko/caps -I/builds/worker/checkouts/gecko/dom/broadcastchannel -I/builds/worker/checkouts/gecko/dom/indexedDB -I/builds/worker/checkouts/gecko/dom/storage -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/third_party/libwebrtc -I/builds/worker/checkouts/gecko/third_party/libwebrtc/webrtc -I/builds/worker/checkouts/gecko/xpcom/build -I/builds/worker/checkouts/gecko/dom/ipc -I/builds/worker/checkouts/gecko/toolkit/crashreporter -I/builds/worker/checkouts/gecko/toolkit/xre -I/builds/worker/checkouts/gecko/xpcom/base -I/builds/worker/checkouts/gecko/xpcom/threads -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fsanitize=thread -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -gline-tables-only -fomit-frame-pointer -funwind-tables -Wno-error=shadow -Wno-shadow -fexperimental-new-pass-manager -MD -MP -MF .deps/FileDescriptorSetParent.o.pp /builds/worker/checkouts/gecko/ipc/glue/FileDescriptorSetParent.cpp
[task 2021-02-02T04:17:09.808Z] 04:17:09 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.809Z] 04:17:09 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:09.809Z] 04:17:09 INFO - ipc/glue/Unified_cpp_ipc_glue0.o
[task 2021-02-02T04:17:09.810Z] 04:17:09 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:11.012Z] 04:17:11 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/gfx/layers'
[task 2021-02-02T04:17:11.012Z] 04:17:11 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o Unified_cpp_gfx_layers0.o -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DMOZ_APP_VERSION=87.0a1 -DOS_POSIX=1 -DOS_LINUX=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/gfx/layers -I/builds/worker/workspace/obj-build/gfx/layers -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/checkouts/gecko/docshell/base -I/builds/worker/checkouts/gecko/dom/canvas -I/builds/worker/checkouts/gecko/layout/base -I/builds/worker/checkouts/gecko/layout/generic -I/builds/worker/checkouts/gecko/media/libyuv/libyuv/include -I/builds/worker/checkouts/gecko/gfx/skia -I/builds/worker/checkouts/gecko/gfx/skia/skia -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fsanitize=thread -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -gline-tables-only -fomit-frame-pointer -funwind-tables -I/builds/worker/workspace/obj-build/dist/include/cairo -I/builds/worker/checkouts/gecko/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0/unix-print -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-error=shadow -Wno-maybe-uninitialized -fexperimental-new-pass-manager -MD -MP -MF .deps/Unified_cpp_gfx_layers0.o.pp Unified_cpp_gfx_layers0.cpp
[task 2021-02-02T04:17:11.013Z] 04:17:11 INFO - In file included from Unified_cpp_gfx_layers0.cpp:119:
[task 2021-02-02T04:17:11.013Z] 04:17:11 ERROR - /builds/worker/checkouts/gecko/gfx/layers/FrameMetrics.cpp:135:17: error: invalid operands to binary expression ('bool' and 'void')
[task 2021-02-02T04:17:11.013Z] 04:17:11 INFO - offsetChanged |=
[task 2021-02-02T04:17:11.013Z] 04:17:11 INFO - ~~~~~~~~~~~~~ ^
[task 2021-02-02T04:17:11.013Z] 04:17:11 INFO - 1 error generated.
[task 2021-02-02T04:17:11.013Z] 04:17:11 INFO - /builds/worker/checkouts/gecko/config/rules.mk:674: recipe for target 'Unified_cpp_gfx_layers0.o' failed
[task 2021-02-02T04:17:11.013Z] 04:17:11 ERROR - make[4]: *** [Unified_cpp_gfx_layers0.o] Error 1
[task 2021-02-02T04:17:11.014Z] 04:17:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/gfx/layers'
[task 2021-02-02T04:17:11.014Z] 04:17:11 INFO - make[4]: *** Waiting for unfinished jobs....
[task 2021-02-02T04:17:11.017Z] 04:17:11 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:11.018Z] 04:17:11 INFO - ipc/glue/Unified_cpp_ipc_glue1.o
[task 2021-02-02T04:17:11.019Z] 04:17:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/ipc/glue'
[task 2021-02-02T04:17:11.072Z] 04:17:11 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/gfx/webrender_bindings'
[task 2021-02-02T04:17:11.073Z] 04:17:11 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o Unified_cpp_webrender_bindings0.o -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/gfx/webrender_bindings -I/builds/worker/workspace/obj-build/gfx/webrender_bindings -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fsanitize=thread -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -gline-tables-only -fomit-frame-pointer -funwind-tables -I/builds/worker/workspace/obj-build/dist/include/cairo -I/usr/include/freetype2 -I/usr/include/freetype2 -I/builds/worker/checkouts/gecko/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0/unix-print -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/builds/worker/workspace/obj-build/dist/include/cairo -fexperimental-new-pass-manager -MD -MP -MF .deps/Unified_cpp_webrender_bindings0.o.pp Unified_cpp_webrender_bindings0.cpp
[task 2021-02-02T04:17:11.073Z] 04:17:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/gfx/webrender_bindings'
[task 2021-02-02T04:17:11.095Z] 04:17:11 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/ipc/ipdl'
[task 2021-02-02T04:17:11.096Z] 04:17:11 INFO - mkdir -p '.deps/'

Flags: needinfo?(tnikkel)

Oops, I forgot this has a dependency on another patch I have to land first.

Flags: needinfo?(tnikkel)
Backout by apavel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a1efddeb1c4b
Backed out changeset 3a23af510b99 for build bustages at FrameMetrics.cpp on a CLOSED TREE
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d27a5a6bbd45
Don't request a repaint for a scroll update of type NewScrollFrame that doesn't change the scroll offset. r=botond
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch

== Change summary for alert #28605 (as of Wed, 03 Feb 2021 16:35:11 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
15% tscrollx linux64-shippable e10s stylo 0.79 -> 0.67
10% tp5o_scroll windows10-64-shippable-qr e10s stylo webrender-sw 2.18 -> 1.97

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28605

Excellent!

Regressions: 1691160

(In reply to Alexandru Ionescu (needinfo me) [:alexandrui] from comment #8)

== Change summary for alert #28605 (as of Wed, 03 Feb 2021 16:35:11 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
15% tscrollx linux64-shippable e10s stylo 0.79 -> 0.67
10% tp5o_scroll windows10-64-shippable-qr e10s stylo webrender-sw 2.18 -> 1.97

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28605

== Change summary for alert #28605 (as of Wed, 03 Feb 2021 13:05:11 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
29% tscrollx linux64-shippable-qr e10s stylo webrender 1.59 -> 1.12
22% tscrollx windows10-64-shippable-qr e10s stylo webrender 0.99 -> 0.78
20% tscrollx windows10-64-shippable e10s stylo 0.72 -> 0.58
17% tscrollx linux64-shippable-qr e10s stylo webrender-sw 1.33 -> 1.10
17% tscrollx windows10-64-shippable-qr e10s stylo webrender-sw 1.16 -> 0.96
15% tscrollx linux64-shippable e10s stylo 0.79 -> 0.67
15% tscrollx macosx1014-64-shippable-qr e10s stylo webrender 1.10 -> 0.94
15% tp5o_scroll linux64-shippable-qr e10s stylo webrender-sw 2.08 -> 1.78
14% tp5o_scroll linux64-shippable-qr e10s stylo webrender 2.65 -> 2.28
12% tp5o_scroll windows10-64-shippable-qr e10s stylo webrender 1.82 -> 1.60
10% tp5o_scroll windows10-64-shippable-qr e10s stylo webrender-sw 2.18 -> 1.97
8% tp5o_scroll macosx1014-64-shippable-qr e10s stylo webrender 2.75 -> 2.53
6% tsvg_static linux64-shippable e10s stylo 50.73 -> 47.50

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28605

== Change summary for alert #28672 (as of Mon, 08 Feb 2021 12:19:07 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
8% raptor-tp6-google-firefox-cold loadtime windows10-64-shippable-qr nocondprof webrender 1,085.67 -> 1,004.00
6% raptor-tp6-google-firefox-cold loadtime windows10-64-shippable-qr nocondprof webrender 1,073.50 -> 1,006.75

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28672

Note that these perf improvements might go away with the landed patch in bug 1691160 for a regression from this.

Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: