Граф коммитов

12158 Коммитов

Автор SHA1 Сообщение Дата
sotaro a6cdc76571 Bug 1492323 - Make explicit that WebRenderBridgeParent::MaybeGenerateFrame() is called if it is root WRBP r=nical 2018-09-20 17:47:05 +09:00
Matt Woodrow e6fabc8bd9 Bug 1483549 - Add separate CONTENT_FRAME_TIME recording for SVG with WR. r=jrmuizel data-review=francois
MozReview-Commit-ID: Rqx1bqOeQw

Differential Revision: https://phabricator.services.mozilla.com/D6208

--HG--
extra : amend_source : b55099ae3bf8a9b89432bc7e1b30b59b9967986f
2018-09-18 15:13:18 +12:00
Ciure Andrei 6c9326f1a9 Backed out 4 changesets (bug 1418816) for reftest perma failure bugs/289480.html a=backout
Backed out changeset d722f5a4a8af (bug 1418816)
Backed out changeset 75d9a625be06 (bug 1418816)
Backed out changeset 807f0f510c25 (bug 1418816)
Backed out changeset 3c4cec04f28d (bug 1418816)
2018-09-19 20:59:37 +01:00
Jamie Nicol 0d93291c01 Bug 1418816 - Part 3: Handle repeated image layers in advanced layers. r=mattwoodrow
Depends on D6025

Differential Revision: https://phabricator.services.mozilla.com/D6026

--HG--
extra : moz-landing-system : lando
2018-09-19 12:14:15 +00:00
Jamie Nicol b1d6426ad5 Bug 1418816 - Part 2: Handle repeated image layers in ImageLayerComposite. r=mattwoodrow
Depends on D6024

Differential Revision: https://phabricator.services.mozilla.com/D6025

--HG--
extra : moz-landing-system : lando
2018-09-19 12:14:10 +00:00
Jamie Nicol 5294656897 Bug 1418816 - Part 1: Add repeat size property to ImageLayer. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D6024

--HG--
extra : moz-landing-system : lando
2018-09-19 04:44:26 +00:00
Doug Thayer be5fea716c Bug 1483533 - Delay texture delete for DirectMapTextureSource r=jrmuizel
I wish I understood a little better what precisely is going on
here. What seems to be the problem is calling glDeleteTextures
too early, but I can't pin down exactly when "too early" is.
In any case I can no longer reproduce the issue with this patch
applied, and I cannot observe any performance degradation, and
it's not a remarkably risky patch, so I'm opting to cut the
investigation short. Any insights would be appreciated though.

Differential Revision: https://phabricator.services.mozilla.com/D6064

--HG--
extra : moz-landing-system : lando
2018-09-18 19:08:13 +00:00
Bas Schouten 3f601ce856 Bug 1479640: Restructure cleartype parameter code to run less frequently and only in the parent process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4784

--HG--
extra : moz-landing-system : lando
2018-09-13 18:59:27 +00:00
Ciure Andrei 3e6299cfc7 Backed out changeset 59759503b889 (bug 1483533) for test failures RefPtr CLOSED TREE 2018-09-18 08:54:29 +03:00
Doug Thayer 8d7a1df18a Bug 1483533 - Delay texture delete for DirectMapTextureSource r=jrmuizel
I wish I understood a little better what precisely is going on
here. What seems to be the problem is calling glDeleteTextures
too early, but I can't pin down exactly when "too early" is.
In any case I can no longer reproduce the issue with this patch
applied, and I cannot observe any performance degradation, and
it's not a remarkably risky patch, so I'm opting to cut the
investigation short. Any insights would be appreciated though.

Differential Revision: https://phabricator.services.mozilla.com/D6064

--HG--
extra : moz-landing-system : lando
2018-09-18 04:33:05 +00:00
Arika Arnzen 29454d7afb Bug 1488910 - Rename remaining uses of "SPCSPS" to "visual viewport size". r=botond
--HG--
extra : rebase_source : 8272c090e436d42926bf0e0584ad8f1b402011bb
2018-09-14 15:23:28 -04:00
Ryan Hunt c272b03256 Bug 1440937 - Change PaintTask to be a UniquePtr. r=mattwoodrow
Now that we have C++14 support we can capture a move only object in a lambda expression.

--HG--
extra : rebase_source : 232639ba334520cf9d38d68190af8fdcd4aa454d
2018-09-12 10:28:59 -05:00
Bobby Holley bfef218298 Bug 1491572 - Add a reason string to added MOZ_ASSERT_UNREACHABLE. r=me
MozReview-Commit-ID: EpS5ubqYGec
2018-09-16 10:10:43 -07:00
Masatoshi Kimura ccda8a2b19 Bug 1491615 - Re-enable warnings-as-errors on clang-cl in gfx/layers/. r=jrmuizel
* TexSlot caused warnings because some TexSlot constants are unused. Since some
  files under gfx/vr/ want TexSlot constants, I moved the definition to
  CompositionD3D11.h. (But I didn't fix gfx/vr/ in this patch.)

* Since MOZ_ASSERT_UNREACHABLE falls through in release builds, we should
  assign a value even in the `default` case instead of invoking UB. If we do
  not care about UB, we should use MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE.

--HG--
extra : rebase_source : 66647124582efe26f9e6dbe35f24fe6955cead4b
2018-09-16 08:00:02 +09:00
Bobby Holley f35563781f Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

Differential Revision: https://phabricator.services.mozilla.com/D5719

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 15:27:31 -07:00
Gurzau Raul d4d9bd916d Backed out changeset 9762d76da9b3 (bug 1480293) for failing at aboutmemory/tests/test_memoryReporters.xul 2018-09-14 22:32:18 +03:00
Bobby Holley 42a527b3d1 Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

Differential Revision: https://phabricator.services.mozilla.com/D5719

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 10:59:00 -07:00
Andrew Osmond 86d7bb0dde Bug 1485420 - Part 2. Make ClipManager trim clip chains which can be merged with the display item. r=mstange 2018-09-14 10:42:23 -04:00
sotaro 24c5a93279 Bug 1486958 - Sync FlushRendering() only during resizing on windows r=mattwoodrow 2018-09-14 17:13:55 +09:00
Narcis Beleuzu 3a8485e6e6 Backed out 6 changesets (bug 1492930) for build bustages on ImageMemoryReporter.cpp. CLOSED TREE
Backed out changeset 9d1ff0d0af47 (bug 1492930)
Backed out changeset bdb1bf2d8062 (bug 1492930)
Backed out changeset 2959314ecf7c (bug 1492930)
Backed out changeset 587e01daa080 (bug 1492930)
Backed out changeset 1a6b422c5a90 (bug 1492930)
Backed out changeset a3b3f4cdc9fa (bug 1492930)
2018-09-25 13:33:17 +03:00
Andrew Osmond c1c4901bbd Bug 1492930 - Part 2. Expose the external image ID for surfaces' memory reporting. r=nical 2018-09-25 06:18:06 -04:00
Andrew Osmond 300f791494 Bug 1492930 - Part 1. Expose composition of shared surfaces cache to allow memory reporting. r=nical
This exposes methods to capture a snapshot of the SharedSurfacesParent
cache for memory reporting purposes. It yields the identifiers, image
properties and references to images mapped in the cache. This will be
used by the compositor process to list everything it has mapped into its
memory space. It will also be used by the content processes / main
process to list images that specific process had mapped into the
compositor process. This will allow us to easily identify what images
remain in the compositor process, but are missing from the surface
cache.
2018-09-25 06:18:06 -04:00
Gurzau Raul fdf7e4364c Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-10 07:43:59 +03:00
Sotaro Ikeda 848aa7ecc5 Bug 1461239 - Use InvalidateRenderedFrame() when necessary r=nical 2018-10-09 23:20:23 -04:00
Nicolas Silva f5c8fc210d Bug 1477819 - Use WebRender low priority transactions for web content. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D5531

--HG--
extra : rebase_source : 627738d5f791aa9c243e0174d3d153f5ac8e319f
2018-09-12 15:30:17 +00:00
Alex Gaynor 1b9a2f5a86 Bug 1490415 - prevent creating a GPUVideoTextureHost with a null wrapped texture; r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D5563

--HG--
extra : rebase_source : 1b27177d4eef525f978ef2c4c445bf24f8512492
2018-09-12 00:17:10 +00:00
Nicolas Silva 9699c6d4db Bug 1352877 - Clear the compositor map later during shutdown. r=mattwoodrow 2018-09-11 16:50:48 +02:00
Nicolas Silva 645517471b Bug 1352877 - Avoid false negative assertion during shutdown. r=mattwoodrow 2018-09-11 16:50:30 +02:00
Botond Ballo 2801828374 Bug 1478335 - Use the visual viewport offset to compute the visible area in CalculateRectToZoomTo(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D5462

--HG--
extra : moz-landing-system : lando
2018-09-10 20:25:06 +00:00
Matt Woodrow f4a90435ef Bug 1488980 - Implement StartFrameTimeRecording for WebRender. r=mstange
MozReview-Commit-ID: Ib5t0e8S6df

Differential Revision: https://phabricator.services.mozilla.com/D5103

--HG--
extra : moz-landing-system : lando
2018-09-08 18:41:34 +00:00
Daniel Varga 1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Botond Ballo 226a67047c Bug 1489630 - Mark AutoApplyAsyncTestAttributes as MOZ_RAII. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D5306

--HG--
extra : moz-landing-system : lando
2018-09-07 20:12:35 +00:00
Jeff Muizelaar e77d9b4b90 Bug 1479175. Fix missing 'explicit'
CLOSED TREE
2018-09-07 10:53:55 -04:00
Sotaro Ikeda 2ae34d40f4 Bug 1479175 - check if keyed mutex of D3D11Texture2D has been released during recycling. r=bas 2018-09-07 10:12:27 -04:00
Henrik Winnemöller be01b218cc Bug 1488555 - Use ImageRendering property to provide proper filtering support for AsyncImage. r=nical
Introduce an ImageRendering argument for CreateImageKey which is then used at the CreateAsyncImageWebRenderCommands call to provide the proper filtering instead of using always Auto filtering. Update all calls to CreateImageKey to use the new interface.
2018-09-07 22:28:41 +02:00
Daniel Zielas 21d87f2b40 Bug 1420996 - Replace CompositorHitTestInfo with an EnumSet. r=botond
--HG--
extra : rebase_source : b62faecd4eb7a988e62a1f41eca6481f90e57c02
extra : histedit_source : 417426b84d2a269d84980df972073e67c2643cd3
2018-09-25 20:47:55 +02:00
Jeff Muizelaar 07e9250f5d Bug 1449634. Handle foreignobject better with blob invalidation. r=mstange
Turn off grouping and switch to regular WebRender building when
we encounter a foreignobject.

MozReview-Commit-ID: 6fHc4Ioi22N
2018-09-06 16:10:51 -04:00
Jeff Muizelaar 050bab0d8b Bug 1487903. Fix invalidation of filter and mask items. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5073
2018-09-06 10:56:09 -04:00
Margareta Eliza Balazs baa535d4e0 Merge inbound to mozilla-central. a=merge 2018-09-06 12:53:57 +03:00
Lee Salzman de75729420 Bug 1480615 - reuse scaled fonts across blob image recordings. r=jrmuizel 2018-09-05 21:55:53 -04:00
Matt Woodrow 41c48dbf73 Bug 1473890 - Verify that CompositorAnimations come from the content process that they claim. r=nical
MozReview-Commit-ID: AqcezlMQXE4

Differential Revision: https://phabricator.services.mozilla.com/D4840

--HG--
extra : moz-landing-system : lando
2018-09-06 02:36:10 +00:00
Alex Gaynor b6cdb4cf71 Bug 1488498 - expand comment in CompositorBridgeChild::Get(); r=nical 2018-09-04 12:58:34 -04:00
Bas Schouten d9c0061198 Bug 1486875: Make it possible to skip composition or painting using environment variables. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D4526

--HG--
extra : moz-landing-system : lando
2018-09-04 00:18:11 +00:00
Alex Gaynor ac3702bff2 Bug 1487091 - remove an unused element from a graphics IPDL union; r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D4543

--HG--
extra : moz-landing-system : lando
2018-08-30 00:35:08 +00:00
Narcis Beleuzu 28a443cd37 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-09-02 01:00:31 +03:00
Brian Hackett 44f3ddf9d7 Bug 1486562 - Record reference count changes for SourceListener, r=jib.
--HG--
extra : rebase_source : efd7935de09e85e15d6bd77fd65a49c42be7ff6f
2018-08-31 05:24:09 -10:00
Cosmin Sabou 2c3abdb6ba Merge mozilla-central to autoland. a=merge 2018-09-01 12:31:39 +03:00
Cosmin Sabou c8483bebfa Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : gfx/doc/AsyncPanZoom-HighLevel.png => gfx/docs/AsyncPanZoomArchitecture.png
rename : gfx/doc/silkArchitecture.png => gfx/docs/SilkArchitecture.png
rename : gfx/doc/README.webrender => gfx/webrender_bindings/README.webrender
2018-09-01 12:27:26 +03:00
Henri Sivonen 4498bbb089 Bug 1484985 - Avoid writing past the logical length of a string in graphics code. r=jgilbert
MozReview-Commit-ID: 7YtpBiaA7Gp

Differential Revision: https://phabricator.services.mozilla.com/D3885

--HG--
extra : moz-landing-system : lando
2018-08-31 20:12:34 +00:00
Sotaro Ikeda c48891ba19 Bug 1487001 - Use effective ScrollOffset to calculate visible rect of checkerboard. r=botond
--HG--
extra : source : 0509636cc5d54ee4abcc1864e69bc8d7aa29a3b0
2018-08-31 12:44:52 -04:00
Sebastian Hengst 4f39161869 Backed out 18 changesets (bug 1487647, bug 1487271, bug 1487001, bug 1487105, bug 1486845, bug 1485738, bug 1487595, bug 1347060, bug 1480900, bug 1487889) for accidential push of inbound to central. a=backout
Backed out changeset 331706d8558f (bug 1487595)
Backed out changeset d78b833293db (bug 1487595)
Backed out changeset f292ef31ef0b (bug 1487595)
Backed out changeset ef8c5c529210 (bug 1486845)
Backed out changeset 9cbc8592d649 (bug 1487889)
Backed out changeset 05a0118455e4 (bug 1487105)
Backed out changeset 78b8ff889992 (bug 1487105)
Backed out changeset 5a55e5b74107 (bug 1480900)
Backed out changeset ea2402bdef40 (bug 1347060)
Backed out changeset 3f831b709e37 (bug 1485738)
Backed out changeset d1c29bfb5ea9 (bug 1480900)
Backed out changeset 8e60483ec824 (bug 1480900)
Backed out changeset 328589a86dd1 (bug 1487647)
Backed out changeset d974ef1647f3 (bug 1480900)
Backed out changeset 0509636cc5d5 (bug 1487001)
Backed out changeset c57165730494 (bug 1487271)
Backed out changeset a55d81761fc4 (bug 1480900)
Backed out changeset eaa2d0e9b62d (bug 1480900)

--HG--
rename : gfx/docs/AsyncPanZoomArchitecture.png => gfx/doc/AsyncPanZoom-HighLevel.png
rename : gfx/webrender_bindings/README.webrender => gfx/doc/README.webrender
rename : gfx/docs/SilkArchitecture.png => gfx/doc/silkArchitecture.png
2018-09-01 02:01:23 +03:00
Sotaro Ikeda 4f34f50cb1 Bug 1487001 - Use effective ScrollOffset to calculate visible rect of checkerboard. r=botond
--HG--
extra : rebase_source : f934f432cbc21d38ff07851ae00fc1ee2f46f048
2018-08-31 12:44:52 -04:00
Botond Ballo 3173b0cdd2 Bug 1485314 - Only advance animations in SampleForWebRender() after all async transforms have been sampled. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D4792

--HG--
extra : moz-landing-system : lando
2018-08-31 20:08:38 +00:00
Jeff Muizelaar a21bea480d Bug 1452426. Hook up invalidation testing in WebRender. r=mstange 2018-08-30 18:29:36 -04:00
Jamie Nicol d2ddd59b5f Bug 1471221 - Calculate intermediate surface bounds in advanced layers in pre-pass. r=mattwoodrow
Advanced layers was calculating incorrect visible regions for
container layers with intermediate surfaces, as it was not taking
async transform animations in to account. Rather than recursing the
depth of the tree for each layer to calculate this in
OnPrepareToRender, do a single pre-pass at the start of the frame.

Differential Revision: https://phabricator.services.mozilla.com/D4522

--HG--
extra : moz-landing-system : lando
2018-08-30 00:26:08 +00:00
Miko Mynttinen 1548622d86 Bug 1472733 - Improve IntRect overflow handling when calculating layer invalidation area and visible region r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4627

--HG--
extra : moz-landing-system : lando
2018-08-30 00:59:28 +00:00
Alex Gaynor 2ddbae2c62 Bug 1487148 - handle there not being an X display gracefully in IPC; r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D4577

--HG--
extra : moz-landing-system : lando
2018-08-29 17:30:53 +00:00
Gabriele Svelto 6bddc0a55e Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

Differential Revision: https://phabricator.services.mozilla.com/D4458

--HG--
extra : moz-landing-system : lando
2018-08-29 20:54:56 +00:00
Nicolas Silva e3795cb5ee Bug 1486030 - Don't keep a null texture in the video bridge texture map. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D4319

--HG--
extra : moz-landing-system : lando
2018-08-27 10:00:33 +00:00
Nicolas Silva e260c539f2 Bug 1485441 - Add diagnostics to GL compositor shader failures and avoid crashing release builds. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D4079

--HG--
extra : moz-landing-system : lando
2018-08-23 14:46:50 +00:00
Brindusan Cristian d204b281a1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-23 06:45:33 +03:00
Jeff Muizelaar 92e5b037a8 Bug 1477448. Ensure ToDeviceSpace() preserves EmptyRects. r=mstange
MozReview-Commit-ID: 40qjwj3dpmp
2018-08-22 22:21:30 -04:00
Brindusan Cristian d2592042f8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-23 01:02:39 +03:00
Jamie Nicol c0b13f02f6 Bug 1484101 - Ensure DrawTargetTiled::PadEdges is called with region in device space. r=rhunt
In MultiTiledContentClient we can create a DrawTargetTiled with a
different origin than the layer we are painting. We must therefore
ensure when edge-padding that we provide the valid region in the draw
target's device-space rather than layer-space. Not doing so was
causing us to pad out in incorrect directions, causing visible seams.

Differential Revision: https://phabricator.services.mozilla.com/D3993

--HG--
extra : moz-landing-system : lando
2018-08-22 16:29:52 +00:00
Nicolas Silva 9bd631e865 Bug 1484624 - Don't create texture sources if the compositor doesn't have a GL context. r=sotaro 2018-08-22 13:59:15 +02:00
Nicolas Silva 808163871b Bug 1483459 - Avoid copying regions before converting them to rects throughout the gfx directory. r=sotaro
This patch was generated using a simple sed script:
sed -i 's/ToUnknownRegion().GetBounds()/GetBounds().ToUnknownRect()/g' gfx/**/*.cpp gfx/**/*.h

Differential Revision: https://phabricator.services.mozilla.com/D3875

--HG--
extra : rebase_source : 4e9e7c9f2fb4ca60122712dd06632147cdec7195
2018-08-21 14:58:47 +02:00
Nicolas Silva 55a85b0bc0 Bug 1483459 - Don't needlessly copy regions in ContainerLayer::GetIntermediateSurfaceRect. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D3876

--HG--
extra : rebase_source : 3f615973f71fbaeed595663308e8ee34b77afd8b
2018-08-21 14:41:42 +02:00
Jean-Yves Avenard efd5ec6e7a Bug 1245400 - P5. Report frames dropped with WebRender. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D2182
2018-08-22 17:26:37 +02:00
Jean-Yves Avenard ea40a439ac Bug 1245400 - P4. Remove no longer used class member. r=nical
Also speed up compositing videos as there's no longer need to check every single frames twice to determine if they were composited or not.

Differential Revision: https://phabricator.services.mozilla.com/D2178
2018-08-22 17:26:37 +02:00
Jean-Yves Avenard 70040ff272 Bug 1245400 - P3. Report number of frames dropped by compositor back to VideoSink. r=nical
We report the number of frames dropped by the compositor because they were too late through:
ImageComposite -> ImageHost -> CompositableTransactionParent -> ImageBridgeParent -> IPDL -> ImageBridgeChild -> ImageContainerListener -> ImageContainer -> VideoSink

Differential Revision: https://phabricator.services.mozilla.com/D2177
2018-08-22 17:26:36 +02:00
Jean-Yves Avenard a0a2549c82 Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow
We can't rely on the FrameID continuity to determine if a frame has been dropped due to timing or not.
The reason being that the VideoSink will not send to the compositor frames it knows as being late already (causing a discontinuity in the frames IDs), and count them as being dropped.
If we were to look at discontinuity on the compositor we would account for those frames twice.

FramesID will also increase non-linearly if a frame isn't painted because it's not visible (either out of the visible tree or in a hidden tab).

What we can measure however, is when a frame should have been painted but didn't because it was too late by looking at the value returned by ImageComposite::ChooseImageIndex() or when a new set of images is being received by the ImageComposite.
Any images found in the earlier array but never returned must have been dropped due to timing.

Looking at the index continuity greatly simplify the logic as we no longer need to worry if a video is hidden or not, or be part of a layer that is itself hidden as neither SetImages will be called then, nor ChooseImage

For now, we only account for those frames dropped, and do not report them yet.

Differential Revision: https://phabricator.services.mozilla.com/D2176
2018-08-22 17:26:36 +02:00
Jean-Yves Avenard f7be15f4f4 Bug 1245400 - P1. Make ImageComposite::mImages a private member. r=nical
We will use the characteristic of which TimedImage is returned to keep track on how many frames were dropped because they were too old. As such, we must make sure the retrieval of the current image is serialised.

This allows to reduce duplicated code between WebRenderImageHost and ImageHost classes.

Additionally, make RenderInfo::img member const as really, we never want to modify that one.

A future change will enforce that RenderInfo.img never survives longer than the ChooseImage()'s caller to clarify the lifetime of the TimedImage.

Differential Revision: https://phabricator.services.mozilla.com/D2175
2018-08-22 17:26:36 +02:00
Ryan Hunt 731b450e6f Bug 1483245 - Add telemetry probes for amount of time spent on paint thread and the amount of tasks. r=jrmuizel
--HG--
extra : rebase_source : d260f473549d559fdd8ad7a22ea5bb81e301b438
2018-08-17 15:22:34 -05:00
Ryan Hunt 781aabfe2e Bug 1483772 - Never have mAsyncTask be non-null when we cannot paint. r=nical
In bug 1482415 a special check was added for the case where we fail to allocate
a buffer and started an async task. This papered over one crash for another
as ClientPaintedLayer also assumes that if there is an async task there is
a capture. It'd be best to just null out mAsyncTask and keep those checks
as is.

Differential Revision: https://phabricator.services.mozilla.com/D3520

--HG--
extra : rebase_source : 8cb2458f0a98795a6ece90b38a9c194c863bbd84
2018-08-16 10:33:14 -05:00
Brian Hackett 050b328fd7 Bug 1483256 - Use mozilla::Atomic in MemoryTextureReadLock, r=nical.
--HG--
extra : rebase_source : f555c3b8493390a34fc722bf1ebde115b0cdaf56
2018-08-21 01:00:40 +00:00
Botond Ballo 2d810403e3 Bug 1470504 - Enable test_group_zoom on desktop platforms. r=kats
With a couple of exceptions:
  - WebRender, which doesn't support zooming yet
  - Windows, which is tracked in bug 1495580

Differential Revision: https://phabricator.services.mozilla.com/D7349

--HG--
extra : rebase_source : 216d8de599b95d28ffd74120aca9b999dab686dc
extra : histedit_source : c206fd9e8046ca7536cc17047a140096d2333617
2018-10-01 15:40:11 -04:00
Botond Ballo 50620f6422 Bug 1470504 - Use IGNORE_ROOT_SCROLL_FRAME in PrepareForSetTargetAPZCNotification() whenever zooming is enabled. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D7644

--HG--
extra : rebase_source : f46649d36722a94365b0c3587a1bd1b55658f9a1
extra : histedit_source : a7a6825335f828989964db0b9bab28a46bb2dda2
2018-10-03 15:04:45 -04:00
Botond Ballo 12ffde74da Bug 1470504 - Increase the layout viewport size in helper_basic_doubletap_zoom.html. r=kats
Double-tap zoom requires that the layout viewport be wider than the screen,
so if we want the test to run on desktop, we need a wide enough layout viewport.

Differential Revision: https://phabricator.services.mozilla.com/D7347

--HG--
extra : rebase_source : e398781447df9de0966ce96a8e540230967d1087
extra : histedit_source : b110e5b26cedb00cec74f44633860be22f654408
2018-10-01 14:41:49 -04:00
Botond Ballo 6b0a38ed52 Bug 1470504 - If zooming is enabled, mark mouse events passing through APZ as 'ignore root scroll frame' on all platforms. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D7346

--HG--
extra : rebase_source : 22770a65e3b676ba8aa03018fc8aa105354cbc7f
extra : histedit_source : a630425bff0919e0e87ce56bef508027d697a89b
2018-09-28 19:16:27 -04:00
Botond Ballo 33925f771e Bug 1470504 - Consider the layout width taken up by scrollbars in helper_zoomed_pan.html. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D7345

--HG--
extra : rebase_source : a52d2c3b512f91bf37d1e4441f1f2fe0c0317c20
extra : histedit_source : 3d43e6c3245cd7a423c9ad6c19824d283b8de55e
2018-09-28 17:06:49 -04:00
Botond Ballo 02785654b7 Bug 1470504 - Add a clarifying comment to helper_bug1280013.html. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D7643

--HG--
extra : rebase_source : 771e72107e4f20ebb478e1ded224909a25b7f666
extra : histedit_source : 7f4923d960b4b1e3e521e4e3983a15a5c4c3ab10
2018-10-03 15:03:23 -04:00
Botond Ballo 4f64e06640 Bug 1470504 - Skip empty paints when looking for the most recent paints in the APZ test data. r=kats
Retained displaylists can produce empty paints, which wasn't the case before.

Differential Revision: https://phabricator.services.mozilla.com/D7343

--HG--
extra : rebase_source : a7cce68d6cde3f11aa838609586fd939d428650b
extra : histedit_source : d4e490a445daf01db5ba87185cd0461095f003d7
2018-09-18 15:55:47 -04:00
Botond Ballo 7e073d817f Bug 1470504 - Make helper_bug1280013.html wide enough that it's zoomed in even on desktop. r=kats
And also wide enough that the corresponding, proportionally computed, viewport
height is tall enough to allow enough scrolling to bring the iframe under
the cursor.

Differential Revision: https://phabricator.services.mozilla.com/D7342

--HG--
extra : rebase_source : 5b0fee255201cde94dab8faf4b95825f776c76c9
extra : histedit_source : d282542adf2f2678624834e694bbabf095669afa
2018-09-18 16:03:23 -04:00
Botond Ballo 4a7cbb3278 Bug 1470504 - Always log the high-resolution displayport to APZ test data. r=kats
Previously we would log the displayport and the critical displayport separately,
which made it more difficult to write cross-platform APZ tests.

Differential Revision: https://phabricator.services.mozilla.com/D7341

--HG--
extra : rebase_source : ef2d87b7f9314bb5e6943a8da2b4fd40de85c99b
extra : histedit_source : 80f1e914330f1be0a7a5e531356e6b869b0d29ac
2018-09-12 20:18:38 -04:00
Botond Ballo e1fd77184f Bug 1470504 - Remove the assertion in ScrollMetadata::SetUsesContainerScrolling(). r=kats
The assertion is not serving much purpose. Now that container scrolling is
a Live pref, checking it on the compositor side is racy if the pref is
flipped, and on the content side it's clear from the code that it will
only be set to true if the pref is turned on.

Differential Revision: https://phabricator.services.mozilla.com/D7339

--HG--
extra : rebase_source : 4ba80a40969aeac50f303e949472e51d05884fbd
extra : histedit_source : 54c1c0ac5d33a1523080f43ab10c2d01b545a3cc
2018-09-26 19:17:54 -04:00
Andrew Osmond 7b5c6eb801 Bug 1452513 - Avoid issuing transactions with WebRender when the namespace has changed. r=kats
When the namespace changes (e.g. due to a tab move between windows), we
may get stale transaction requests that we need to ignore. In
WebRenderBridgeParent::RecvSetDisplayList, we would automatically send
any unsent transaction data when exiting the method, but this did not
take into account the staleness. This patch ensures we only flush the
data if we actually want it.

The transaction in question that was observed and causing crashes was
UpdateImageBuffer.
2018-08-21 08:29:09 -04:00
Nicolas Silva 0805d95b99 Bug 1482109 - Hook the memory pressure observer up with WebRender. r=sotaro
--HG--
extra : rebase_source : e23d9db4ffff5d1994f476e660f7f6cbe52e6ad6
2018-08-20 15:23:54 +02:00
Kashav Madan 6c9e5b4504 Bug 1465616 - Add reftests for main-thread scroll behaviour. r=botond
MozReview-Commit-ID: IzSUQqvjrUp

--HG--
extra : rebase_source : 00879de80d883f65eaa8895a11802ab0e6d2486f
2018-08-14 13:34:36 -04:00
Kashav Madan be05765545 Bug 1465616 - Add a mochitest for fixed position hit-testing. r=botond
MozReview-Commit-ID: IC82JZoVgPs

--HG--
extra : rebase_source : 2b00dc8aa740ac8b628a50be303ddee60ae7a5cc
2018-07-04 16:17:31 -04:00
Kashav Madan 36384db656 Bug 1465616 - Use layout viewport transformations to async-adjust fixed position elements. r=botond
This results in fixed position elements being attached to the layout viewport
when being async-scrolled by APZ (when the layout viewport is larger than the
visual viewport).

MozReview-Commit-ID: 2YYIDnTWgVn

--HG--
extra : rebase_source : 58b77b2e9c8ed35bdc2d24dd8ca9494e8d23a391
2018-07-20 17:45:48 -04:00
Kashav Madan 2a9fbaf66d Bug 1465616 - Temporarily apply async test attributes when compositing. r=botond,kats
Includes a new RAII class: AutoApplyAsyncTestAttributes, which, for the
duration of its lifetime, applies mTestAsyncScrollOffset and mTestAsyncZoom to
the APZC's FrameMetrics. We need this to ensure that the
AsyncPanZoomController::GetCurrentAsync* methods consider test scroll and zoom
attributes when doing their respective computations.

MozReview-Commit-ID: 9owJcdIegNH

--HG--
extra : rebase_source : 35273faf10b8db13e3b5485278262f93d4adc579
2018-07-20 17:37:36 -04:00
sotaro 4c0aee518b Bug 1482032 part 2 - Only register a value for CONTENT_FRAME_TIME if we actually drew something r=mattwoodrow 2018-08-15 14:13:49 +09:00
sotaro 8f19f46520 Bug 1482032 part 1 - A bit clean up of FlushTransactionIdsForEpoch() r=mattwoodrow 2018-08-15 14:13:24 +09:00
Ryan Hunt f7b6e05792 Bug 1482415 - Handle case where we failed to allocate a buffer and are async painting. r=nical
--HG--
extra : amend_source : 9908bb8454f4aa94b453fa1d7bc880e73b588383
2018-08-13 23:15:09 -05:00
Ryan Hunt b2e21ec958 Bug 1482956 - Standardize method names and add comments to PaintThread. r=nical
These method names and ordering have gotten out of sync because of
the recent churn.

Differential Revision: https://phabricator.services.mozilla.com/D3288

--HG--
extra : rebase_source : 42bceaeb66a0df4808981b8c9cb0ed70b23f5a30
extra : histedit_source : 228024efe8de4e149f7e7ca66a2bb078bba820ce
2018-08-13 12:58:25 -05:00
Ryan Hunt a3a666772d Bug 1482956 - Don't dispatch extra runnable for ending layer transaction. r=nical
This may have been needed at some point, but all the important code for
EndLayerTransaction is in CompositorBridgeChild behind a lock, so this
should be safe.

--HG--
extra : rebase_source : bda4080bc04afa95954732050df7bd25c8177752
extra : histedit_source : 9386583dd923bf0ae44ff783d3ef1c6692944c77
2018-08-13 12:57:15 -05:00
Ryan Hunt 92823fa25e Bug 1482956 - Use an AutoTArray in PaintTask to reduce heap allocations. r=nical
There should only ever be at most four TextureClients here, so
allocated a vector seems wasteful.

--HG--
extra : rebase_source : 6b0f9f7749461eb39cd3c6c6bf7917152ffc9aab
extra : histedit_source : b5539d02c294596a5147dc55b417ef7970f8c0cd
2018-08-13 12:22:18 -05:00
Ryan Hunt 2c62e46a50 Bug 1482956 - Remove templates for FinishedAsyncPaint methods in CompositorBridgeChild. r=nical
This was needed when there were multiple types of CapturedPaintStates but
is not anymore.

--HG--
extra : rebase_source : 3648edccca7c73e3e3aa7a5c3e0d48d12d6324c5
extra : histedit_source : 021814c10b6578970c3a6d234c1e6641ad26b095
2018-08-13 12:10:14 -05:00
Nicolas Silva 43aaf84a4c Bug 1482795 - Fix the gfx memory pressure observer. r=sotaro 2018-08-14 21:10:11 +02:00
Ting-Yu Lin 316a8e0c1d Bug 1482665 Part 4 - Remove nsDeviceContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3157
2018-08-13 14:29:30 -07:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Nicolas Silva 0dbafc5576 Bug 1482109 - Fix unified build related issues. r=rhunt 2018-08-10 17:15:23 +02:00
Nicolas Silva 448ed62883 Bug 1482109 - Use the generic memory pressure observer in ClientLayerManager. r=sotaro 2018-08-10 17:15:08 +02:00
Nicolas Silva 1d263cc139 Bug 1482109 - Add a generic MemoryPressureObserver. r=sotaro 2018-08-10 17:15:02 +02:00
Nicolas Silva 3cea37c9c2 Bug 1469496 - Handle video memory purge with WebRender. r=sotaro 2018-08-10 17:14:57 +02:00
Andrew Osmond 085c930700 Bug 1481933 - Store a shared surface's dirty rect update if we cannot process it immediately. r=nical
Multiple tabs in the same process could be viewing the same image. If it
is an image we are taking some time to download from the network, it may
not be displayed all at once. As a result, it could generate several
dirty rects for the newly decoded lines each time we paint. Since we
only apply the dirty rect to the active tab, and forget it afterwards,
then when one returns to the other tab(s), it may not reupload all of
the modified image data. Now we save the dirty rect and accumulate it
for the handles which weren't able to be updated immediately.
2018-08-10 10:48:23 -04:00
Andrew Osmond b30de56ba9 Backed out changeset 3f41992ab77e (bug 1446309) because wrong bug number. r=backout 2018-08-10 09:33:31 -04:00
Andrew Osmond cf006cd593 Bug 1446309 - Store a shared surface's dirty rect update if we cannot process it immediately. r=nical
Multiple tabs in the same process could be viewing the same image. If it
is an image we are taking some time to download from the network, it may
not be displayed all at once. As a result, it could generate several
dirty rects for the newly decoded lines each time we paint. Since we
only apply the dirty rect to the active tab, and forget it afterwards,
then when one returns to the other tab(s), it may not reupload all of
the modified image data. Now we save the dirty rect and accumulate it
for the handles which weren't able to be updated immediately.
2018-08-10 09:30:24 -04:00
Margareta Eliza Balazs f617807241 Merge inbound to mozilla-central. a=merge 2018-08-10 12:17:09 +03:00
L. David Baron 1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

Differential Revision: https://phabricator.services.mozilla.com/D2974

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
Botond Ballo d51598b4d9 Bug 1480866 - Avoid creating a fling animation with zero velocity. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2743

--HG--
extra : moz-landing-system : lando
2018-08-07 20:48:23 +00:00
Jeff Gilbert e97241ae22 Bug 1481983 - Don't mix && and ||. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D2982

--HG--
extra : moz-landing-system : lando
2018-08-09 01:34:12 +00:00
Jeff Muizelaar da9d4bb3c0 Bug 1481655. Don't add recordings of the hit test info to blob images. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2938

--HG--
extra : moz-landing-system : lando
2018-08-08 18:15:00 +00:00
dvarga de4435eec5 Backed out changeset 37ac6d023498 (bug 1481655) for bustage at build/src/gfx/layers/wr/WebRenderCommandBuilder.cpp on a CLOSED TREE 2018-08-08 21:00:23 +03:00
Jeff Muizelaar f0b0ce30f2 Bug 1481655. Don't add recordings of the hit test info to blob images. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2938

--HG--
extra : moz-landing-system : lando
2018-08-08 17:32:52 +00:00
sotaro bf2bee5c8e Bug 1481995 - Remove WebRenderBridgeParent::mForceRendering r=nical 2018-08-10 08:10:11 +09:00
Noemi Erli be6ab34c54 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 691b5b30b6c3b2ddece605c045ad913e466fdbab
2018-08-10 00:35:58 +03:00
Ryan Hunt 8091824d19 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c60c1c25d551e4a7c14c529137f8e0babc888466
extra : source : 7ae4c893867a5f7df81e0757d4b4a6a21cbc6986
2018-07-31 17:47:51 -05:00
Ryan Hunt 16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Ryan Hunt 2dd7814423 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 809d9816970648468de972c30b0c230c2f21e27b
extra : source : 405ad351821813333c0e989b93e2aeb49ba8552c
2018-07-26 11:23:26 -05:00
Ryan Hunt a71d0035ad Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : 5d96e2a5d36a01f2f9992adb37830e56436c7c35
extra : source : 64cb50b227e0ae604653f03ce2e892493126392e
2018-08-01 12:50:32 -05:00
Ryan Hunt ce8baf18ae Bug 1478815 part 5 - Rename CapturedTiledPaintState to PaintTask. r=nical
This commit renames CapturedTiledPaintState to PaintTask as in a future
commit I will fold CapturedPaintState into it.

MozReview-Commit-ID: 8py7SrK4s29

--HG--
extra : rebase_source : 7abdf127351cdc82ee4c40112dce7150bdb67243
extra : source : 01110727f2e9e0846fc06997653e04860efb23dc
2018-07-24 15:39:35 -05:00
Ryan Hunt 7e8f465799 Bug 1478815 part 4 - Remove buffer operations for TiledContentClient. r=nical
This commit refactors TiledContentClient to not create PaintThread
buffer operations, but to instead perform all of these operations
on the DrawTarget(Capture). This simplifies the code dramatically
and allows us to add flushing behavior to DrawTargetCapture in a
future commit.

With this change, CapturedTiledPaintState is simply a container
for a DrawTarget, DrawTargetCapture, and keep-alive TextureClients.

Part of this commit is moving the logic of locking the texture
clients, constructing a dual draw target, and constructing a capture
into TiledContentClient so it can be shared.

MozReview-Commit-ID: 2rwz9aDI737

--HG--
extra : rebase_source : 4ac317f632c0a2c21480bc88e6246f4dc0daf0be
extra : source : 56d967e03ee225e032034ffd193b6f42b343226b
2018-07-24 14:29:44 -05:00
Ryan Hunt b3f614693b Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : 6debecb9d4ca33895daa78de3a52a1ed575706e1
extra : source : 082638a5c6432e0ca6ce377986d84ed130b32ad3
2018-08-01 12:46:35 -05:00
Ryan Hunt 53537230f9 Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : a3315644fe31f2a432935dcbfdb9969c58b691e1
extra : source : 699c954992f87db7fc792f5562090de42a8162cb
2018-08-01 12:44:33 -05:00
Jan Beich 5677cde33a Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 5c563ec8e388a3fd05a0650e8d4c330d48675332
2018-06-30 22:41:59 +00:00
sotaro 4709864388 Bug 1476846 - Fix UpdateEpoch() handling r=nical 2018-08-08 14:14:00 +09:00
Brindusan Cristian 181d4f159b Backed out 10 changesets (bug 1478815) for reftest failures on /reftests/layers/forced-bg-color-outside-visible-region.html. CLOSED TREE
Backed out changeset 7ae4c893867a (bug 1478815)
Backed out changeset b865a866fe5a (bug 1478815)
Backed out changeset 405ad3518218 (bug 1478815)
Backed out changeset 64cb50b227e0 (bug 1478815)
Backed out changeset 392a724d5acd (bug 1478815)
Backed out changeset 01110727f2e9 (bug 1478815)
Backed out changeset 56d967e03ee2 (bug 1478815)
Backed out changeset 082638a5c643 (bug 1478815)
Backed out changeset 3dc47f17fa44 (bug 1478815)
Backed out changeset 699c954992f8 (bug 1478815)

--HG--
rename : gfx/2d/BufferEdgePad.cpp => gfx/layers/BufferEdgePad.cpp
rename : gfx/2d/BufferEdgePad.h => gfx/layers/BufferEdgePad.h
rename : gfx/2d/BufferUnrotate.cpp => gfx/layers/BufferUnrotate.cpp
rename : gfx/2d/BufferUnrotate.h => gfx/layers/BufferUnrotate.h
2018-08-07 20:57:27 +03:00
Ryan Hunt d8c8b51305 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c8f628180a3d908c8851e5c576296f903b9b255d
2018-07-31 17:47:51 -05:00
Ryan Hunt 8b6aa26413 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : 546d9838808320c51d9ceef0ed0ffcbb88a16269
2018-07-26 16:33:07 -05:00
Ryan Hunt af49011c30 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 2f63464c1f8ca03992700b33838c4aa56608f872
2018-07-26 11:23:26 -05:00
Ryan Hunt 6c76c39c97 Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : efc838a3a4b196f78eda79ff3304c15d386bdc63
2018-08-01 12:50:32 -05:00
Ryan Hunt dfb4539ae9 Bug 1478815 part 5 - Rename CapturedTiledPaintState to PaintTask. r=nical
This commit renames CapturedTiledPaintState to PaintTask as in a future
commit I will fold CapturedPaintState into it.

MozReview-Commit-ID: 8py7SrK4s29

--HG--
extra : rebase_source : 1b5259cca6520761ae99e64157d047441b90b563
2018-07-24 15:39:35 -05:00
Ryan Hunt af1087297b Bug 1478815 part 4 - Remove buffer operations for TiledContentClient. r=nical
This commit refactors TiledContentClient to not create PaintThread
buffer operations, but to instead perform all of these operations
on the DrawTarget(Capture). This simplifies the code dramatically
and allows us to add flushing behavior to DrawTargetCapture in a
future commit.

With this change, CapturedTiledPaintState is simply a container
for a DrawTarget, DrawTargetCapture, and keep-alive TextureClients.

Part of this commit is moving the logic of locking the texture
clients, constructing a dual draw target, and constructing a capture
into TiledContentClient so it can be shared.

MozReview-Commit-ID: 2rwz9aDI737

--HG--
extra : rebase_source : 16a4b87263f28b32f5bcb5fd6d9756548f137e11
2018-07-24 14:29:44 -05:00
Ryan Hunt a5f58a4250 Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : abad14bfee32ea2fd1626069f8229487d1f05015
2018-08-01 12:46:35 -05:00
Ryan Hunt 748ab5ad0f Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : ab850358a763853d50d1f374f28e67a197740443
2018-08-01 12:44:33 -05:00
sotaro 92f8dea8a0 Bug 1476846 - Reduce latency of applying async images of video r=nical 2018-08-07 19:12:06 +09:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Kartikaya Gupta 4e5a308827 Bug 1479939 - Ensure we tell WR to remove the compositable pipelines when clearing resources. r=sotaro
MozReview-Commit-ID: AxuvERUalhb

--HG--
extra : rebase_source : 674a20346c234912f7389d9fc7078c956cf08fc7
2018-08-02 00:17:36 -04:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
Kartikaya Gupta 5090ab5988 Bug 1368603 - Fix intermittent scrollbar drag test failure on Linux. r=botond
On Linux, when synthesizing mousemove events interleaved with button
press/release events, the caller is responsible for waiting for the
mousemove events be dispatched before attempting to synthesize the
press/release buttons, otherwise the events can be delivered by the OS
out of order. This updates a few tests to ensure this is done correctly.

MozReview-Commit-ID: 42HkqTCWToP

--HG--
extra : rebase_source : 57fbc84bcfbed345d8f6d90aaadb3399e691894e
2018-08-01 23:25:05 -04:00
Randall Barker 6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
Xidorn Quan 8421040c69 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN

--HG--
rename : layout/base/ScrollbarStyles.cpp => layout/base/ScrollStyles.cpp
rename : layout/base/ScrollbarStyles.h => layout/base/ScrollStyles.h
extra : rebase_source : 8933f3bca88d5db4b9508e3947f695ecf7511b3e
2018-08-01 16:14:26 +10:00
Jim Chen 2c94ad0e54 Bug 1472140 - 3. Remove ForceIsFirstPaint ipdl call; r=kats
Remove the PCompositorBridge::ForceIsFirstPaint call that's no longer
used anywhere.
2018-07-31 12:21:49 -04:00
Hiroyuki Ikezoe d096c8bddf Bug 1479234 - Include missing headers in D3D11YCbCrImage.cpp and VRLayerChild.cpp. r=hiro
MozReview-Commit-ID: C8VQO46Lm1

--HG--
extra : rebase_source : 5751da5530ac9771ed349b71a2c10fec28904a97
2018-07-31 08:13:19 +09:00
Hiroyuki Ikezoe 0020eaf1a1 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 221a08d59e Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 94f5f622eb Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Jim Chen 9c55d02aa5 Bug 1472140 - 1. Set first paint flag when resuming and resizing composition; r=rbarker
When resuming composition in a new GeckoView, we wait for the first
paint signal in order to uncover the SurfaceView. This patch makes sure
that we always send the first paint signal.

MozReview-Commit-ID: EZeOR80d8HY

--HG--
extra : rebase_source : f82ab94ef87e5b0651f368918e8cd8a97469c68e
2018-07-30 16:38:35 -04:00
Coroiu Cristina 7634333ced Backed out 4 changesets (bug 1479234) for build bustage at build/src/gfx/vr/ipc/VRLayerChild.cpp on a CLOSED TREE
Backed out changeset 6ecc1666f571 (bug 1479234)
Backed out changeset c3bab1bc97cf (bug 1479234)
Backed out changeset c8c2625a33ba (bug 1479234)
Backed out changeset 2ffc8e9d5686 (bug 1479234)
2018-07-31 00:32:04 +03:00
Hiroyuki Ikezoe 272dc9b637 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 697a9da7aa Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 23a4443de4 Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Kartikaya Gupta 3faf3e38d9 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV

--HG--
extra : rebase_source : 0eb028ee9b98199d18421f7ff28433189940fdca
2018-07-30 09:24:50 -04:00
sotaro 2d7e793ae4 Bug 1478570 - Fix ExternalImageId allocation of AsyncImagePipelineManager r=jrmuizel 2018-07-30 10:16:03 +09:00
Imanol Fernandez 3866161569 Bug 1478754 - WebGL crash when webgl.enable-surface-texture is enabled on Android; r=jgilbert,rbarker
MozReview-Commit-ID: GBTvZiLspvP

--HG--
extra : rebase_source : ff568522fecd415decd27b6b8bf7abe72c0bcd99
2018-07-28 12:33:55 +02:00
Gurzau Raul ebe874201b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-28 12:49:02 +03:00
Gurzau Raul db79375c66 Merge inbound to mozilla-central. a=merge 2018-07-28 12:45:44 +03:00
Kartikaya Gupta 22456cd52b Bug 1479075 - Ensure FlushRenderingAsync actually flushes the compositor. r=sotaro
MozReview-Commit-ID: AfVIwLj2YJp

--HG--
extra : rebase_source : 3c9f4af10be9ab38fb708a2be4cb9393cd7e86c7
2018-07-28 04:47:08 -04:00
Mitch Ament c7c03f661b Bug 1477335 - Replace reference member AsyncPanZoomController::mFrameMetrics with getter functions which return mScrollMetadata.mMetrics. r=botond
This fixes a const correctness loophole.

MozReview-Commit-ID: I8yM74OAr8m

--HG--
extra : rebase_source : 8aeea554bfeff7efe03cd9a00539a6100e040b8a
2018-07-27 14:58:46 -04:00
Cosmin Sabou d71fce60ce Merge mozilla-central to mozilla-inbound. a=merge 2018-07-28 01:56:40 +03:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Ryan Hunt d50993e6a4 Bug 1477799 - Use the paint thread instead of workers when we only have one worker. r=jrmuizel
MozReview-Commit-ID: 3mR4KrS924N

--HG--
extra : rebase_source : 3075243361b7f1772854c85336e7d75a207b8cb6
extra : source : ccf97cb6779fafeb54f30b251487ae24c630e08b
2018-07-19 12:41:34 -05:00
Doug Thayer 3604605cfc Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : 77010ae331f4d004e9b716e6063334d98529bf5f
2018-07-27 09:56:34 -07:00
Doug Thayer a6b91271e5 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : cb33bd45196eca26476c52c2c50e51f03f6129f8
2018-07-26 16:55:55 -07:00
Doug Thayer 2df99d5c56 Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : 756741bbff4c56edec64cc6dd367328974b83b35
2018-07-26 16:54:48 -07:00
Andreea Pavel 3746d597a1 Backed out 3 changesets (bug 1478704) on request by dthayer for breaking video
Backed out changeset c57be31d3c06 (bug 1478704)
Backed out changeset c77acf366e1c (bug 1478704)
Backed out changeset 3329c8f5582a (bug 1478704)
2018-07-28 01:23:16 +03:00
Doug Thayer 030dbb65b5 Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : c779b18789196c9352a862a17f4a1e8d799805ec
2018-07-27 09:56:34 -07:00
Doug Thayer dcac2af944 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : 7c91165633d5bc4fb07135781774998b0e1f1cf0
2018-07-26 16:55:55 -07:00
Doug Thayer f2242da77b Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : d1b9f51f45d0cb875c82f3de5b2ea917e0385077
2018-07-26 16:54:48 -07:00
Kartikaya Gupta b154baea17 Bug 1478504 - Inline function only used in a couple of places. r=sotaro
MozReview-Commit-ID: JfOgsxUHSlu

--HG--
extra : rebase_source : bc08909aa478071daf862ba355e2e4df03dfcf00
2018-07-27 09:43:41 -04:00
Kartikaya Gupta bfa67498d5 Bug 1478504 - Use NotifyPipelineRendered instead of DidComposite for WebRender. r=sotaro
MozReview-Commit-ID: 4eaMTEPD9NY

--HG--
extra : rebase_source : 7d2f5b5fe4d45f135f0899dccf6a910848b5c7e4
2018-07-27 09:42:30 -04:00
Cosmin Sabou acd8ea2c75 Backed out changeset e354029775b8 (bug 1473732) for causing leaks at gfxFT2FontBase::GetGlyph, GetCharWidth. CLOSED TREE 2018-07-26 04:40:00 +03:00
Jan Beich 061b467f45 Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 77613cbb99c14f19217592080bfd51ea2194422b
2018-06-30 22:41:59 +00:00
sotaro 2bcc8b96f5 Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
Tiberius Oros 036999d0a9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-25 13:43:03 +03:00
Kartikaya Gupta 533c8b4d83 Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : c9d15e9fd4a823b321aff9c1048b659f87d03823
2018-07-24 16:38:25 -04:00
Kartikaya Gupta ad4d295efb Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 87764ba4387e1a53d8d6fdb66c1fe03669dee943
2018-07-24 16:38:25 -04:00
Kartikaya Gupta c219864291 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists and
perspective items because other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 971de2c56d183090bb9a8701af62ada493e39b77
2018-07-24 16:37:38 -04:00
Bogdan Tara 1cd7dec7b6 Backed out 4 changesets (bug 1468020) for crashtest failures on gfx/tests/crashtests/1468020.html CLOSED TREE
Backed out changeset 262d541a474f (bug 1468020)
Backed out changeset 621ab5087373 (bug 1468020)
Backed out changeset 866492bf5ccf (bug 1468020)
Backed out changeset eb6a2ae68d09 (bug 1468020)
2018-07-24 22:57:02 +03:00
Kartikaya Gupta 970bd5648f Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : 3e2b3d228b3ad6dafc11dc89631778cd23580c9c
2018-07-24 14:21:08 -04:00
Kartikaya Gupta af58b4a732 Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 4280ba5c9f2b77e5c5ed98cfc9b9e586c4794add
2018-07-24 14:21:08 -04:00
Kartikaya Gupta 614fc7e747 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists because
other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 5dbb8af8504f301ca49273b4f6f434a91524860a
2018-07-24 14:21:07 -04:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Brian Hackett 3b2167ce37 Bug 1465466 Part 5 - Don't use APZ in recording/replaying processes, r=kats,mconley.
--HG--
extra : rebase_source : 01a76161037131e0df626f591543bf9316016597
2018-07-23 21:51:24 +00:00
Brian Hackett 562987ce84 Bug 1465466 Part 3 - When recording/replaying, composite in the main thread's event loop instead of waiting for vsyncs, r=nical.
--HG--
extra : rebase_source : 0dbdcb4698e349ceb53e0621d5fa453bb1f17357
2018-07-23 21:47:28 +00:00
Brian Hackett 99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Gurzau Raul 19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Gurzau Raul f2e1e857f1 Merge inbound to mozilla-central. a=merge 2018-07-24 12:49:23 +03:00
Kartikaya Gupta 38c46ea534 Bug 1468020 - More correctly detect active items in the grouper. r=mstange 2018-07-23 17:09:01 -04:00
Tanushree Podder a468f78119 Bug 1473699 - Async-scroll the layout viewport even if it's smaller than the visual viewport. r=botond
When the layout viewport is smaller than the visual viewport and the user
scrolls a web page, the layout viewport remains fixed to its position before
the scroll event took place. However, the visual viewport moves according to
the new scroll position. This patch addresses this issue by moving the layout
viewport along with the visual viewport.

MozReview-Commit-ID: 3Mk1o6AF2wr

--HG--
extra : rebase_source : 8c6068059593038dc443cb9c96242483de97e9d9
2018-07-22 01:59:37 -04:00
Cosmin Sabou fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer 2169195cb0 Bug 1265824 - Plug holes in texture size restrictions r=mattwoodrow
When computing whether we have an intermediate buffer or not, which
in our case amounts to the inverse of deciding whether we want to use
a DirectMapTextureSource or not, we want to ensure that we don't use
one if the texture is too big to be a single texture in OpenGL. This
will default to using a TiledTextureImage. In a perfect world we
would build tiling logic into the client storage approach, but that
shouldn't block this.

MozReview-Commit-ID: 7Oi86oGis93

--HG--
extra : rebase_source : a5477abdfc7140c983fd23692beeb6529f1714d1
2018-07-22 20:27:48 -07:00
Doug Thayer cec969fba5 Bug 1265824 - Remove CreateForYCbCrWithBufferSize r=mattwoodrow
This seems to be unused. Not sure if it's still left in here for
a reason or not.

MozReview-Commit-ID: 3wxaCDI7eCO

--HG--
extra : rebase_source : 17c54842e57bcdb52254e65220dfc733356a5f37
2018-07-22 20:22:12 -07:00
Emilio Cobos Álvarez ed8949d457 Bug 1477678 - Remove useless Compositor::SetDispAcquireFence. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2295

--HG--
extra : moz-landing-system : lando
2018-07-23 13:06:24 +00:00
Doug Thayer 323ffd48be Bug 1265824 - Plug holes in texture size restrictions r=mattwoodrow
When computing whether we have an intermediate buffer or not, which
in our case amounts to the inverse of deciding whether we want to use
a DirectMapTextureSource or not, we want to ensure that we don't use
one if the texture is too big to be a single texture in OpenGL. This
will default to using a TiledTextureImage. In a perfect world we
would build tiling logic into the client storage approach, but that
shouldn't block this.

MozReview-Commit-ID: 7Oi86oGis93

--HG--
extra : rebase_source : df9d314ef3d9a285bb10a9e21b87dc280a88fa84
2018-07-22 20:27:48 -07:00
Doug Thayer 68e5aaf03a Bug 1265824 - Remove CreateForYCbCrWithBufferSize r=mattwoodrow
This seems to be unused. Not sure if it's still left in here for
a reason or not.

MozReview-Commit-ID: 3wxaCDI7eCO

--HG--
extra : rebase_source : 25dda76dce892e580dbf31741e359d3a78f5742a
2018-07-22 20:22:12 -07:00
Doug Thayer 0c67ce8aa1 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : f357451ca18254be7474adf52f5088d0315c6d98
2018-06-22 11:10:41 -07:00
Doug Thayer 9b62998d60 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : b9abb9b9b13132cd560d1ca9677183790b2d06e2
2018-06-22 11:10:41 -07:00