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

33867 Коммитов

Автор SHA1 Сообщение Дата
Imanol Fernandez 7940dd7c9f Bug 1554626 - Add surface size to external_vr struct. r=kip,daoshengmu,rbarker
Add surface size to external_vr struct

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

--HG--
extra : moz-landing-system : lando
2019-05-28 18:29:10 +00:00
Matt Woodrow f732a16883 Bug 1468728 - Don't try to maintain visible regions for Layers that might need to have a 3d representation. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30452

--HG--
extra : moz-landing-system : lando
2019-05-27 20:21:06 +00:00
Dzmitry Malyshau d5d646901c Bug 1532174 - WR remove the world transformations from SpatialNode r=gw
This is the last big step towards consistent flattening of transformations.
It includes removing the old "project_to_2d" method from the utils.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 03:35:24 +00:00
Barret Rennie ac1f6702c5 Bug 1553261 - Register CompositionPayloads with the WebRenderBridge and enable key press telemetry r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32228

--HG--
extra : moz-landing-system : lando
2019-05-28 15:32:29 +00:00
Barret Rennie f615aee5a7 Bug 1553261 - Clean up some of the CompositionPayload infrastructure r=kats
Some time ago (bug 819791), InfallibleTArray and nsTArray become equivalent, so
continuing to use InfallibleTArray here will just lead to confusion.

In addition, the overloaded `RegisterPayload` could take either a single
payload or multiple, so I've split it into
`RegisterPayload(CompositionPayload&)` and
RegisterPayloads(nsTArray<CompositionPayload>&)`

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

--HG--
extra : moz-landing-system : lando
2019-05-28 13:42:57 +00:00
Jonathan Kew ca3651796b Bug 1553889 - Apply the AAT 'trak' table to macOS fonts regardless of whether we shaped using CoreText or HarfBuzz. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32447

--HG--
extra : moz-landing-system : lando
2019-05-28 17:05:25 +00:00
Botond Ballo 9ef9fc2fd8 Bug 1554794 - Add PresShell::UsesMobileViewportSizing() and use it in place of GetIsViewportOverridden() where appropriate. r=kats,hiro
With desktop zooming, we need to separate the concepts of "may have a distinct
visual viewport" from "has mobile viewport sizing logic applied to it".

This can be thought of as completing the disentanglement of zooming from meta
viewport support started in bug 1459260.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 13:31:59 +00:00
Alexis Beingessner 6af060e8b1 Bug 1553295 - let masks be active in blobs. r=jrmuizel
There doesn't seem to be a reason *not* to do this (merely an omission),
and the results we get without it are messing up somewhere with invalidation
and image cache management.

This is likely just a bandaid over a more serious issue, but if we never observe
that issue, does it exist..?

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

--HG--
extra : moz-landing-system : lando
2019-05-28 14:55:48 +00:00
Andrew Osmond 2571a90a44 Bug 1481405 - Force disable the GPU process if using Wayland. r=kats,stransky
Wayland does not support remote drawing for widgets from another process
at this time. As such, it is best to force disable the GPU process, so
that users will be able to get WebRender with Wayland.

Differential Revision: https://phabricator.services.mozilla.com/D32640
2019-05-28 06:39:13 -04:00
Coroiu Cristina 16e94ed95a Merge inbound to mozilla-central a=merge 2019-05-27 00:13:53 +03:00
Razvan Maries 6fbdaf61c3 Backed out changeset f9699ae30f4d (bug 1213601) on jrmuizel's request. 2019-05-26 18:12:56 +03:00
Jean-Yves Avenard 27fe93a619 Bug 1550422 - P27. Do not set WebRender preferences as code don't expect them to exists. r=cpearce
Listing the preferences in either all.js or StaticPrefList.h would also make them appear in about:config which is something we don't want.

Additionally, rename some pref constants to improve code clarity as we can no longer rely on using the StaticPrefs accessor.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:32:42 +00:00
Jean-Yves Avenard 022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Jean-Yves Avenard 68d537fd60 Bug 1550422 - P22. Remove gfxPref sync with GPU process. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31467

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:27 +00:00
Jean-Yves Avenard 2b100af8bf Bug 1550422 - P21. Remove gfxPref sync with VR process. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31466

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:12 +00:00
Jean-Yves Avenard 3d2a9f2e92 Bug 1550422 - P20. Add missing namespace. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31463

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:04 +00:00
Jean-Yves Avenard 5322579cda Bug 1550422 - P19. Convert gfxPrefs::LayersWindowRecordingPath to gfxVars. r=jrmuizel
StaticPrefs doesn't support nsCString type and the changes required to support this would be rather big. Seeing that there was only a single gfxPrefs using this, and this is a "Once" pref ; we move it to gfxVars instead.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:57 +00:00
Jean-Yves Avenard 321b1d810f Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:37 +00:00
Jean-Yves Avenard 9ac65feb3d Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:29 +00:00
Jean-Yves Avenard 23436e1811 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard 04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Jean-Yves Avenard 38a4c733c3 Bug 1554438 - P2. Only shutdown thread if it was started. r=sotaro
It is theorically possible that the WinCompositorWindowThread failed to start. Should this happen, attempting to shut it down will cause shutdown to hang forever.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 02:17:10 +00:00
Jean-Yves Avenard 08bbc4b814 Bug 1554438 - P1. Don't rely on a live pref to determine order of actions. r=sotaro
The value of the pref may change between start and shutdown.

So we shouldn't rely on that pref to determine if we need to shutdown on thread started earlier if that pref was true.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 02:17:55 +00:00
Bastien Orivel 7294fc12b5 Bug 1554426 - Re-introduce Renderer::current_epoch. r=emilio
It was removed in 1441308 but is used by servo

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

--HG--
extra : moz-landing-system : lando
2019-05-25 23:02:40 +00:00
Jean-Yves Avenard 70d5224c8b Bug 1550422 - P9. Sync preferences in VR process when they change. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31017

--HG--
extra : moz-landing-system : lando
2019-05-25 10:12:40 +00:00
Jean-Yves Avenard fec74fbc4b Bug 1550422 - P8. Add shared pref serializer/deserializer to VR process. r=kmag,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31016

--HG--
extra : moz-landing-system : lando
2019-05-25 10:12:45 +00:00
Jean-Yves Avenard 0a1e2b53cb Bug 1550422 - P6. Release object early when error. r=mattwoodrow
No need to keep the object alive.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 10:12:49 +00:00
Jean-Yves Avenard 51808a6f27 Bug 1550422 - P4. Sync preferences when they changed. r=mattwoodrow
This will allow to remove gfxPrefs later. On Windows in particular, the need to decide gfxPrefs vs StaticPrefs for the WMF decoders has caused several bugs in the past.
We will remove the confusion as a consequence.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 10:12:51 +00:00
Jean-Yves Avenard 935f64f3bb Bug 1550422 - P2. add shared pref serializer/deserializer to GPU process. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D30587

--HG--
extra : moz-landing-system : lando
2019-05-26 02:33:12 +00:00
Jean-Yves Avenard 3724cc25ff Bug 1550422 - P1. Add GPU process selector to prefs module. r=spohl,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30586

--HG--
extra : moz-landing-system : lando
2019-05-25 10:12:58 +00:00
Jean-Yves Avenard 0f82b873e6 Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 10:13:00 +00:00
Sylvestre Ledru d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
Bastien Orivel 998c4ce860 Bug 1554401 - Part 1: Update dwrote to 0.9. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D32567

--HG--
extra : moz-landing-system : lando
2019-05-25 17:08:40 +00:00
Lee Salzman b1e52e6aaf Bug 1553910 - pass DWrite subpixel order into Skia and WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32545

--HG--
extra : moz-landing-system : lando
2019-05-25 16:20:59 +00:00
Kenny Levinsen ed7d5b2663 Bug 1548499 - Set EGL context before call to eglSwapInterval. r=sotaro
The EGL context must be set before the call to eglSwapInterval to ensure that it will operate on the correct context.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 06:06:12 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 9180d72bfa Bug 1550422 - P27. Do not set WebRender preferences as code don't expect them to exists. r=cpearce
Listing the preferences in either all.js or StaticPrefList.h would also make them appear in about:config which is something we don't want.

Additionally, rename some pref constants to improve code clarity as we can no longer rely on using the StaticPrefs accessor.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:40:04 +00:00
Jean-Yves Avenard 074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Jean-Yves Avenard 50f48b12ca Bug 1550422 - P22. Remove gfxPref sync with GPU process. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31467

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:34 +00:00
Jean-Yves Avenard 3e3e986f19 Bug 1550422 - P21. Remove gfxPref sync with VR process. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31466

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:32 +00:00
Jean-Yves Avenard 47e29fdb9d Bug 1550422 - P20. Add missing namespace. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31463

--HG--
extra : moz-landing-system : lando
2019-05-24 11:35:27 +00:00
Jean-Yves Avenard dba19b18cf Bug 1550422 - P19. Convert gfxPrefs::LayersWindowRecordingPath to gfxVars. r=jrmuizel
StaticPrefs doesn't support nsCString type and the changes required to support this would be rather big. Seeing that there was only a single gfxPrefs using this, and this is a "Once" pref ; we move it to gfxVars instead.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:34:23 +00:00
Jean-Yves Avenard d14a557fd3 Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-24 11:33:53 +00:00
Jean-Yves Avenard 14806f7e2e Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:33:24 +00:00
Jean-Yves Avenard 8d5f292ab5 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Jean-Yves Avenard 1ba7652612 Bug 1550422 - P9. Sync preferences in VR process when they change. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31017

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:07 +00:00
Jean-Yves Avenard 92e6d6a079 Bug 1550422 - P8. Add shared pref serializer/deserializer to VR process. r=kmag,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31016

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:07 +00:00
Jean-Yves Avenard 0176b72a88 Bug 1550422 - P6. Release object early when error. r=mattwoodrow
No need to keep the object alive.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:06 +00:00
Jean-Yves Avenard 74921b190e Bug 1550422 - P4. Sync preferences when they changed. r=mattwoodrow
This will allow to remove gfxPrefs later. On Windows in particular, the need to decide gfxPrefs vs StaticPrefs for the WMF decoders has caused several bugs in the past.
We will remove the confusion as a consequence.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:06 +00:00
Jean-Yves Avenard 8f7ae177ac Bug 1550422 - P2. add shared pref serializer/deserializer to GPU process. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D30587

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:05 +00:00
Jean-Yves Avenard 63a416f158 Bug 1550422 - P1. Add GPU process selector to prefs module. r=spohl,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30586

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:05 +00:00
Jean-Yves Avenard a7d76c8887 Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:13 +00:00
Barret Rennie a71ef09a3f Bug 1547472 - Ref count the ProfilerScreenshots structure r=gerald,jesup
Differential Revision: https://phabricator.services.mozilla.com/D32524

--HG--
extra : moz-landing-system : lando
2019-05-24 23:53:28 +00:00
Brindusan Cristian 5a5f5a78fb Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-25 00:54:26 +03:00
myfreeweb e6dc1a7382 Bug 1213601 - Implement kinetic/inertial scrolling (fling) for Gtk touchpads. r=botond,karlt
--HG--
extra : rebase_source : c89a97e40aa59e1038530becdb53c2d7b992db7b
2019-05-24 13:31:34 -04:00
Botond Ballo 3f58aea188 Bug 1551582 - Add a gtest. r=kats
Depends on D32248

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

--HG--
extra : moz-landing-system : lando
2019-05-23 15:21:20 +00:00
Botond Ballo e3706d3d04 Bug 1551582 - Re-clamp the composited scroll offset if the scrollable rect changes. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32248

--HG--
extra : moz-landing-system : lando
2019-05-23 15:20:01 +00:00
Lee Salzman 55a5e6a40e Bug 1533546 - disable Skia's global DWrite lock on Windows 10. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31328

--HG--
extra : moz-landing-system : lando
2019-05-23 10:08:59 +00:00
Andrew Osmond b818dcba2c Bug 1553259 - Allow WebRender on nightly for AMD graphics with a battery for smaller screen sizes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32036
2019-05-24 12:48:52 -04:00
Coroiu Cristina 4ddb74ac0b Backed out changeset a53e28d4e10e (bug 1553889) for reftest failures at layout/reftests/forms/input/file/dynamic-max-width.html 2019-05-28 14:52:42 +03:00
Jonathan Kew 5432231319 Bug 1553889 - Apply the AAT 'trak' table to macOS fonts regardless of whether we shaped using CoreText or HarfBuzz. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32447

--HG--
extra : moz-landing-system : lando
2019-05-28 09:53:11 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Glenn Watson 8d73dca1e7 Bug 1553701 - Remove the clip chain stack during the prepare_prims pass in WR. r=kvark,nical
During the visibility pass, the main clip chain instance for each
primitive is created. In the prim prepare pass, a clip chain instance
is generated for each segment (of primitives that are segmented).

This previously required maintaining the active clip chain stack
during both passes. However, this is not ideal for a number of
reasons: the code is somewhat complicated / error prone and the
segment clip chain building step does more work than required.

This patch changes the segment clip chain building code to set up
the active clip nodes based on the result of the initial clip
chain built for the overall primitive during the visibility pass.

This means that it's no longer necessary to maintain the active
clip chain stack during the prepare pass. This simplifies some
upcoming picture caching changes related to avoiding redundant
cache invalidations, which is the main motivation for the change.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 03:09:28 +00:00
Dzmitry Malyshau bb778aa169 Bug 1551520 - Use WR relative transform instead of the world inverse r=gw
This is a follow-up to https://phabricator.services.mozilla.com/D30600

Previously, I changed changed the space mapper logic to use the world transformations.
This was seemingly needed because we requrested the relation between primitives and
their clip nodes, which could be in unrelated spatial sub-trees.
However, I believe the change was a mistake, since for clips we should not even try
to get the relative mapping, and clipping is done in world space for these cases.
This change reverts that logic back. ~~Fingers crossed for the try to not show any
asserts firing up inside get_relative_transform.~~ Try is green 🎉

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

--HG--
extra : moz-landing-system : lando
2019-05-24 00:22:17 +00:00
Jeff Gilbert 047e98938e Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:48:21 +00:00
Kartikaya Gupta 5f30b8c664 Bug 1549776 - Add taskcluster jobs for running wrench on Android. r=jrmuizel
Also docs for running the same thing locally.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 19:31:06 +00:00
Kartikaya Gupta 8cf7462c57 Bug 1549776 - Disable more reftests due to failures on Android. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32013

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:22 +00:00
Kartikaya Gupta d98f966468 Bug 1549776 - Disable some reftests on debug Android. r=gw
These tests cause panics in debug mode because of the extra GL error
checking. Tests that are disabled are annotated with the failing
GL call.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:18 +00:00
Kartikaya Gupta 7b3a5c9560 Bug 1549776 - Disable some reftests on Android. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32011

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:08 +00:00
Kartikaya Gupta 14af7bef4d Bug 1549776 - Ensure debug wrench aborts on panic. r=gw
This makes it so that when running reftests, wrench actually terminates
after a panic rather than just hanging. Termination is detectable and so
we can clean up properly instead of waiting until some other layer hits
a timeout.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:04 +00:00
Lee Salzman a9ba659d1a Bug 1552687 - guard access to gfxDWriteFontFileStream with mutex. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32214

--HG--
extra : moz-landing-system : lando
2019-05-23 18:42:03 +00:00
Andrew Osmond d8f7e96b8d Bug 1555329 - Fix BGRA support with ICCv4 QCMS profiles. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33004
2019-05-30 13:21:21 -04:00
Andrew Osmond 1ffb741e7d Bug 1549965 - Enable GPU process by default on Linux if hardware compositing is used. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33027
2019-05-30 13:13:10 -04:00
Mihai Alexandru Michis 354eec452c Backed out changeset a649f69f29df (bug 1536672) for failing crashtest at WebGLContextValidate.cpp. CLOSED TREE 2019-05-23 10:57:29 +03:00
Hiroyuki Ikezoe d243910c35 Bug 1550105 - Implement the parser for scale values in viewport meta tag as what the spec defines. r=botond
The relevant definition in the spec;
 https://drafts.csswg.org/css-device-adapt/#min-scale-max-scale

Before this change, if both of initial-scale and maximum-scale are negative,
both values are clamped to 0.25. Whereas with this change, negative scale
values are treated as if it's not specified so that initial-scale value is
automatically calculated based on the layout viewport size.
negative-initial-and-maximum-scale.html is a test case for the case.

Also with this change, initial-scale values are going to be clamped to the
range [0.25, 10] during parsing it so that initial-scale-0.html and
initial-scale-100.html need to be modified, now the former is scaled by 0.25x,
the latter is scaled by 10x.
(Before this change, initial-scale=0 and initial-scale=100 were treated as
 invalid scale values in nsViewportInfo::ConstrainViewportValues[1])

[1] https://searchfox.org/mozilla-central/rev/6c9f60f8cc064a1005cd8141ecd526578ae9da7a/dom/base/nsViewportInfo.cpp#15,19

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

--HG--
extra : moz-landing-system : lando
2019-05-23 06:35:52 +00:00
Jeff Gilbert fb7050f9bf Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 02:43:11 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Jean-Yves Avenard 6e683155ce Bug 1550422 - P22. Remove gfxPref sync with GPU process. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31467

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:23 +00:00
Jean-Yves Avenard 642b9705d8 Bug 1550422 - P21. Remove gfxPref sync with VR process. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31466

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:21 +00:00
Jean-Yves Avenard 518af372f9 Bug 1550422 - P20. Add missing namespace. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31463

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:15 +00:00
Jean-Yves Avenard ed503275b8 Bug 1550422 - P19. Convert gfxPrefs::LayersWindowRecordingPath to gfxVars. r=jrmuizel
StaticPrefs doesn't support nsCString type and the changes required to support this would be rather big. Seeing that there was only a single gfxPrefs using this, and this is a "Once" pref ; we move it to gfxVars instead.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:13 +00:00
Jean-Yves Avenard 0815888321 Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-22 12:44:54 +00:00
Jean-Yves Avenard 3992dfb602 Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:44:52 +00:00
Jean-Yves Avenard 2412878bd9 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard 2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Jean-Yves Avenard 18b28890b3 Bug 1550422 - P9. Sync preferences in VR process when they change. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31017

--HG--
extra : moz-landing-system : lando
2019-05-22 12:42:33 +00:00
Jean-Yves Avenard 60ef31c466 Bug 1550422 - P8. Add shared pref serializer/deserializer to VR process. r=kmag,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D31016

--HG--
extra : moz-landing-system : lando
2019-05-22 13:23:07 +00:00
Jean-Yves Avenard 822d91dc49 Bug 1550422 - P6. Release object early when error. r=mattwoodrow
No need to keep the object alive.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:42:03 +00:00
Jean-Yves Avenard acbe730c14 Bug 1550422 - P4. Sync preferences when they changed. r=mattwoodrow
This will allow to remove gfxPrefs later. On Windows in particular, the need to decide gfxPrefs vs StaticPrefs for the WMF decoders has caused several bugs in the past.
We will remove the confusion as a consequence.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:41:41 +00:00
Jean-Yves Avenard f21aa87190 Bug 1550422 - P2. add shared pref serializer/deserializer to GPU process. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D30587

--HG--
extra : moz-landing-system : lando
2019-05-22 13:05:09 +00:00
Jean-Yves Avenard 324fd6ce12 Bug 1550422 - P1. Add GPU process selector to prefs module. r=spohl,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30586

--HG--
extra : moz-landing-system : lando
2019-05-22 12:41:01 +00:00
Jean-Yves Avenard 4827bab68f Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 22:28:10 +00:00
Dzmitry Malyshau a176290c0a Bug 1532174 - WR cache world transform on coordinate systems r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32195

--HG--
extra : moz-landing-system : lando
2019-05-22 19:58:39 +00:00
Hiroyuki Ikezoe d3e6eadc70 Bug 1546219 - Rename mScrollSnapType{X,Y} to mScrollSnapStrictness{X,Y}. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D31746

--HG--
extra : moz-landing-system : lando
2019-05-22 17:43:34 +00:00
Jamie Nicol 94cf690698 Bug 1531142 - Avoid excessive glyph rasterization when pinch zooming. r=gw,kats
When pinch zooming webrender would re-rasterize glyphs for each tiny
difference in zoom level. This takes time in itself, but also causes
the texture cache to grow incredibly large, to the point where
resizing it to make room for more glyphs takes far too much time.

This patch avoids this by rounding the size at which glyphs are
rasterized whilst pinch zooming. To do this we add a FrameMsg which
APZ uses to tell webrender whether a spatial node is being pinch
zoomed. Then during frame building if a spatial node is being pinch
zoomed we override the raster space of its corresponding picture.

The chosen raster space is the current zoom level rounded up to the
nearest power of two, but not exceeding 8x. This seems to be a good
balance between quality and performance, though at high zoom levels
the cache still does grow very large due to the size of the glyphs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 20:13:34 +00:00
Glenn Watson 0f8cee5dd5 Bug 1552984 - Refactor parts of the WR batching and flattening code, to support future picture caching improvements. r=kvark
This patch contains two isolated changes related to upcoming picture
caching improvements. Specifically:

 * Determine the blit reason for stacking contexts with clips
   earlier, during scene building. This simplifies the code and
   allows better detection of redundant stacking contexts.
 * Centralize the code for pushing batch instances into a small
   number of places. This will simplify the switch to adding
   a single primitive to multiple batch lists, in the case of
   dirty regions with different batchers.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 14:57:10 +00:00
Andrew Osmond d88f3e04a9 Bug 1556822 - Add the display color profile to about:support. r=miko
This adds the base64 encoded color profile to the about:support page in
order to allow us to better diagnose and reproduce color management
issues. We can extract this, decode it and load it directly via the
gfx.color_management.display_profile pref.
2019-06-04 18:50:47 -04:00
Neil Deakin dcfccf267d Bug 1443683, support drag and drop in out of process frames; this is done by storing the drag information about the data to be dragged and visualization image in the event state manager instead of the BrowserParent and passing this information on to the drag service, r=nika
--HG--
extra : rebase_source : 0ccb645d652b064e647d5693aaf480d7066e6fdf
2019-05-14 11:04:38 -04:00
Andrew Osmond b216742cdf Bug 1556007 - Improve reasons for why a user is not WebRender qualified. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33302
2019-06-03 11:24:15 -04:00
Botond Ballo c210aca308 Bug 1558276 - Make layers.dump and layers.dump-host-layers synonyms. r=kats
Now they both work in opt builds, and they both work with advanced layers.

For consistency, layers.dump-client-layers is also modified to work in
opt builds.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:34:34 +00:00
Botond Ballo af5cb37fb7 Bug 1554790 - Use reftest-resolution where appropriate in APZ scrollbar rendering reftests. r=kats
With this change, the tests in question pass on desktop, except for
scrollbar-zoom-resolution-2.html which is annotated as failing.

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

--HG--
extra : moz-landing-system : lando
2019-06-10 21:23:51 +00:00
Botond Ballo 7957dfa1d1 Bug 1554790 - Include the pres shell resolution in the post-scale for advanced layers as well. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D34422

--HG--
extra : moz-landing-system : lando
2019-06-11 02:22:02 +00:00
Matt Woodrow 4908a84df2 Bug 1555891 - Merge PVideoDecoderManager into PRemoteDecoderManager. r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D33586

--HG--
extra : moz-landing-system : lando
2019-06-11 02:01:34 +00:00
Lee Salzman 29c7c2b8d3 Backed out changeset 6440419b9d33 (Bug 1533546). r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32180

--HG--
extra : moz-landing-system : lando
2019-05-22 18:20:09 +00:00
sotaro 0d04fcdf71 Bug 1552734 - Allocate DXGIYCbCrTextureData for yuv video data in ImageClient::CreateTextureClientForImage() if possible r=nical
Differential Revision: https://phabricator.services.mozilla.com/D31748

--HG--
extra : moz-landing-system : lando
2019-05-21 09:30:17 +00:00
Nika Layzell 95e8f0306b Bug 1540731 - Part 2: Move toplevel actors to override ActorDestroy, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28573

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:21 +00:00
Jonathan Kew 4675bb945a Bug 1359240 - When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31107

--HG--
extra : moz-landing-system : lando
2019-05-20 21:01:18 +00:00
Mihai Alexandru Michis d0cbcbfaf1 Backed out 2 changesets (bug 1359240) for causing reftest failures. CLOSED TREE
Backed out changeset 10cac54d1bb9 (bug 1359240)
Backed out changeset 50ef8f8c6558 (bug 1359240)
2019-05-20 18:31:21 +03:00
Jonathan Kew e82acf4503 Bug 1359240 - When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31107

--HG--
extra : moz-landing-system : lando
2019-05-20 14:32:00 +00:00
Jonathan Kew 2da1acaef8 Bug 1509423 - Disable the gfxCoreText backend and use native HarfBuzz shaping for AAT fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31094

--HG--
extra : moz-landing-system : lando
2019-05-20 14:29:15 +00:00
Bogdan Tara 6150afdc54 Backed out 2 changesets (bug 1359240) for gfxSVGGlyphs.cpp bustages CLOSED TREE
Backed out changeset 02eea6ec83db (bug 1359240)
Backed out changeset a31ec848a1ef (bug 1359240)
2019-05-20 15:21:39 +03:00
Jonathan Kew cf263b7081 Bug 1359240 - When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31107

--HG--
extra : moz-landing-system : lando
2019-05-16 18:12:33 +00:00
Hiroyuki Ikezoe f2920c13d8 Bug 1551806 - Don't try to snap if there is no valid snap positions for the scroll-snap v1 implementation. r=botond
From the spec [1];
  If a valid snap position exists then the scroll container must snap at the
  termination of a scroll (if none exist then no snapping occurs).


Both of test cases in this commit fail without this change.

[1] https://drafts.csswg.org/css-scroll-snap-1/#valdef-scroll-snap-type-mandatory

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

--HG--
extra : moz-landing-system : lando
2019-05-17 20:50:24 +00:00
Bastien Orivel cf92185937 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 21:30:23 +00:00
Miko Mynttinen 049dbbcc2c Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30840

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:42 +00:00
Miko Mynttinen 454b6b9b8c Bug 1529698 - Part 2: Move BuildLayer() to nsPaintedDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30838

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:18 +00:00
Kartikaya Gupta e089e9f404 Bug 1550510 - Stop hoisting scrollinfo items inside filters when WR is enabled. r=botond
In bug 1527182 we made it so that APZ can directly drag-scroll scrollframes
that are inside SVG effects, because that's possible with WR on the compositor.
However the code changed in that bug was meant to be kept in sync with
a second piece of code. The second piece of code controls the generation
of ScrollInfo items for scrollframes inside SVG effects - since we can
APZ-scroll them with WR, we don't need the scrollinfo item anymore.
Producing the scrollinfo item was changing the structure of the APZ tree
in terms of where the transform ended up, and was causing badness with
untransforming the drag mouse events.

This patch adds a test that covers the scenario and also corrects the defect
by bringing the two bits of code back in sync.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 00:17:50 +00:00
shindli caf77278c5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-17 19:38:09 +03:00
thomasmo 5436d3561e Bug 1550757 - Create new DLL for sharing VR code r=kip
This change introduces a new dll, vrhost, to make it easier to share
VR code across multiple process.
An executable, vrtesthost, is also added for testing purposes to
validate the DLL loads in a minimal environment.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 04:53:16 +00:00
Jeff Gilbert 7c1b76c6a8 Bug 1526027 - Remove webgl.bypass-shader-validation. r=lsalzman
Also remove extra plumbing from WebGLShaderValidator, moved directly
into WebGLShader.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 02:36:57 +00:00
arthur.iakab 93aedcdbe3 Backed out 2 changesets (bug 1550903) for causing multiple build bustages CLOSED TREE
Backed out changeset d62be51ffad3 (bug 1550903)
Backed out changeset f48939dc27b6 (bug 1550903)

--HG--
rename : third_party/rust/rand-0.4.3/appveyor.yml => third_party/rust/rand/appveyor.yml
rename : third_party/rust/rand-0.4.3/benches/bench.rs => third_party/rust/rand/benches/bench.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/exponential.rs => third_party/rust/rand/benches/distributions/exponential.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/gamma.rs => third_party/rust/rand/benches/distributions/gamma.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/mod.rs => third_party/rust/rand/benches/distributions/mod.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/normal.rs => third_party/rust/rand/benches/distributions/normal.rs
rename : third_party/rust/rand-0.4.3/src/distributions/range.rs => third_party/rust/rand/src/distributions/range.rs
rename : third_party/rust/rand_jitter/src/lib.rs => third_party/rust/rand/src/jitter.rs
rename : third_party/rust/rand-0.4.3/src/os.rs => third_party/rust/rand/src/os.rs
rename : third_party/rust/rand-0.4.3/src/prng/chacha.rs => third_party/rust/rand/src/prng/chacha.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac.rs => third_party/rust/rand/src/prng/isaac.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac64.rs => third_party/rust/rand/src/prng/isaac64.rs
rename : third_party/rust/rand-0.4.3/src/prng/xorshift.rs => third_party/rust/rand/src/prng/xorshift.rs
rename : third_party/rust/rand-0.4.3/src/rand_impls.rs => third_party/rust/rand/src/rand_impls.rs
rename : third_party/rust/rand-0.4.3/src/read.rs => third_party/rust/rand/src/read.rs
rename : third_party/rust/rand-0.4.3/src/reseeding.rs => third_party/rust/rand/src/reseeding.rs
rename : third_party/rust/rand-0.4.3/src/seq.rs => third_party/rust/rand/src/seq.rs
rename : third_party/rust/rand-0.4.3/utils/ziggurat_tables.py => third_party/rust/rand/utils/ziggurat_tables.py
rename : third_party/rust/fuchsia-cprng/LICENSE => third_party/rust/sha1/LICENSE
2019-05-17 03:24:33 +03:00
Bastien Orivel f75d160ef4 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 17:38:14 +00:00
Emilio Cobos Álvarez 835de4b08d Bug 1529002 - Use cbindgen to back CSS transforms. r=boris
This avoids the expensive conversion, and cleans up a bunch.

Further cleanup is possible, just not done yet to avoid growing the patch even
more.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:25:10 +00:00
Glenn Watson 7690d772ae Bug 1552084 - Remove lifetime requirements on DrawTarget and ReadTarget in WR. r=emilio
This makes DrawTarget and ReadTarget no longer require a borrow
on a texture. This was previously fine, but in the near future
WR will be rendering picture caching surfaces directly into
texture handles. To allow this, we need to remove the borrow check
requirement on DrawTarget for rustc.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 22:25:35 +00:00
Csoregi Natalia 60874606d0 Merge mozilla-central to autoland. CLOSED TREE 2019-05-17 00:58:59 +03:00
Barret Rennie 082f51372d Bug 1540521 - Only attempt to set the CompositionRecorder on the LayerManager when there is one r=mstange
The CompositorBridgeParent won't have a LayerManager when running with
WebRender, so attempting to take a composition recording will cause a crash. We
now silently fail to take the recording since recording is not supported on Web
Render.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 17:26:19 +00:00
Nicolas Silva cc8b7cf247 Bug 1551187 - Rename DropShadowStack into DropShadows. r=kvark"
Differential Revision: https://phabricator.services.mozilla.com/D31248

--HG--
extra : source : fec43bfabf433e3df38114cc172c43d3d9e805d6
2019-05-15 15:21:53 +02:00
Ciure Andrei 00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez 5804e8efae Bug 1529002 - Use cbindgen to back CSS transforms. r=boris
This avoids the expensive conversion, and cleans up a bunch.

Further cleanup is possible, just not done yet to avoid growing the patch even
more.

Differential Revision: https://phabricator.services.mozilla.com/D30748
2019-05-16 16:24:38 +02:00
Botond Ballo f638ab1178 Bug 1552040 - Make layout.scroll.root-frame-containers a regular (not override) pref. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D31350

--HG--
extra : moz-landing-system : lando
2019-05-16 01:07:41 +00:00
sotaro f1e8518196 Bug 1551792 - Add override to RenderCompositorANGLE::UseTripleBuffering() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D31194

--HG--
extra : moz-landing-system : lando
2019-05-15 16:32:25 +00:00
Lee Salzman 0ab44c22e7 Bug 1533546 - disable Skia's global DWrite lock on Windows 10. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31328

--HG--
extra : moz-landing-system : lando
2019-05-15 21:23:23 +00:00
Kartikaya Gupta 0f392e1c84 Bug 1551611 - Skip subpixel AA tests on macOS 10.14. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31183

--HG--
extra : moz-landing-system : lando
2019-05-15 15:12:40 +00:00
Kartikaya Gupta 5276a16758 Bug 1551611 - Add macOS version information to the ReftestEnvironment. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31182

--HG--
extra : moz-landing-system : lando
2019-05-15 15:10:51 +00:00
Kartikaya Gupta 1ba5b82de1 Bug 1551611 - Introduce a ReftestEnvironment. r=Gankro
This moves the existing constants into a ReftestEnvironment which
encapsulates it a bit better. Also this fixes the incorrect "debug" cfg
check to "debug_assertions" which is more correct.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 15:10:34 +00:00
Bogdan Tara c818e16da7 Backed out 3 changesets (bug 1551611) for tidy bustage CLOSED TREE
Backed out changeset f60b2e760d1a (bug 1551611)
Backed out changeset 85ac4e68a63e (bug 1551611)
Backed out changeset df4a76b3e6ce (bug 1551611)
2019-05-15 18:00:25 +03:00
Kartikaya Gupta 88574ada2a Bug 1551611 - Skip subpixel AA tests on macOS 10.14. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31183

--HG--
extra : moz-landing-system : lando
2019-05-15 14:06:52 +00:00
Kartikaya Gupta a30b01108f Bug 1551611 - Add macOS version information to the ReftestEnvironment. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31182

--HG--
extra : moz-landing-system : lando
2019-05-15 14:39:39 +00:00
Kartikaya Gupta b8b7813c1c Bug 1551611 - Introduce a ReftestEnvironment. r=Gankro
This moves the existing constants into a ReftestEnvironment which
encapsulates it a bit better. Also this fixes the incorrect "debug" cfg
check to "debug_assertions" which is more correct.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 14:06:33 +00:00
Bogdan Tara 9f71a4be73 Backed out 3 changesets (bug 1551187) for webrender bustages CLOSED TREE
Backed out changeset 333943819087 (bug 1551187)
Backed out changeset dc83934fa032 (bug 1551187)
Backed out changeset aa02e32fd5bf (bug 1551187)
2019-05-15 16:54:37 +03:00
Nicolas Silva 3d005bdb41 Bug 1551187 - Box the color matrix in Filter. r=kvark
ColorMatrix is rarely used but takes most space in the Filter enum.
This removes 44 bytes from the enum and all structs that embed it.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:15:55 +00:00
Nicolas Silva 0068db5320 Bug 1551187 - Rename render task tree into render task graph. r=kvark
sed -i 's/RenderTaskTree/RenderTaskGraph/g' gfx/wr/webrender/**/*.rs
sed -i 's/task tree/task graph/g' gfx/wr/webrender/**/*.rs

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:16:17 +00:00
Nicolas Silva caf7e58ba1 Bug 1551187 - Remove the single-shadow picture composite code. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30896

--HG--
extra : moz-landing-system : lando
2019-05-15 13:16:19 +00:00
Jamie Nicol 49dbdb7f53 Bug 1550582 - Add wrench reftest r=gw
Rename the old overlapping corners testcase and add comments to make
the tests' purposes clearer:
 * The existing one is testing that a corner is clipped correctly when
   it overlaps with an adjacent corner.
 * The new one is testing that corners and segments are clipped
   correctly when opposite edges of the border overlap.

Depends on D30814

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

--HG--
rename : gfx/wr/wrench/reftests/border/border-overlapping-ref.yaml => gfx/wr/wrench/reftests/border/border-overlapping-corner-ref.yaml
rename : gfx/wr/wrench/reftests/border/border-overlapping.yaml => gfx/wr/wrench/reftests/border/border-overlapping-corner.yaml
extra : moz-landing-system : lando
2019-05-15 10:45:25 +00:00
Jamie Nicol 318728e2ed Bug 1550582 - Ensure the overlap is filled correctly when opposite border edges overlap. r=gw
To fix bug 1496540 it was made so that webrender clips border corner
segments so that they do not overlap with their opposing
edges. However, cases where opposing _edges_ both overlap with
eachother (rather than just a corner overlapping with an edge), the
corners are clipped too far and a gap is left in the middle.

Additionally, no clipping was added to the edge segments. So rather
than there be a gap there is an area that is painted twice, which is
apparent if the colour is semi-transparent.

This fixes these issues by identifying when opposing edges overlap and
calculating the midpoint, then clipping the edges and corners to that
midpoint instead.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 10:43:25 +00:00
Bogdan Tara 11cfa0462a Backed out changeset af0fd51dc41a (bug 1550757) for vrhost related mingw bustages CLOSED TREE 2019-05-15 08:28:00 +03:00
thomasmo 67eb9799f5 Bug 1550757 - Create new DLL for sharing VR code r=kip
This change introduces a new dll, vrhost, to make it easier to share
VR code across multiple process.
An executable, vrtesthost, is also added for testing purposes to
validate the DLL loads in a minimal environment.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 18:07:26 +00:00
Barret Rennie 1a5e406183 Bug 1551353 - Correctly map PBOs for readback on GLES r=kvark
The implementation of `Device::map_pbo_for_readback` on GLES (e.g., Windows
with ANGLE) was using the incorrect enumeration value when attempting to map
the buffer into memory.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 22:54:19 +00:00
Lee Salzman 7e2009d661 Bug 1508626 - add assertions to diagnose why the font loader is running after shutdown. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D30979

--HG--
extra : moz-landing-system : lando
2019-05-14 16:14:26 +00:00
Cosmin Sabou 1b1356216c Merge mozilla-inbound to mozilla-central. a=merge 2019-05-14 18:59:38 +03:00
sotaro 5195dc0de7 Bug 1551392 - Remove RenderThread::DecPendingFrameCount() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D31021

--HG--
extra : moz-landing-system : lando
2019-05-14 07:18:03 +00:00
Glenn Watson 5108fcd99f Bug 1551131 - Refactor WR batching code in preparation for different batches per dirty region / render task. r=nical
* Store render task address per-instance rather than per-primitive, to allow adding a single primitive to multiple batches / render tasks.
* Store render task id inside alpha batch builder, since multiple batch builders will be passed in future.
* Add primitive visibility mask, storing a bit mask of which dirty regions a visible primitive intersects.
* Store RenderTaskAddress as a u16 in CPU and shader types.
* Add picture caching debug flag to wrench.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 07:17:24 +00:00
Cosmin Sabou 2c257bbf35 Merge mozilla-central to autoland. 2019-05-14 08:25:39 +03:00
Cosmin Sabou 530b9c7e9c Backed out 2 changesets (bug 1550903) for webrender bustages. a=backout
Backed out changeset fe8d48740511 (bug 1550903)
Backed out changeset cc187a665ccf (bug 1550903)

--HG--
rename : third_party/rust/rand-0.4.3/appveyor.yml => third_party/rust/rand/appveyor.yml
rename : third_party/rust/rand-0.4.3/benches/bench.rs => third_party/rust/rand/benches/bench.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/exponential.rs => third_party/rust/rand/benches/distributions/exponential.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/gamma.rs => third_party/rust/rand/benches/distributions/gamma.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/mod.rs => third_party/rust/rand/benches/distributions/mod.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/normal.rs => third_party/rust/rand/benches/distributions/normal.rs
rename : third_party/rust/rand-0.4.3/src/distributions/range.rs => third_party/rust/rand/src/distributions/range.rs
rename : third_party/rust/rand_jitter/src/lib.rs => third_party/rust/rand/src/jitter.rs
rename : third_party/rust/rand-0.4.3/src/os.rs => third_party/rust/rand/src/os.rs
rename : third_party/rust/rand-0.4.3/src/prng/chacha.rs => third_party/rust/rand/src/prng/chacha.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac.rs => third_party/rust/rand/src/prng/isaac.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac64.rs => third_party/rust/rand/src/prng/isaac64.rs
rename : third_party/rust/rand-0.4.3/src/prng/xorshift.rs => third_party/rust/rand/src/prng/xorshift.rs
rename : third_party/rust/rand-0.4.3/src/rand_impls.rs => third_party/rust/rand/src/rand_impls.rs
rename : third_party/rust/rand-0.4.3/src/read.rs => third_party/rust/rand/src/read.rs
rename : third_party/rust/rand-0.4.3/src/reseeding.rs => third_party/rust/rand/src/reseeding.rs
rename : third_party/rust/rand-0.4.3/src/seq.rs => third_party/rust/rand/src/seq.rs
rename : third_party/rust/rand-0.4.3/utils/ziggurat_tables.py => third_party/rust/rand/utils/ziggurat_tables.py
rename : third_party/rust/fuchsia-cprng/LICENSE => third_party/rust/sha1/LICENSE
2019-05-14 08:16:26 +03:00
Bastien Orivel 4816d6ec16 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-12 12:38:56 +00:00
Jeff Muizelaar e31b715a96 Bug 1551257. Enable WebRender by default on Broadwell GT2+. r=aosmond
I think we just accidentally forgot these ids when we added more mobile
chips.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 16:43:52 +00:00
Botond Ballo bf20fd9f38 Bug 1459260 - Don't use dom.meta-viewport.enabled in tests that don't need it. r=kats
Many tests only had it enabled because it was required for zooming to work on
desktop. This patch revises tests to only use it if they actually use a non-
default meta viewport tag.

The motivation is to bring test coverage closer to the platform defaults (so
on desktop, tests will run with dom.meta-viewport.enabled=false, and on Android
with dom.meta-viewport.enabled=true, matching the production scenarios).

Depends on D30988

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

--HG--
extra : moz-landing-system : lando
2019-05-14 02:15:09 +00:00
Martin Stransky 72f8b4fbe9 Bug 1550658 - [Linux/Gtk] Don't use Wayland display in content process when it's disabled in chrome, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D30724

--HG--
extra : moz-landing-system : lando
2019-05-13 11:19:41 +00:00
sotaro d340b3064c Bug 1536668 - Add more check to RecvGetTextureFactoryIdentifier() r=nical
Add a check similar to LayerTransactionParent::RecvSetAsyncZoom()

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

--HG--
extra : moz-landing-system : lando
2019-05-09 07:37:03 +00:00
sotaro 30138cb347 Bug 1550402 - Remove unnecessary return nullptr in ShmemTextureData::Create() r=nical
The "return nullptr" is redundant.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 07:36:40 +00:00
Nicolas Silva 92e099dc31 Bug 1536021 - Gecko side changes. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30618

--HG--
extra : source : d9c8971de6ad11a2f5c4331775c2d17c98a12b7e
extra : intermediate-source : b0fc3130f34b72fe01230ae0b231131111a9a9f1
2019-05-10 22:13:31 +02:00
Nicolas Silva ea0c5eda0a Bug 1536021 - Sanitize filters in place. r=kvark
--HG--
extra : source : d68b728d584c38053387c4df0096a9744389469f
extra : intermediate-source : 4e52aa850e3607ffe872a8da66874eaddefea046
2019-05-10 01:23:54 +02:00
Nicolas Silva c7a54e68a1 Bug 1536021 - Shadow stack implementation. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30620

--HG--
extra : source : e830b256419b53556e27aa2586f2ed8f715aa99e
extra : intermediate-source : c223987f3de744979a0b08b336b46ac9f199e9bd
2019-05-12 12:27:44 +02:00
Daniel Varga 84647fc525 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-11 00:53:46 +03:00
Daniel Varga bfc993c71e Merge mozilla-inbound to mozilla-central. a=merge 2019-05-11 00:48:13 +03:00
Andrew Osmond 11a7bb40e7 Bug 1550725 - Cull primitives with an empty clip. r=kvark
When the clip chain generates the local clip rect for a primitive, it
can be empty. This violated the assumption that the visible rect will
never be empty, and so when we snap, it produces NaNs, which in turn,
violates other assumptions when converting between spaces, and hence the
crash.

Now we cull the primitive from the visible list if the local clip rect
is empty, or if the visible rect is empty.

Differential Revision: https://phabricator.services.mozilla.com/D30659
2019-05-10 16:31:13 -04:00
Bas Schouten f70ba6b095 Bug 1549674: Use the CompositorWindow to draw to when using DoubleBuffering. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D30569

--HG--
extra : rebase_source : f4cd0faf7117794130c5067bb94f6d1624003570
extra : amend_source : a5778802e9b27c704a1a0a09175b18b38787781e
2019-05-10 00:10:35 +02:00
Andrew Osmond e603a34296 Bug 1550156 - Add richer set of gfx feature failure codes for WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30523
2019-05-10 09:50:58 -04:00
Andreea Pavel afd3f26c69 Merge mozilla-central to mozilla-inbound on a CLOSED TREE 2019-05-10 13:11:16 +03:00
Narcis Beleuzu e2ae6c94d9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-10 05:58:35 +03:00
Lee Salzman 85dc48d04f Bug 1548484 - respect Cairo blit size limits when using BasicCompositor. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30571

--HG--
extra : moz-landing-system : lando
2019-05-10 03:00:34 +00:00
Andrew Osmond 672a591e29 Bug 1550504 - Add pref to allow slow frames logging, disabled by default. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30508
2019-05-09 16:46:37 -04:00
Jean-Yves Avenard 92822b915d Bug 1548795 - P1. Don't use StaticPrefs in GPU process. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29984

--HG--
extra : moz-landing-system : lando
2019-05-09 23:12:12 +00:00
Glenn Watson 4d09f84fb5 Bug 1524427 - Fix panic when clip mask is supplied with non-existent image key. r=kvark
In some cases, Gecko supplies a display item with an image clip
mask where the image itself does not exist in the resource cache.

In these cases, WR would skip requesting the image, but would
still try to fetch the image info during batching, causing a panic.

This patch skips adding clip items to the batching pass if the
image mask does not exist.

It also adds support to wrench for a crash test when the image
mask is invalid.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 21:23:58 +00:00
Jonathan Kew c8c951fbbe Bug 1545177 - If descriptors of a FontFace are modified after creation, update the associated font entry so that face selection will respect the new values, and mark font sets as dirty. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D27980

--HG--
extra : moz-landing-system : lando
2019-05-09 09:43:42 +00:00
Jonathan Kew 262778abc6 Bug 1533797 - Let freetype backend fall back to MS_SYMBOL if no UNICODE charmap is available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D30625

--HG--
extra : moz-landing-system : lando
2019-05-10 16:27:49 +00:00
Dzmitry Malyshau 7f9b0ee390 Bug 1532174 - Repace WR RelativeTransform with CoordinateSpaceMapping, improve flattening semantics. r=gw
This change makes get_relative_transform() to no longer rely on any flattening done before in the pipeline.
This makes it correct is some of the cases we failed previously (see ini files removed).
It now does flattening on every flat coordinate system it passes through, and it's used for SpaceMapper.
The old RelativeTransform is now replaced with CoordinateSpaceMapping, which reduces the zoo of our types :)

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

--HG--
extra : moz-landing-system : lando
2019-05-10 02:22:51 +00:00
Glenn Watson cbb89e0d8a Bug 1549921 - Refactor batch building code in preparation for multiple alpha batchers per picture. r=kvark
This patch is scaffolding only - there shouldn't be any functional
changes as a result of these changes.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 20:32:39 +00:00
Miko Mynttinen 1ad7ab6372 Bug 1549751 - Part 3: Use nsPaintedDisplayItem in WR and FLB r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30226

--HG--
extra : moz-landing-system : lando
2019-05-08 13:50:09 +00:00
Csoregi Natalia 0b4a204c24 Merge mozilla-central to autoland. CLOSED TREE 2019-05-08 06:39:09 +03:00
Csoregi Natalia 197210b8c1 Merge inbound to mozilla-central. a=merge 2019-05-08 06:37:15 +03:00
Dzmitry Malyshau 0ab96c1983 Bug 1532174 - Refactor WR fast transform, use when returning relative transforms r=gw
Based on https://phabricator.services.mozilla.com/D30229

Instead of converting from the scale-offset to the transform right away in
`get_relative_transform`, we only do it if there is a jump between coordinate spaces.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 02:32:15 +00:00
Nicolas Silva 987eae6cae Bug 1543974 - Add render task scheduling tests. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D30021

--HG--
extra : source : 41300ab303ce3fe31a5065cd899949aa4fc97f95
2019-05-07 17:25:27 +02:00
Andrew Osmond 8b08c1d231 Bug 1549746 - Allow WebRender on nightly for Intel graphics for smaller screen sizes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30217
2019-05-07 14:27:57 -04:00
Glenn Watson effaccc4f6 Bug 1549271 - Create render task graph earlier during frame building. r=nical
This moves creation of the render task graph to be slightly
earlier during frame building. Instead of creeating the render
tasks during prepare_prims, they are created during the
take_context call for pictures, before recursing into primitives.

This means that in future we can have a surface that targets
multiple render tasks (e.g. for multiple dirty regions), which
may create a different batch set for each region.

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

--HG--
extra : moz-landing-system : lando
2019-05-07 20:49:56 +00:00
Daosheng Mu 23e4ee7da0 Bug 1545991 - Cancel the current VR task when CompositorThread is shutdown. r=kip,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D28546

--HG--
extra : moz-landing-system : lando
2019-05-07 01:37:05 +00:00
shindli 99a2a5a955 Merge inbound to mozilla-central. a=merge 2019-05-07 12:46:42 +03:00
Botond Ballo 5c7f1d92a6 Bug 1516722 - Mochitest. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D29093

--HG--
extra : moz-landing-system : lando
2019-05-07 03:03:47 +00:00
Lee Salzman 0037d62d7b Bug 1414961 - enable WR dual-source blending by default. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30107

--HG--
extra : moz-landing-system : lando
2019-05-07 02:30:16 +00:00
Kartikaya Gupta 393de0ad75 Bug 1548568 - Cleanup to remove unused guid parameter in callback. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D29688

--HG--
extra : moz-landing-system : lando
2019-05-06 22:14:40 +00:00
Kartikaya Gupta 7b180d77c7 Bug 1548568 - Cleanup to stop passing around a guid when we only need a layers id. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D29687

--HG--
extra : moz-landing-system : lando
2019-05-06 22:14:42 +00:00
Alexis Beingessner 63afa58e9a Bug 1525402 - Mark all gfx/wr crates as Rust 2018. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D29569

--HG--
extra : moz-landing-system : lando
2019-05-07 01:39:22 +00:00
Alexis Beingessner 9847a632f7 Bug 1525402 - Run `cargo fix --edition` on webrender on macos. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D29567

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:23 +00:00
Alexis Beingessner 89682a3ff0 Bug 1525402 - Manual fixups for configs cargo fix missed. r=kvark
cargo fix works by building under a specific config, so we can't hit both
sides of a mutually exclusive pair of cfgs, such as cfg(target_os) or
when cfg(feature) and cfg(not(feature)) both exist in the codebase.

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:21 +00:00
Alexis Beingessner 3c003ecb1c Bug 1525402 - Migrate webrender externs to a Rust 2018 compatible form. r=kvark
Notably `extern crate foo as bar` is no longer supported
(must do it in Cargo.toml). Also stopped using euclid through webrender_api,
because it produces worse results in 2018.

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:19 +00:00
Oana Pop Rus 251b4874dc Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-07 01:33:06 +03:00
Oana Pop Rus 65399363fb Merge inbound to mozilla-central. a=merge 2019-05-07 00:45:24 +03:00
Doug Thayer 8efbd9be96 Bug 1541078 - Add pre/post frames hooks into save_capture r=kvark
There's two ways we could get around this. We could add a path
around the prepared_for_frames assertion in GpuCache::end_frame,
or we can do this, and leave the TODO explicit with the
assertion. I took the latter approach because we can clear
the GpuCache / TextureCache through other routes than frame
building anyway, so we could hit this failure path before
any of the patches in this bug landed.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 17:21:22 +00:00
Doug Thayer 2f3c20a88f Bug 1541078 - Rename before/after_frames r=kvark
These aren't great names - I couldn't come up with better though.
We lose the symmetry of before/after but this clarifies a little
bit what they are doing.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 17:21:10 +00:00
Doug Thayer c3b4dee3c1 Bug 1541078 - Require frame builds for all docs after GpuCache clear r=kvark
If we run a GpuCache clear and do not update all documents, we run into
situations where the stale documents try to access things in the gpu
cache and just show random garbage. The solution is similar to what we
do for TextureCache, so I am just duplicating those signatures and providing
helpers in RenderBackend to access both together.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 17:21:01 +00:00
Dorel Luca d127438ee0 Backed out 2 changesets (bug 1548568) for Valgrind failure. CLOSED TREE
Backed out changeset b7d27dc874df (bug 1548568)
Backed out changeset dadb3b3dad5f (bug 1548568)
2019-05-07 01:13:06 +03:00
Kartikaya Gupta 45d830254d Bug 1548568 - Cleanup to remove unused guid parameter in callback. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D29688

--HG--
extra : moz-landing-system : lando
2019-05-06 21:03:55 +00:00
Kartikaya Gupta cc1a6e393f Bug 1548568 - Cleanup to stop passing around a guid when we only need a layers id. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D29687

--HG--
extra : moz-landing-system : lando
2019-05-06 21:03:49 +00:00
Kartikaya Gupta e1ecdb820a Bug 1062609 - Ensure that APZCTreeManager::GetFrameTime respects the test sample time. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D29921

--HG--
extra : moz-landing-system : lando
2019-05-06 17:48:54 +00:00
Kartikaya Gupta 8a6c7a70bd Bug 1533673 - Allow APZ to send fission matrices with the GPU process. r=hsivonen
With the IPC fix in the previous patch this seems to work now.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 16:17:55 +00:00
Kartikaya Gupta 1283826c0f Bug 1533673 - Prevent the GPU RemoteContentController from sending messages to a dead actor. r=rhunt
Currently it's possible for the RemoteContentController in the GPU process to
be sending a message to the UI process while the UI process is running
RemoteCompositorSession::Shutdown. This means that by the time that message
is processed, the UI process actor is destroyed and the message produces
a routing error.

This patch ensures that before RemoteCompositorSession::Shutdown completes,
it notifies the RemoteContentController in the GPU process that it's about
to destroy the APZChild actor. This eliminates the race because it ensures
the RemoteContentController is synchronously notified of the impending
actor destruction before it tries to send the message.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 16:20:05 +00:00
Nicolas Silva 284bf80f3f Bug 1543974 - Deal with conflicting render task rect scheduling and allocation. r=kvark
Due to the render task ping-pong target allocation scheme, we need to ensure:
 - that tasks only read from tasks that are an odd number of passes apart,
 - that render task content is kept valid long enough for all of the dependent tasks.

The former is solved in this patch through blit tasks, the latter by marking tasks for saving as needed.

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

--HG--
extra : moz-landing-system : lando
2019-05-04 13:31:13 +00:00
Mihai Alexandru Michis e7d9a87493 Merge mozilla-inbound to mozilla-central a=merge 2019-05-06 12:49:43 +03:00
Jeff Muizelaar 0e7d61fe73 Bug 1539846. Ensure building rect changes cause invalidations. r=mstange
Typically this would be handled by the visible region of the layer
changing. However, since we build the container layer for the filter
item directly the visible region doesn't get set or checked. As a
shortcut to using more of FLB we just ensure the building rect hasn't
changed.

The situations under which this bugs shows up are somewhat rare:
- The filtered item needs to be in transform so that it's bounds
  are not changed by scrolling.
- The filtered item needs to contain items that change their drawing
  depending on the building rect. In this case an image with downscale
  on decode.
- The filter needs to be unsupported by WebRender.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 20:46:07 +00:00
Jeff Gilbert 83ae212e18 Bug 1549646 - Cherry-pick EXT_blend_func_extended into ANGLE. r=upstream 2019-05-06 19:02:23 -07:00
Coroiu Cristina 7bb82fa0dc Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-05-06 00:42:50 +03:00
Coroiu Cristina 6f634e87e9 Merge inbound to mozilla-central a=merge on a CLOSED TREE 2019-05-06 00:38:28 +03:00
Coroiu Cristina 4a840bbe4b Backed out 3 changesets (bug 1540200) for causing merge conflicts
Backed out changeset 4352d1f0da34 (bug 1540200)
Backed out changeset ff2ca836d8a7 (bug 1540200)
Backed out changeset 3e4cc0d312d0 (bug 1540200)
2019-05-06 00:37:06 +03:00
Andrew Osmond 17c3cc5d39 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 18:26:06 -04:00
Glenn Watson 44849e69c1 Bug 1548712 - Restructure and tidy up some code in prepare primitive pass. r=kvark,nical
Differential Revision: https://phabricator.services.mozilla.com/D29777

--HG--
extra : moz-landing-system : lando
2019-05-03 20:26:32 +00:00
Mihai Alexandru Michis 25a6b02677 Backed out 2 changesets (bug 1544105) for leaks in mda tests and failing browser_Troubleshoot.js CLOSED TREE
Backed out changeset eca7ee42af96 (bug 1544105)
Backed out changeset a8cd879f02ce (bug 1544105)
2019-05-03 23:19:03 +03:00
Andrew Osmond f289a95270 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 14:57:58 -04:00
Doug Thayer 9dddfa57d6 Bug 1538540 - Respect texture_cache rebuild reqs even if doc has no pixels r=kvark
If a document has an empty rect for whatever reason (in the case observed, this was
due to running a full screen video in the content document, which occludes the
chrome document), then we still want to ensure that we build a frame if the
texture cache has performed a clear, as otherwise we may try to access stale
items from the texture resolver in render_impl.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 20:30:46 +00:00
Daniel Varga 2b81f4d301 Backed out 2 changesets (bug 1544105) for build bustages. On a CLOSED TREE
Backed out changeset 215c2693d281 (bug 1544105)
Backed out changeset 16d5af6fd55c (bug 1544105)
2019-05-03 19:12:48 +03:00
Andrew Osmond 523648d4df Bug 1524280 - Add logging for crash reports to help diagnose why the buffer is missing. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D29829
2019-05-03 11:26:46 -04:00
Andrew Osmond c4dec73816 Bug 1544105 - Part 1. Expose new driver vendor field for the graphics blocklist. r=jrmuizel
This reunifies the behaviour changed in bug 1294232 to ensure that the
vendor ID of GfxInfo is the same between graphics hardware. Vendor ID
should always represent Intel, Nvidia, ATI, etc such that callers can
reason about the performance characteristics without being exposed to
the driver implementation for that platform. Now we split off the more
detailed driver information into the "driver vendor" which will contain
more information, such as what implementation is being used (e.g.
mesa/i965 for modern Intel graphics cards). This field is exposed to the
blocklist and will be useful for allowing different rules for different
driver implementations.

We also now provide a default implementation for
GfxInfoBase::FindMonitors for platforms missing support. This will just
list the primary screen size used without listing secondary monitors,
refresh rate, and such.

Differential Revision: https://phabricator.services.mozilla.com/D29471
2019-05-03 11:13:26 -04:00
Jeff Muizelaar 5aef042608 Bug 1525753. blob-inval: Isolate blend containers. r=mstange
We could do some work to make sure that we don't unnecessarily
PushLayer, but that's better left for the future.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 18:58:11 +00:00
Dorel Luca 38b93d753b Merge mozilla-inbound to mozilla-central. a=merge 2019-05-03 16:01:03 +03:00
Jonathan Kew b0dd634187 Bug 1548661 - Enable word-cache expiration timer up through early beta, to monitor stability in the wild. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D29743

--HG--
extra : moz-landing-system : lando
2019-05-03 00:15:25 +00:00
Jeff Muizelaar f416528a92 Bug 1548947. Add a missing intel device id.
I had missed this id in the gpu-db.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 22:04:05 +00:00
Matt Woodrow ccec906120 Bug 1547159 - Composite just the visible rects of ColorLayerComposite on mobile. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D29456

--HG--
extra : moz-landing-system : lando
2019-05-02 22:02:30 +00:00
Matt Woodrow ea5af71605 Bug 1537735 - Always update mask layers for ClientTiledPaintedLayer, even if nothing within the Layer itself has changed. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D29753

--HG--
extra : moz-landing-system : lando
2019-05-02 21:16:46 +00:00
Matt Woodrow ccad9d3fc8 Bug 1414033 - Recursively invalidate any cached ContainerLayer surfaces for new attached Layers, since they might have been moved and we don't track invalid areas within them. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D29452

--HG--
extra : moz-landing-system : lando
2019-05-02 21:00:30 +00:00
Kartikaya Gupta a059915b0b Bug 1548635 - Add mechanism to skip wrench reftests on specific platforms. r=gw
This allows us to blacklist certain configurations. Previously we could only
use platform(...) which was more of a whitelist.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 20:49:08 +00:00
Kartikaya Gupta 38a1e79594 Bug 1548635 - Some tweaks for wrench on Android. r=gw
This makes some minor tweaks:
- Use a /sdcard/wrench/ folder for the args and reftests. For me bundling
  the reftests as assets didn't work (app would panic trying to load those
  files). Plus it seems better to not always bundle the reftests with the app.
- Always dump a full backtrace on Android
- Build both x86 and armv7 architectures of wrench into the same APK for
  better compatibility.
- Update documentation.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 20:49:07 +00:00
Barret Rennie 6994c63945 Bug 1547369 - Support composition recording on CompositorD3D11 r=mstange
CompositorD3D11's implementation of `GetWindowRenderTarget` would return a
`nullptr` if we were not presently recording a profile with screenshots. Now,
CompositorD3D11 correctly will return a window render target when it has been
asked to by the `LayerManagerComposite` via `Compositor::RequestRecordFrames`.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 17:33:38 +00:00
Barret Rennie 4dfb93e03a Bug 1547369 - Rename Compositor::RequestRecordFrames to Compositor::RequestAllowFrameRecording r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D29708

--HG--
extra : moz-landing-system : lando
2019-05-02 17:33:38 +00:00
Botond Ballo adcf0c5f2d Bug 1547435 - Ensure NotifyApzTransaction is only called once a transaction is actually sent. r=kats,rhunt
Differential Revision: https://phabricator.services.mozilla.com/D29283

--HG--
extra : moz-landing-system : lando
2019-05-02 16:42:09 +00:00
Kartikaya Gupta 0064188850 Bug 1548261 - Run wrench reftests in debug also. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D29663

--HG--
extra : moz-landing-system : lando
2019-05-02 14:18:21 +00:00
arthur.iakab 206ddbe9e3 Merge mozilla-central to mozilla-inbound 2019-05-14 12:47:02 +03:00
Cosmin Sabou fd25889a8c Merge mozilla-central to mozilla-inbound. 2019-05-14 08:30:18 +03:00
Andreea Pavel 179c59ef7e Merge mozilla-central to mozilla-inbound on a CLOSED TREE 2019-05-14 07:23:04 +03:00
sotaro d4a0a53493 Bug 1544180 - Add CheckedInt check r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D30849
2019-05-14 12:05:57 +09:00
Kartikaya Gupta 82055a726b Bug 1547833 - Check for the KHR_debug extension before trying to use it. r=gw,kvark
Differential Revision: https://phabricator.services.mozilla.com/D29824

--HG--
extra : moz-landing-system : lando
2019-05-06 12:16:15 +00:00
Bas Schouten cf839e9e77 Bug 1545787: Make EndRecording occur synchronously so it only returns once all files are written. r=mstange r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D28199

--HG--
extra : rebase_source : 6288d2e56a7deed64b29e052c7f179ac09392717
2019-04-19 16:59:43 +02:00
Andrew Osmond 5b1c558e2a Bug 1540200 - Part 3. Reuse snapping offsets calculated on the CPU in the WebRender shaders. r=kvark
Historically we calculated the snapping offsets in the GPU shaders.
Because this information is always needed on the CPU side, we now just
pass the values into the shader instead of recalculating again. This
ensures we will use the same set of values consistently and makes it
easier to adjust how we snap in the future.

This patch should have no functional change on the output of WebRender
itself.

Differential Revision: https://phabricator.services.mozilla.com/D28883
2019-05-06 08:36:50 -04:00
Andrew Osmond 28d348f0dc Bug 1540200 - Part 2. Calculate snapped primitive rect and offsets for WebRender on the CPU. r=kvark
We currently do most snapping on the GPU in the shader. However the
picture's local rect needs to take into account the snapping done there,
so we need to calculate this earlier in the pipeline. Instead of using
the clipped primitive local rects to create the picture's own local
rect, we now snap the child local rects first. If no snapping is
required, there should be no functional change. If snapping is required,
there should be fewer visual distortions caused by an inaccurate picture
local rect.

Differential Revision: https://phabricator.services.mozilla.com/D28882
2019-05-06 08:36:50 -04:00
Andrew Osmond 1a022002f5 Bug 1540200 - Part 1. Move picture local rect calculation to update visibility. r=kvark
We currently calculate a picture's local rect when we are doing the
first picture traversal. It was composed of the union of the clipped
local rects of its children. However the true local rect of a picture is
the union of the snapped clipped local rects of its children. The
snapping is done in device space, but we won't know the exact transform
until we establish the raster roots, which is based on the picture's
local rect.

As such, we create an estimated local rect which is how we currently
calculate the local rect. Then once the raster roots have been selected,
we recalculate the local rect of the picture based on its children
during update visibility.

This patch should have not contain any functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D28881
2019-05-06 08:36:50 -04:00
Dorel Luca 7fad0f300a Merge mozilla-central to mozilla-inbound 2019-05-03 16:12:49 +03:00
Andrew Osmond 924df4bbf5 Bug 1540200 - Part 3. Reuse snapping offsets calculated on the CPU in the WebRender shaders. r=kvark
Historically we calculated the snapping offsets in the GPU shaders.
Because this information is always needed on the CPU side, we now just
pass the values into the shader instead of recalculating again. This
ensures we will use the same set of values consistently and makes it
easier to adjust how we snap in the future.

This patch should have no functional change on the output of WebRender
itself.

Differential Revision: https://phabricator.services.mozilla.com/D28883
2019-05-03 07:57:18 -04:00
Andrew Osmond 10cbd1789c Bug 1540200 - Part 2. Calculate snapped primitive rect and offsets for WebRender on the CPU. r=kvark
We currently do most snapping on the GPU in the shader. However the
picture's local rect needs to take into account the snapping done there,
so we need to calculate this earlier in the pipeline. Instead of using
the clipped primitive local rects to create the picture's own local
rect, we now snap the child local rects first. If no snapping is
required, there should be no functional change. If snapping is required,
there should be fewer visual distortions caused by an inaccurate picture
local rect.

Differential Revision: https://phabricator.services.mozilla.com/D28882
2019-05-03 07:57:18 -04:00
Andrew Osmond 2602fd0f0b Bug 1540200 - Part 1. Move picture local rect calculation to update visibility. r=kvark
We currently calculate a picture's local rect when we are doing the
first picture traversal. It was composed of the union of the clipped
local rects of its children. However the true local rect of a picture is
the union of the snapped clipped local rects of its children. The
snapping is done in device space, but we won't know the exact transform
until we establish the raster roots, which is based on the picture's
local rect.

As such, we create an estimated local rect which is how we currently
calculate the local rect. Then once the raster roots have been selected,
we recalculate the local rect of the picture based on its children
during update visibility.

This patch should have not contain any functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D28881
2019-05-03 07:57:18 -04:00