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

33099 Коммитов

Автор SHA1 Сообщение Дата
June Wilde f8fe6eb4ef Bug 1533097 - restrict gfxWindowsPlatform::RecordStartupTelemetry to parent; r=jrmuizel
Adds early exit if not originating in the parent process when recording
display HDR capability. This helps to remove more win32k usage from
content processes.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 16:44:23 +00:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Dzmitry Malyshau 7f7b9d9668 Bug 1527325 - Don't re-export contents of WR API units r=gw
The cleans up our WR use statements further, easying the merge conflicts.
Note: this PR is subject to instant rot, it is preferred to land quickly.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 01:44:05 +00:00
Botond Ballo 0e364a1f61 Bug 1517895 - Only allow APZ to clobber the visual viewport offset if it can clobber the layout viewport offset. r=kats
This gets frame-reconstruction-scroll-clamping.html passing again.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 16:00:09 +00:00
Gurzau Raul fc5efa3bc0 Backed out changeset 950174a8c708 (bug 1527325) for wrench failures on a CLOSED TREE. 2019-03-14 00:56:55 +02:00
Brad Werth b43c639430 Bug 1501665 Part 4: Use the new function as a replacement for APZAllowZooming. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D19239

--HG--
extra : moz-landing-system : lando
2019-03-18 14:56:55 +00:00
David Major e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Botond Ballo 7c11182619 Bug 1533607 - Assert the invariant that layers carrying root content scroll metadata should be inside the async zoom container. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D23058

--HG--
extra : moz-landing-system : lando
2019-03-13 18:38:20 +00:00
Dzmitry Malyshau 5136f1e520 Bug 1527325 - Don't re-export contents of WR API units r=gw
The cleans up our WR use statements further, easying the merge conflicts.
Note: this PR is subject to instant rot, it is preferred to land quickly.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 19:30:56 +00:00
Kartikaya Gupta 6abae80411 Bug 1534616 - Add a mochitest for hit-testing content under a clipped modal div. r=botond
This tests the scenario fixed by bug 1531170.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:07:31 +00:00
Glenn Watson 59cda29424 Bug 1534885 - Change clip mask rendering to not rely on render task data. r=kvark
As a general principle, we're trying to remove most usage of the
render task data that gets stored in a texture (bind_frame_data
is slow on many platforms, and it's somewhat inflexible with the
amount of data that can be provided).

This also lays some foundations for possibly drawing clip masks
with alternative techniques on mobile / tiled GPU architectures,
where we may not need / want a render task for clip masks.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 19:28:36 +00:00
Doug Thayer cb0fa9cf3b Bug 1441308 - Remove unnecessary StackingContextHelper params from clips r=kats
These aren't used, so I'm just getting rid of them as cleanup.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 16:44:05 +00:00
Dzmitry Malyshau 97423c7bca Bug 1519718 - Revert the mix-blend rewrite r=jrmuizel
https://phabricator.services.mozilla.com/D20608
Caused problems in Servo https://github.com/servo/servo/pull/22973 and MotionMark - https://bugzilla.mozilla.org/show_bug.cgi?id=1519718

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
extra : moz-landing-system : lando
2019-03-13 14:50:46 +00:00
Oana Pop Rus 7750cb83c3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-13 12:24:00 +02:00
Oana Pop Rus 39feeaf9a5 Merge inbound to mozilla-central. a=merge 2019-03-13 12:09:03 +02:00
sotaro 2c65d7229c Bug 1532949 - Bug 1532024 - Explicityly create headless context for webrender in RenderCompositorEGL r=jgilbert
On Wayland with WebRender, RenderCompositorEGL creates headless context by using GLContextProviderEGL::CreateForCompositorWidget(), since GetNativeData(NS_NATIVE_EGL_WINDOW) returns nullptr. But we want to make hadless explicitly. But GLContextProviderEGL::CreateHeadless() and GLContextEGL::CreateEGLPBufferOffscreenContext() could not be used for it. They creates incompatible EGLConfig to egl window. Then we extends GLContextProviderEAGL::CreateForCompositorWidget() to handle this case. When CreateForCompositorWidget() receives null widget, it creates GLContext without surface of egl window.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 00:17:01 +00:00
Jeff Muizelaar 738abee653 Bug 1524090. Add telemetry for GPU wait time. r=mattwoodrow,chutten
Differential Revision: https://phabricator.services.mozilla.com/D22100

--HG--
extra : moz-landing-system : lando
2019-03-13 02:34:04 +00:00
Narcis Beleuzu 7aea88238d Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-12 23:48:24 +02:00
Jean-Yves Avenard 31bfd30381 Bug 1521370 - Always enable WMF VPX crashguard on Nightly r=mattwoodrow
There's nothing to get around it unfortunately, making firefox unusable without it.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 01:52:26 +00:00
Jean-Yves Avenard 3ff0c3ea85 Bug 1521370 - Do not attempt to retry crash guard once a crash occurred. r=mattwoodrow
Should the configuration had changed at startup, a crash guard would have always been re-attempted even if a new crash occurred.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 02:26:55 +00:00
Jean-Yves Avenard dfa04f21b3 Bug 1521370 - Add crash guard around VPX decoder creation. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21477

--HG--
extra : moz-landing-system : lando
2019-03-13 02:36:08 +00:00
Bas Schouten 457e8b9854 Bug 1534655: Fix some unified build errors inside layers. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D23151

--HG--
extra : rebase_source : e71d294805df0d46cf39decd0589b47544a0fffe
2019-03-12 16:08:18 +01:00
Kearwood "Kip" Gilbert 8a9a8857e4 Bug 1534390 - WebVR does not properly re-initialize after the VR service has stopped r=daoshengmu
WebVR will not initialize correctly (VR process will not be started and the headset data is frozen) for subsequent sessions in a new tab once the VR process has been shut down due to being idle.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 21:13:39 +00:00
sotaro c046c7a430 Bug 1531294 - Fix RecvEmptyTransaction() as to handle WebRenderTextureHostWrapper usage case
By Bug 1526213, WebRenderBridgeParent::RecvEmptyTransaction() does not handle a case that resource update is handled by WebRenderTextureHostWrapper. In this case, txn.IsResourceUpdatesEmpty() became true and the function thought there was no resource update and the function returned DidComposite soon to client side. Then it caused a heavy over production of SharedSurface_ANGLEShareHandle if GPU is not powerful.

Differential Revision: https://phabricator.services.mozilla.com/D22454
2019-03-12 21:48:34 +09:00
Bogdan Tara 8abdafbf10 Merge inbound to mozilla-central. a=merge 2019-03-12 11:51:39 +02:00
Timothy Nikkel 6061184923 Bug 1532245. Factor out component transfer code to a function in brush_blend shader for webreder. r=gw
Some phones can't compile the shader as is: "ERROR: 0:1448: '' : No default label can be nested inside other control flow nested within their corresponding switch"

https://github.com/servo/webrender/wiki/Driver-issues#bug-1532245---switch-statement-inside-control-flow-inside-switch-statement-fails-to-compile-on-some-android-phones

Differential Revision: https://phabricator.services.mozilla.com/D22853
2019-03-11 21:34:30 -05:00
Oana Pop Rus 69cfd60db1 Backed out changeset c32dcf4e6f92 (bug 1532245) for wrench failures 2019-03-12 00:29:04 +02:00
Timothy Nikkel 22a6c8b875 Bug 1532245. Factor out component transfer code to a function in brush_blend shader for webreder. r=gw
Some phones can't compile the shader as is: "ERROR: 0:1448: '' : No default label can be nested inside other control flow nested within their corresponding switch"

https://github.com/servo/webrender/wiki/Driver-issues#bug-1532245---switch-statement-inside-control-flow-inside-switch-statement-fails-to-compile-on-some-android-phones

Differential Revision: https://phabricator.services.mozilla.com/D22853
2019-03-11 17:01:40 -05:00
Henri Sivonen a24b99a70f Bug 1534255 - Enable out-of-process iframes to take APZ focus. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D22968

--HG--
extra : moz-landing-system : lando
2019-03-11 18:49:12 +00:00
Boris Zbarsky 5bf2e408e6 Bug 1534608. MOZ_CAN_RUN_SCRIPT should disallow non-stack refptr arguments. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D23217

--HG--
extra : moz-landing-system : lando
2019-03-13 00:30:11 +00:00
Narcis Beleuzu b72a1a06b5 Backed out changeset 5b73beb33ff1 (bug 1524090) as per jmuizelaar`s req. CLOSED TREE 2019-03-12 21:27:46 +02:00
Dorel Luca d16991b48d Backed out changeset ec39fd695adb (bug 1531294) for webrender failures 2019-03-12 05:33:33 +02:00
Dzmitry Malyshau b6ebaa6f8d Bug 1532174 - Roll back env_logger to 0.5 r=gw
needed to avoid duplicate dependencies

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

--HG--
extra : moz-landing-system : lando
2019-03-12 02:54:05 +00:00
Dzmitry Malyshau f64c5868d0 Bug 1532174 - Refactor get_relative_transform to not return an option r=gw
Just a refactor without any semantical changes.
Makes it for cleaner client code. Also prepares for caching of the world transforms.

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

--HG--
extra : moz-landing-system : lando
2019-03-12 02:27:29 +00:00
Dzmitry Malyshau cfb49f008a Bug 1532174 - Strongly typed vertex data stores in WR r=gw
Establishes a clear link of TransformData with the shader.
Associates a vertex data type permanently, which makes the code cleaner and allow finding the relevant bits quickly with search.

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

--HG--
extra : moz-landing-system : lando
2019-03-12 02:26:51 +00:00
Dzmitry Malyshau 176b658e7a Bug 1532174 - Enable env_logger by default in Wrench r=gw
Env logger is useful for:
  1. seeing error! generated by the code (by default). Sometimes it can give us hints on what is wrong with the capture, or a test right away.
  2. seeing processed shader compile/link errors, which is very useful when changing them

Given that wrench is the main debugging tool at the moment, enabling the logging output by default should increase our productivity, at the cost of slightly longer build times.

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

--HG--
extra : moz-landing-system : lando
2019-03-12 02:26:34 +00:00
sotaro ed7384e097 Bug 1531294 - Fix RecvEmptyTransaction() as to handle WebRenderTextureHostWrapper usage case r=mattwoodrow
By Bug 1526213, WebRenderBridgeParent::RecvEmptyTransaction() does not handle a case that resource update is handled by WebRenderTextureHostWrapper. In this case, txn.IsResourceUpdatesEmpty() became true and the function thought there was no resource update and the function returned DidComposite soon to client side. Then it caused a heavy over production of SharedSurface_ANGLEShareHandle if GPU is not powerful.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 23:05:58 +00:00
Jeff Muizelaar 96e163c84f Bug 1524090. Add telemetry for GPU wait time. r=mattwoodrow,chutten
Differential Revision: https://phabricator.services.mozilla.com/D22100

--HG--
extra : moz-landing-system : lando
2019-03-05 21:35:33 +00:00
Glenn Watson f2f661a64c Bug 1531170 - Fix WR hit testing breakage caused by stacking context clip changes. r=kvark
Recently, semantics for clips on stacking contexts were changed
such that primitives inherit the clip chain from all enclosing
stacking contexts. However, the hit testing code was not updated
to handle this change.

As each hit testing primitive is added, the current stack of
active stacking contexts is now scanned. Any valid clip chain
roots from the primitive and/or the stacking context stack are
added to the list of clip chain roots for this hit testing
primitive.

This patch also applies some optimizations and other cleanups
of the hit-testing code, specifically:

 - Instead of cloning the hit testing runs Vec every time a
   frame is built, store these in the new HitTestingScene. The
   HitTestingScene is built once per scene, and then shared by
   any hit tester instances via an Arc. This reduces a lot of
   memory allocations and copying during scrolling.
 - When creating a new HitTestingScene, pre-allocate the size
   of the arrays, based on the size of the previous hit testing
   structure. This works similarly to how arrays are sized
   in the PrimitiveStore.
 - Pre-calculate and cache a number of inverse transform matrices
   that were previously being calculated for each hit testing run.
 - Store hit testing primitives in a flat array, instead of runs,
   since there is no longer a single clip chain id per primitive.
 - Fix an apparent (?) bug in the existing hit testing code, where
   clipping out a single hit test primitive would break out of the
   loop for the current run of hit test items.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 16:19:21 +00:00
Boris Zbarsky 5879288b7b Bug 1533617 part 2. Improve MOZ_CAN_RUN_SCRIPT annotations around APZ tap events. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22836

--HG--
extra : moz-landing-system : lando
2019-03-11 14:18:51 +00:00
Kartikaya Gupta d4625082c4 Bug 1531130 - Add some missing null checks. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D22955

--HG--
extra : moz-landing-system : lando
2019-03-11 14:18:58 +00:00
Andreea Pavel 5a60df453a Backed out changeset 5f7ea2187fa6 (bug 1533527) for build bustages on a CLOSED TREE 2019-03-10 03:50:15 +02:00
Jeff Gilbert 8235aa9f56 Bug 1533527 - Forbid non-size_t calls to malloc and calloc. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D22627

--HG--
extra : moz-landing-system : lando
2019-03-09 17:40:54 +00:00
Henri Sivonen decc78f432 Bug 1530661 - Make APZ report the per LayersId layer-to-screen transform matrices to the chrome process. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22082

--HG--
extra : moz-landing-system : lando
2019-03-09 20:33:17 +00:00
Dorel Luca 23fb3d3791 Merge mozilla-inbound to mozilla-central. a=merge 2019-03-09 11:47:52 +02:00
Bogdan Tara e3008ee390 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-03-08 23:57:07 +02:00
Bogdan Tara 738b07a929 Merge inbound to mozilla-central. a=merge 2019-03-08 23:52:28 +02:00
Bobby Holley af5a99b2ad Bug 1532810 - Report long-running GL calls to the profiler. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22202
2019-03-08 13:34:49 -08:00
Bobby Holley fa27fe3954 Bug 1532810 - Update gleam. r=me 2019-03-08 13:34:48 -08:00
shindli b483c4a572 Backed out 3 changesets (bug 1532810) for wrench bustages CLOSED TREE
Backed out changeset 866b6d9949a8 (bug 1532810)
Backed out changeset 1cb006402562 (bug 1532810)
Backed out changeset 24b9ae45e4fa (bug 1532810)
2019-03-08 19:41:32 +02:00
Bobby Holley 843df28fb1 Bug 1532810 - Update Cargo.lock to fix wrench bustage on a CLOSED TREE. r=me 2019-03-08 09:37:26 -08:00
Bobby Holley c1cbf37e13 Bug 1532810 - Report long-running GL calls to the profiler. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22202
2019-03-08 09:16:50 -08:00
Bobby Holley b49d9f5234 Bug 1532810 - Update gleam. r=me 2019-03-08 09:16:49 -08:00
Nicolas Silva fc4df4b5f7 Bug 1533282 - Restore the debugging options in wrench/script/headless.py. r=kvark,kats
Differential Revision: https://phabricator.services.mozilla.com/D22458

--HG--
extra : source : 84b7e225952a06c95cc415abf497e8295e644ad6
2019-03-08 11:15:32 +01:00
Kartikaya Gupta 1889f4e164 Bug 1532284 - Build wrench on Android. r=glandium
Depends on D22377

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

--HG--
extra : moz-landing-system : lando
2019-03-08 00:37:46 +00:00
Kartikaya Gupta b4182026be Bug 1532284 - Build using android-28. r=gw
This is the SDK version we use to build other Android stuff in
mozilla-central. It's simpler if we build Wrench using the same
target since we can reuse the toolchains.

Depends on D22376

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

--HG--
extra : moz-landing-system : lando
2019-03-07 17:34:50 +00:00
Kartikaya Gupta d1e8fe8a40 Bug 1532284 - Fix rustc compiler warnings when building wrench for Android. r=gw
Various variables are unused when building for Android.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 17:34:50 +00:00
arthur.iakab 77aa564189 Merge mozilla-central to autoland 2019-03-08 06:41:04 +02:00
arthur.iakab 013bbfceb8 Merge inbound to mozilla-central a=merge 2019-03-08 06:39:50 +02:00
arthur.iakab eba6cadac2 Merge mozilla-central to mozilla-inbound 2019-03-08 00:19:35 +02:00
Ciure Andrei 5b0d4e70f1 Backed out changeset 664fd8f4cc02 (bug 1533282) for causing a wrench bustage CLOSED TREE 2019-03-07 19:17:34 +02:00
Miko Mynttinen 2ab05c6458 Bug 1526941 - Part 4: Remove mStoredList from nsDisplayTransform r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21187

--HG--
extra : moz-landing-system : lando
2019-03-07 17:13:17 +00:00
Ciure Andrei 07a1cbed27 Backed out changeset da9a99c4896c (bug 1531975) for causing PersistentBufferProvider build bustages CLOSED TREE 2019-03-07 18:44:24 +02:00
Nicolas Silva a9c6312e6e Bug 1533282 - Restore the debugging options in wrench/script/headless.py. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D22458

--HG--
extra : moz-landing-system : lando
2019-03-07 14:16:44 +00:00
Lee Salzman 3e26da96a3 Bug 1531975 - just do a gfxCriticalNote on buffer-provider over-production instead of an error r=nical
Differential Revision: https://phabricator.services.mozilla.com/D22518

--HG--
extra : moz-landing-system : lando
2019-03-07 16:08:34 +00:00
Jamie Nicol b112738bcb Bug 1528820 - Work around Adreno bug when blitting to texture array. r=kvark
There is a bug on Adreno GPUs where glBlitFramebuffers always writes
to the 0th layer of a texture array, regardless of which layer is
actually attached to the draw framebuffer.

With picture caching enabled on webrender, the cached pictures were
all being drawn to the 0th layer of the picture cache texture array,
leaving the other layers blank. This was resulting in the wrong
content being drawn on one tile of the screen, and the rest being
black.

This works around this by blitting to an intermediate renderbuffer,
then using glCopyTexSubImage3D to copy from the renderbuffer to the
correct texture layer.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 14:02:50 +00:00
Jamie Nicol 783cdd7d41 Bug 1528820 - Make Device::blit_render_target() require read and draw targets as arguments. r=kvark
Same for blit_render_target_invert_y(). Make them wrappers around the
private function blit_render_target_impl(), which uses the currently
bound read and draw targets as before.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 14:02:46 +00:00
Brian Birtles b956fdbf9f Bug 1532568 - Don't pass the display item types to FrameLayerBuilder::EnumerateGenerationForDedicatedLayers; r=hiro
We always pass the same set of types so it seems simpler to just look it up
within the function itself.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 05:40:24 +00:00
Brian Birtles 46f45a965b Bug 1532568 - Look up the animation generation on the primary frame for transform display items; r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D22443

--HG--
extra : moz-landing-system : lando
2019-03-07 05:40:51 +00:00
Coroiu Cristina d234f2549a Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-03-07 06:39:14 +02:00
Coroiu Cristina 24aacfe9a4 Merge inbound to mozilla-central a=merge 2019-03-07 06:34:11 +02:00
Lee Salzman 3abe8f0cf3 Bug 1531975 - just do a gfxCriticalNote on buffer-provider over-production instead of an error r=nical
Differential Revision: https://phabricator.services.mozilla.com/D22518
2019-03-07 10:51:17 -05:00
sotaro 81c5f1f2b3 Bug 1532942 - Use EGLConfig as argument of CreateEGLSurfaceForCompositorWidget() r=jgilbert
EGLConfig could be get from GLContextEGL. It is better to use it than re-creating EGLConfig.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 19:00:38 +00:00
Lee Salzman 91d9a90e20 Bug 1533139 - pass in raster scale to text run shader without inverting r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22379

--HG--
extra : moz-landing-system : lando
2019-03-06 21:39:04 +00:00
Lee Salzman f4c05292a1 Bug 1527531 - calculate glyph subpixel positions using the precise font transform r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D22349

--HG--
extra : moz-landing-system : lando
2019-03-06 20:40:53 +00:00
Bobby Holley ec2f81db57 Bug 1531196 - Add a "small-screen" debug pref to shrink the overlay a bit. r=gw
Adaptive sizing would be better, but this is the simplest path to
victory.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 20:32:32 +00:00
Lee Salzman 18932c1c7f Bug 1522787 - downscale bitmap glyphs to avoid filtering artifacts r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22704
2019-03-08 08:48:38 -05:00
Glenn Watson e920cc3f6a Bug 1533236 - Add a fast path to WR for common gradient types. r=kvark
The existing linear gradient shader is quite slow, especially
on very large gradients on integrated GPUs.

The vast majority of gradients in real content are very simple
(typically < 4 stops, no angle, no repeat). For these, we can
run a fast path to persist a small gradient in the texture cache
and draw the gradient via the image shader.

This is _much_ faster than the catch-all gradient shader, and also
results in better batching while drawing the main scene.

In future, we can expand the fast path to handle more cases, such
as angled gradients. For now, it takes a conservative approach,
but still seems to hit the fast path on most real content.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 21:20:40 +00:00
sotaro d5c91bd359 Bug 1532457 - Gracefully handle non WebRenderTextureHost case r=nical
Differential Revision: https://phabricator.services.mozilla.com/D22256

--HG--
extra : moz-landing-system : lando
2019-03-07 16:15:17 +00:00
Emilio Cobos Álvarez cd9ccbbe42 Bug 1533142 - followup: Fix Windows MinGW bustage. r=me 2019-03-07 00:34:19 +01:00
Emilio Cobos Álvarez cb19991fd7 Bug 1533142 - Use more cbindgen features. r=kats
We can get back the fancy flag syntax as soon as we get C++17 inline variables,
which I sent an email to dev-platform@ about, with no reply.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 23:01:11 +00:00
Csoregi Natalia fb77726639 Merge mozilla-central to autoland. CLOSED TREE 2019-03-06 18:14:27 +02:00
Csoregi Natalia 5916c8397a Merge inbound to mozilla-central. a=merge 2019-03-06 18:11:32 +02:00
Kartikaya Gupta b038cea28b Bug 1532917 - Remove dead codepath. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D22268

--HG--
extra : moz-landing-system : lando
2019-03-06 11:25:10 +00:00
sotaro ec92048ab6 Bug 1532510 - Add a check by IsDestroyed() to WebRenderLayerManager::DidComposite() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D22044

--HG--
extra : moz-landing-system : lando
2019-03-06 10:25:01 +00:00
Csoregi Natalia fbb251448f Merge inbound to mozilla-central. a=merge 2019-03-06 11:56:17 +02:00
Kearwood "Kip" Gilbert cbc8b87365 Bug 1530663 - Avoid running remaining VRManager tasks after mTaskTimer has been stopped r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D22188

--HG--
extra : moz-landing-system : lando
2019-03-05 22:32:58 +00:00
Sebastian Hengst 806a60c6af Bug 1532992 - Set 'Core :: WebVR' as default bugzilla product and component for gfx/vr/ r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22298

--HG--
extra : moz-landing-system : lando
2019-03-06 14:45:43 +00:00
Bas Schouten 027d1994fb Bug 1526045 - Part 3: Ensure DrawTarget validity inside gfxBlur::InitDrawTarget. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D21900

--HG--
extra : rebase_source : 3bba335a9582d706a8c537358ad37b6d1be0e7fc
2019-03-04 10:49:02 +01:00
Bas Schouten ef0300b3f8 Bug 1521774 - Part 2: Ensure a device is available when attempting to create a device context. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D21899

--HG--
extra : rebase_source : e193dac57302af15820bfaa774540797cde2a0c3
2019-03-04 10:33:19 +01:00
Kartikaya Gupta 0e6edbd173 Bug 1532647 - Re-enable test_group_zoom on webrender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D22093

--HG--
extra : moz-landing-system : lando
2019-03-05 18:19:48 +00:00
Ciure Andrei 698d0759ec Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-03-05 06:24:16 +02:00
Ciure Andrei 253bf420a1 Merge inbound to mozilla-central. a=merge 2019-03-05 06:20:52 +02:00
Jeff Muizelaar 4febae72fc Bug 1495170. Use CreateClippedDrawTarget more. r=mstange
This lets us restrict the size of the mask surface that we allocate
to the destination tile size. This gives a large performance
improvement.

It also includes some miscelanous fixes to the CreateClippedDrawTarget
code path.

Differential Revision: https://phabricator.services.mozilla.com/D21750
2019-03-04 22:30:09 -05:00
Jeff Muizelaar acbf363d37 Bug 1495170. Handle mask offsets.
Differential Revision: https://phabricator.services.mozilla.com/D21749
2019-03-04 22:30:08 -05:00
Jeff Muizelaar 967d03ef66 Bug 1531532. Use preTranslate instead of postTranslate when correcting for the mask offset. r=mattwoodrow
DTO = DrawTargetOffset = (-Origin.x, -Origin.y)
CTM = CurrentTransform
MASKT = MaskTransform = Inv(CurrentTransform)
MASKO = MaskOffset = (GetRect().x, GetRect().y)

The transform to device space is:

MASKT * CTM * DTO

Currently we do:
MASKT = MASKT * MASKO

Which gives us MASKT * MASKO * CTM * DTO. This works fine if there's no scale but
will not properly cancel out if there is.

I believe we want:
MASKO * MASKT * CTM * DTO

To get this we need to preTranslate instead of postTranslate.

Differential Revision: https://phabricator.services.mozilla.com/D21604
2019-03-04 22:30:06 -05:00
Ciure Andrei 5ebab45abd Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-03-04 23:54:12 +02:00
Alex Gaynor 38a2064d1e Bug 1441651 - Part 2 - pass Shmem and ByteBuf by rvalref to Send* IPC methods; r=nika,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D19954

--HG--
extra : moz-landing-system : lando
2019-03-04 16:35:30 +00:00
Alex Gaynor 82df5a3cd4 Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D19953

--HG--
extra : moz-landing-system : lando
2019-03-04 16:07:37 +00:00
Andreea Pavel 059caa6443 Backed out changeset adf5830d08b5 (bug 1532171) for build bustages on a CLOSED TREE 2019-03-04 23:07:02 +02:00
Ryan Hunt 36f945fb89 Bug 1531528 - Rename CrossProcessCompositorBridgeParent to ContentCompositorBridgeParent. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21714

--HG--
rename : gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp => gfx/layers/ipc/ContentCompositorBridgeParent.cpp
rename : gfx/layers/ipc/CrossProcessCompositorBridgeParent.h => gfx/layers/ipc/ContentCompositorBridgeParent.h
extra : moz-landing-system : lando
2019-03-03 21:02:25 +00:00
Kartikaya Gupta fecd1d365c Bug 1511740 - Use nsDisplayAsyncZoom items to insert zooming animations in WR. r=jrmuizel,botond
The way we control APZ zooming in WebRender is by inserting an animation
property placeholder on a WR stacking context, and then having APZ
update the animation transform value with the proper matrix at composite
time.

Previously, the stacking context being used was the rootmost
stacking context in the content process. However this doesn't work for
zoomable content in the UI process (e.g. about:support), and after
recent changes, also wraps display items that should not be affected by
zoom (e.g. scrollbars or the background color item).

This patch moves the animation property placeholder so that it
corresponds to the newly added nsDisplayAsyncZoom display item, which
corrects both of the above problems and is conceptually in line with the
desired behaviour.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 20:55:46 +00:00
Lee Salzman f4063ee685 Bug 1532171 - don't use light-on-dark mask when font smoothing is disabled on macOS r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D22006

--HG--
extra : moz-landing-system : lando
2019-03-04 20:49:28 +00:00
Glenn Watson 31fb2275a2 Bug 1531524 - Support running wrench on Android. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D21881

--HG--
extra : moz-landing-system : lando
2019-03-04 18:49:52 +00:00
Dzmitry Malyshau fbd7d832eb Bug 1531930 - Interneration refactoring r=gw
Remove the intern_types module in favor of the associated Internable types that we already have.
The only bit of magic I had to do is around serialization bounds, and it's nicely isolated.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 16:48:40 +00:00
Lee Salzman dd8353d50b Bug 1532171 - don't use light-on-dark mask when font smoothing is disabled on macOS r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D22006
2019-03-04 15:45:04 -05:00
Andrew Osmond 8e407b7327 Bug 1526756 - Snap brushes for pictures to the primitive instead of visible rect. r=kvark
A picture can have its own unique clip which was not considered by its
children when calculating their visible rects. As a result, if a picture
clips its primitive rect for snapping purposes, it may produce a
different snapping offset than expected. We should instead just snap to
the primitive rect itself for the picture, since it is the union of the
visible rects that we snapped to for the children.

Differential Revision: https://phabricator.services.mozilla.com/D21778
2019-03-04 14:21:18 -05:00
Bogdan Tara f516b0e3b5 Backed out changeset 458edf3460d4 (bug 1531930) for tidy bustage CLOSED TREE 2019-03-04 05:58:40 +02:00
Dzmitry Malyshau 2ef785bda1 Bug 1531930 - Interneration refactoring r=gw
Remove the intern_types module in favor of the associated Internable types that we already have.
The only bit of magic I had to do is around serialization bounds, and it's nicely isolated.

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

--HG--
extra : moz-landing-system : lando
2019-03-03 21:14:49 +00:00
Ryan VanderMeulen 92d11a3325 Bug 1531912 - Update OTS to 7.1.9. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D21787

--HG--
extra : moz-landing-system : lando
2019-03-02 15:32:15 +00:00
Jeff Muizelaar 70f8b5c221 Bug 1532088. Use ImageMask directly instead of duplicating it as WrImageMask. r=kats
WrImageMask is a relic from before we had good bindings generation.

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

--HG--
extra : moz-landing-system : lando
2019-03-02 21:48:06 +00:00
Kartikaya Gupta 636fc77e72 Bug 1525570 - Add a test for preventDefault on pinch zooms. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D21421

--HG--
extra : moz-landing-system : lando
2019-03-02 11:09:48 +00:00
Kartikaya Gupta bbac39e1ba Bug 1525570 - Propagate preventDefault from first to subsequent touchstarts. r=botond
Other mobile browsers disallow browser-based pinch zooming when the
first touchstart is preventDefaulted, even if the second one is not. We
allowed pinch zooming in that scenario. This patch makes it so that if
the first touchstart is preventDefaulted, then subsequent touchstart
events are also preventDefaulted, which brings our behaviour in line
with that of other browsers.

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

--HG--
extra : moz-landing-system : lando
2019-03-02 11:09:31 +00:00
Kartikaya Gupta dab2b8c919 Bug 1525570 - Move TouchCounter to apz/util/ and allow counting WidgetTouchEvent too. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D21577

--HG--
rename : gfx/layers/apz/src/TouchCounter.cpp => gfx/layers/apz/util/TouchCounter.cpp
rename : gfx/layers/apz/src/TouchCounter.h => gfx/layers/apz/util/TouchCounter.h
extra : moz-landing-system : lando
2019-03-02 11:09:16 +00:00
Razvan Maries c51046f730 Merge mozilla-inbound to mozilla-central a=merge 2019-03-02 11:41:18 +02:00
sotaro 67db62a696 Bug 1530928 - Add TextureClient recycling to SharedRGBImage r=nical
Differential Revision: https://phabricator.services.mozilla.com/D21325

--HG--
extra : moz-landing-system : lando
2019-03-01 23:24:00 +00:00
sotaro 055881c3c0 Bug 1506665 - Add more GLContext failure handling r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D19623

--HG--
extra : moz-landing-system : lando
2019-03-01 22:37:37 +00:00
Lee Salzman 7898b14471 Bug 1531867 - support light and dark subpixel AA masks in Skia on mac. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D21763
2019-03-01 14:01:58 -05:00
Dorel Luca 779e796798 Backed out 3 changesets (bug 1525570) for mochitest failures in gfx/layers/apz/test/mochitest/test_group_zoom.html | helper_zoom_prevented.html
Backed out changeset ee394d0b085d (bug 1525570)
Backed out changeset 77625f533af6 (bug 1525570)
Backed out changeset cd326f5e4eb8 (bug 1525570)

--HG--
rename : gfx/layers/apz/util/TouchCounter.cpp => gfx/layers/apz/src/TouchCounter.cpp
rename : gfx/layers/apz/util/TouchCounter.h => gfx/layers/apz/src/TouchCounter.h
2019-03-01 23:28:36 +02:00
Kartikaya Gupta 885a3e0d5e Bug 1525570 - Add a test for preventDefault on pinch zooms. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D21421

--HG--
extra : moz-landing-system : lando
2019-02-28 18:40:45 +00:00
Kartikaya Gupta 9e38acbf5a Bug 1525570 - Propagate preventDefault from first to subsequent touchstarts. r=botond
Other mobile browsers disallow browser-based pinch zooming when the
first touchstart is preventDefaulted, even if the second one is not. We
allowed pinch zooming in that scenario. This patch makes it so that if
the first touchstart is preventDefaulted, then subsequent touchstart
events are also preventDefaulted, which brings our behaviour in line
with that of other browsers.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 20:18:00 +00:00
Kartikaya Gupta b8f269fdda Bug 1525570 - Move TouchCounter to apz/util/ and allow counting WidgetTouchEvent too. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D21577

--HG--
rename : gfx/layers/apz/src/TouchCounter.cpp => gfx/layers/apz/util/TouchCounter.cpp
rename : gfx/layers/apz/src/TouchCounter.h => gfx/layers/apz/util/TouchCounter.h
extra : moz-landing-system : lando
2019-03-01 20:17:58 +00:00
Botond Ballo 83a64ce389 Bug 1519621 - Make sure ScrollToRestoredPosition() restores both the layout and visual scroll positions. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D18367

--HG--
extra : moz-landing-system : lando
2019-03-01 20:18:35 +00:00
Dzmitry Malyshau 79ad259c7c Bug 1531217 - Document origin rewrite and framebuffer coordinates r=gw,nical
The goal of this change was to simplify the semantics of our document placement and split the logical elements inside (display list) from the actual screen rectangle occupied by a document.
To achieve that, we introduce the framebuffer space for things Y-flipped on screen.
We fix the frame outputs, so that they get produced on the first frame without loopback from the frame building to scene building.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 17:16:59 +00:00
Csoregi Natalia b2672c85cf Backed out changeset 93f7dc3084a1 (bug 1531217) for wrench failures. CLOSED TREE 2019-03-01 18:48:30 +02:00
Dzmitry Malyshau 57074df49b Bug 1531776 - Spew debug messages on GL error r=nical
example error
ERROR 2019-03-01T15:23:27Z: webrender::device::gl: (error) GL_INVALID_ENUM error generated. Invalid primitive mode.
thread 'main' panicked at 'Caught GL error 500 at 'draw_elements_instanced'', webrender/src/device/gl.rs:1098:17
note: Run with `RUST_BACKTRACE=1` for a backtrace.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 15:42:33 +00:00
Dzmitry Malyshau a8d4f45a20 Bug 1531217 - Document origin rewrite and framebuffer coordinates r=gw,nical
The goal of this change was to simplify the semantics of our document placement and split the logical elements inside (display list) from the actual screen rectangle occupied by a document.
To achieve that, we introduce the framebuffer space for things Y-flipped on screen.
We fix the frame outputs, so that they get produced on the first frame without loopback from the frame building to scene building.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 14:25:36 +00:00
Gurzau Raul a218f01445 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-01 15:14:00 +02:00
Gurzau Raul 6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Jeff Gilbert 1f7155219e Bug 1531022 - Mark unused return. - r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D21599

--HG--
extra : moz-landing-system : lando
2019-02-28 21:06:07 +00:00
Alex Gaynor f789c68941 Bug 1531476 - replace MaybeFileDesc with FileDescriptor? in IPDL; r=mccr8
Also contains a small amount of unrelated devirtualization of IPC methods.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 21:20:40 +00:00
Glenn Watson c01089654e Bug 1531248 - Reduce the number of resolve / copy steps in WR on mobile devices. r=kvark
This patch fixes some wasted GPU time on mobile devices due to
redundant resolve / copy steps.

In the first case, we would previously do:
 - Global clear of color / depth on main framebuffer.
 - Bind and draw off-screen targets.
 - Bind main framebuffer and draw scene.

Between step 1 and 2, a resolve step is triggered on tiled GPU
drivers, wasting a lot of GPU time. To fix this, the clear is
now deferred until the framebuffer of the first document is
drawn. This does slightly change the semantics of how WR does
clear operations, but I think it works fine and makes more sense.

In the second case, we would previously do:
 - ...
 - Draw main framebuffer
 - End frame and invalidate the contents of input textures.
 - Bind main framebuffer and draw debug overlay.

This also introduces an extra resolve / copy step, even if the
debug overlay is not enabled. To fix this, the invalidation step
of the input textures to the main framebuffer pass is deferred
until all drawing is complete on the main framebuffer, by doing
the invalidation in the end_frame() call of the texture resolver.

Together, these save a very significant amount of ms per frame
in GPU time on the mobile devices I tested.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 19:50:44 +00:00
Doug Thayer 2353e50eed Bug 1441308 - Fix picture-caching interaction with doc spitting r=gw
This is a stab at what the correct approach to this should be. It
seems that we should be using the window size here and not the
screen_rect, as the screen_rect is not used to offset what we
normally draw, but instead generally for scissoring(?). The end
result is if we use an offset screen_rect, we end up applying
the offset of the chrome area twice, once because the document's
screen rect is offset, and once because of the tile.world_rect
offset.

Depends on D20696

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

--HG--
extra : moz-landing-system : lando
2019-02-28 19:15:15 +00:00
Nicolas Silva 9ad4994f85 Bug 1530978 - Show profiler stats averaged over half a second instead of 600 frames. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D21392

--HG--
extra : moz-landing-system : lando
2019-02-27 20:00:56 +00:00
Nicolas Silva e5891efca7 Bug 1530730 - Update plane-split to 0.13.7. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D21503

--HG--
extra : moz-landing-system : lando
2019-02-28 16:04:29 +00:00
Kartikaya Gupta a23137f08f Bug 1531512 - Mark unused variables as unused for non-windows. r=kvark
rustc 1.33 is smart enough to detect and complain about this.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 04:04:46 +00:00
Lee Salzman 0c46a0c440 Bug 1530471 - remove prefs for related to SkiaGL canvas r=jrmuizel
Depends on D21055

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

--HG--
extra : moz-landing-system : lando
2019-02-28 15:00:36 +00:00
Lee Salzman 7b51528692 Bug 1530471 - remove layers SkiaGL glue r=jrmuizel
Depends on D21054

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

--HG--
extra : moz-landing-system : lando
2019-02-28 15:00:06 +00:00
Lee Salzman 1ddc82c081 Bug 1530471 - remove GLContext SkiaGL glue r=jgilbert
Depends on D21053

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

--HG--
extra : moz-landing-system : lando
2019-02-25 21:27:42 +00:00
Lee Salzman a330f87601 Bug 1530471 - remove Moz2D/thebes SkiaGL glue r=jrmuizel
Depends on D21052

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

--HG--
extra : moz-landing-system : lando
2019-02-28 14:59:16 +00:00
Lee Salzman e043d5b982 Bug 1530471 - don't build Skia GPU support r=rhunt
Depends on D21051

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

--HG--
extra : moz-landing-system : lando
2019-02-25 22:16:10 +00:00
sotaro bb1cae8db3 Bug 1531300 - Handle multiple moz_container_unmap_wayland()/moz_container_map_wayland() r=stransky
Bug 1527804 did not expect multiple moz_container_unmap_wayland()/moz_container_map_wayland() calls. inital_draw_cb should not be cleared in multiple moz_container_unmap_wayland().

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

--HG--
extra : moz-landing-system : lando
2019-02-28 13:33:02 +00:00
Cosmin Sabou 48fed2590e Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 7b6922917d1ee0d20fd7127648e1fe5e422a1bd9
2019-02-28 16:33:22 +02:00
Cosmin Sabou 00f3836a87 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-28 12:57:50 +02:00
Henri Sivonen 944e9f4198 Bug 1524239 - Attach the LayersId of the process-top-level layer that has focus to keyboard events. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D20308

--HG--
extra : moz-landing-system : lando
2019-02-27 21:09:51 +00:00
Ryan Hunt 01e0f968e2 Bug 1532499 - Rename 'mCrossProcessParent' to 'mContentCompositorBridgeParent'. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22043

--HG--
extra : rebase_source : 37ede01f81c190ec11ff1f2bca8450122466dd22
extra : histedit_source : 5575e3c632093efc90e0d1402a336fdb29048c59
2019-03-04 19:37:37 -06:00
Ryan Hunt 69221cd220 Bug 1532499 - Update comment in PCompositorBridge.ipdl. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22042

--HG--
extra : rebase_source : 3a32a79e7cb9b6f84de34f5f92c45cab325efe97
extra : histedit_source : cfeb26b149264cb904d5ee76ffc2b839acdfed89
2019-03-04 19:36:43 -06:00
Daosheng Mu c0b00b66d1 Bug 1533914 - Replace gfxVRMutex.h to LF type. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D22799

--HG--
extra : moz-landing-system : lando
2019-03-09 00:09:11 +00:00
Bogdan Tara b0eb662a5f Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-08 23:55:49 +02:00
Kartikaya Gupta 438fafd2a1 Bug 1532708. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D22756

--HG--
extra : moz-landing-system : lando
2019-03-08 20:00:37 +00:00
Daosheng Mu f915776a15 Bug 1530489 - Checking VRGPUParent is available before closing it. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D21064

--HG--
extra : moz-landing-system : lando
2019-02-27 22:38:58 +00:00
Matt Woodrow 6b3937aa72 Bug 1529795 - Record profiler markers when we drop video frames. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D20755

--HG--
extra : moz-landing-system : lando
2019-02-27 17:35:05 +00:00
Jonathan Kingston f6680698bd Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881

--HG--
extra : moz-landing-system : lando
2019-02-27 23:42:27 +00:00
Jonathan Kingston c4853316e7 Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770

--HG--
extra : moz-landing-system : lando
2019-02-27 23:41:31 +00:00
Jonathan Kingston f7e35ae39e Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769

--HG--
extra : moz-landing-system : lando
2019-02-27 23:41:04 +00:00
Jean-Yves Avenard 2e80526126 Bug 1530977 - Initialize D3D devices immediately when e10s is not active. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21352

--HG--
extra : moz-landing-system : lando
2019-02-27 19:42:42 +00:00
Jeff Gilbert 19556f5ef5 Bug 1420745 - dlsym from lib before wsiGetProcAddress. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D21309

--HG--
extra : moz-landing-system : lando
2019-02-27 15:08:59 +00:00
Kartikaya Gupta 778cca9d62 Bug 1524418 - Avoid crashing content process with giant drawtarget. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D21230

--HG--
extra : moz-landing-system : lando
2019-02-27 17:34:23 +00:00
Henri Sivonen 8e8d7fd5e3 Bug 1528725 - Hit-test pointer events against out-of-process iframes in WebRender mode. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D20470

--HG--
extra : moz-landing-system : lando
2019-02-27 16:15:07 +00:00
James Willcox 61ca9441b1 Bug 1525959 - Skip some mochitests tests under GeckoView r=geckoview-reviewers,esawin
There are few things that are either Fennec-specific or don't work
currently under GeckoView w/ e10s under TestRunnerActivity. Disable
these so we can get some testing going in automation.

This also replaces 'isFennec' with the more correct 'is_fennec'.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 15:01:43 +00:00
Dorel Luca 3f139c9c3f Backed out 2 changesets (bug 1529117) for build bustage
Backed out changeset 82cfcc2f5fac (bug 1529117)
Backed out changeset d9fd8225a95f (bug 1529117)
2019-02-27 13:27:50 +02:00
Kartikaya Gupta 0699c44e5a Bug 1529117 - Bump serde and serde_derive to branch from 1.0.88. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D20460

--HG--
extra : moz-landing-system : lando
2019-02-27 11:09:50 +00:00
Glenn Watson fde9185d49 Bug 1530915 - Change external scroll offset to be a vector. r=emilio
Change the external scroll offset to be a vector, rather than a
point. This can also be updated gecko-side in future, but for
now is converted to a vector at the API boundary.

Also plumb through the external scroll offset so that it is stored
inside the ScrollFrameInfo in a spatial node. This will allow
modifying the transforms that the clip-scroll tree creates to
take into account the external scroll offset in future.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 05:26:50 +00:00
Daosheng Mu 1048e35c21 Bug 1530588 - Remove duplicate copy of geckoState in VRSystemManagerExternal::PushState. r=kip
MozReview-Commit-ID: Emmkw2CazxB

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

--HG--
extra : moz-landing-system : lando
2019-02-27 00:02:06 +00:00
Kartikaya Gupta 41138306e0 Bug 1527807 - Disable subpixel AA on Android. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D21269

--HG--
extra : moz-landing-system : lando
2019-02-26 21:39:07 +00:00
Kartikaya Gupta deff2f485b Bug 1392259 - Drop reference to outstanding issue since the issue was resolved. r=me and DONTBUILD 2019-02-27 16:43:43 -05:00
Daniel Varga 3599b0576d Merge mozilla-central to mozilla-inbound. a=merge
--HG--
rename : browser/base/content/test/general/browser_bug655584.js => browser/components/urlbar/tests/browser/browser_switchTab_closesUrlbarPopup.js
rename : browser/base/content/test/general/browser_bug555767.js => browser/components/urlbar/tests/browser/browser_switchToTab_closes_newtab.js
rename : mobile/android/themes/core/about.css => toolkit/themes/mobile/global/about.css
rename : mobile/android/themes/core/aboutMemory.css => toolkit/themes/mobile/global/aboutMemory.css
rename : mobile/android/themes/core/aboutSupport.css => toolkit/themes/mobile/global/aboutSupport.css
extra : rebase_source : 5fd5811cdafdf926348a80fbb1a1427b9c113f90
2019-02-27 18:36:49 +02:00
Chris Peterson 13d583f829 Bug 1528881 - Part 9: gfx/layers: Move CreateTextureHostBasic/D3D11/OGL() function declarations to header files. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

In this case, moving these functions' declarations to header files means the same declaration will be seen by the .cpp files defining each function and TextureHost.cpp calling the functions.

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

--HG--
extra : source : ffeda0b30541127073de4892ba3e1a6e8bd0f15f
extra : intermediate-source : 22238a64f3da13ed0f8de826092def10a427a55a
extra : histedit_source : b6f1c1e39ddf16f7e5716eb07915114b94204174
2019-02-17 23:05:15 -08:00
Chris Peterson 8cd5f7de32 Bug 1528881 - Part 8: gfx/layers: Move ShutdownTileCache() function declaration to header file. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

In this case, moving ShutdownTileCache()'s function declaration to the header file TiledContentClient.h means the same declaration will be seen by the TiledContentClient.cpp file defining the function and the gfxPlatform.cpp calling the function.

gfx/layers/client/TiledContentClient.cpp:337:6 [-Wmissing-prototypes] no previous prototype for function 'ShutdownTileCache'

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

--HG--
extra : source : 495273cd3fdc65f353d5562573503fc897760603
extra : histedit_source : fab19badff1cadd66212cf182978217b398c0fe6
2019-02-17 14:18:57 -08:00
Chris Peterson bac6d697ae Bug 1528881 - Part 6: gfx/layers: Make some global functions static. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/layers/composite/ContainerLayerComposite.cpp:132:6 [-Wmissing-prototypes] no previous prototype for function 'TransformLayerGeometry'
gfx/layers/composite/LayerManagerComposite.cpp:1409:6 [-Wmissing-prototypes] no previous prototype for function 'ComputeVisibleRegionForChildren'
gfx/layers/composite/LayerManagerComposite.cpp:234:6 [-Wmissing-prototypes] no previous prototype for function 'ShouldProcessLayer'
gfx/layers/composite/TiledContentHost.cpp:156:6 [-Wmissing-prototypes] no previous prototype for function 'UseTileTexture'
gfx/layers/ipc/CompositorBridgeParent.cpp:1827:6 [-Wmissing-prototypes] no previous prototype for function 'EraseLayerState'
gfx/layers/ipc/CompositorBridgeParent.cpp:2140:6 [-Wmissing-prototypes] no previous prototype for function 'UpdateIndirectTree'
gfx/layers/opengl/OGLShaderProgram.cpp:28:6 [-Wmissing-prototypes] no previous prototype for function 'AddUniforms'

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

--HG--
extra : source : f5653a8b1bc5a02cf899fe87cb3ebc9796b0b0b1
extra : histedit_source : 4f44f15098c42b4b1fa141de7b8593c128b58596
2019-02-17 14:25:01 -08:00
Andrew Osmond 2377303d82 Bug 1530774 - Part 1. Remove support in FrameAnimator for blending partial/paletted frames. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D23714
2019-03-18 07:30:34 -04:00
Barret Rennie f9efa579d1 Bug 1444449 - Implement CompositorD3D11::BlitRenderTarget r=bas
Differential Revision: https://phabricator.services.mozilla.com/D18147

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
Barret Rennie 8366a43e96 Bug 1444449 - Implement AsyncReadbackBuffer APIs for CompositorD3D11 r=mstange,bas
Differential Revision: https://phabricator.services.mozilla.com/D18146

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
Barret Rennie d31c311fda Bug 1444449 - Implement CompositorD3D11::GetWindowRenderTarget API r=mstange,bas
Differential Revision: https://phabricator.services.mozilla.com/D18145

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
shindli c442603050 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-26 18:58:45 +02:00
shindli c780ef516c Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-26 12:20:22 +02:00
Bas Schouten a4220fc608 Bug 1526045 - Part 2: Verify all DrawTargets created through CreateOffscreenContentDrawTarget. r=rhunt
Preferrably CreateOffscreenContentDrawTarget would create Capture DrawTargets when we intend to use OMTP. This is not the case at the moment though and changing this would likely introduce more unforseen issues. For now all of these calls basically mean a DrawTarget will be used on the main thread and we should use a no-op ClearRect to ensure that the DrawTarget is actually initialized. Since IsValid for the moment won't do this for DrawTargetD2D. (See bug 1521368)

--HG--
extra : rebase_source : 6a5c1732d3908be748ea4d05668f4a7562828f6a
2019-02-26 08:46:08 +01:00
Glenn Watson 1008811aea Bug 1530518 - Refactor the way stacking context coords are converted to reference frame coords. r=emilio
This doesn't introduce any functional changes. However, it refactors
the way that stacking context coords are converted into reference
frame relative coordinates.

Having a single method to retrieve the current offset will make it
easier to take advantage of the newly added API that allows Gecko
to supply initial scroll offsets for scroll nodes. In turn, this
will allow WR to normalize the local coordinates of primitives, which
will allow future improvements and simplifications to the picture
caching implementation.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 22:31:06 +00:00
Byron Campen [:bwc] 7b480b92cd Bug 1521879 - Part 2: Fix include-what-you-use bugs triggered by unified compilation. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D17274

--HG--
extra : moz-landing-system : lando
2019-02-25 21:51:11 +00:00
Glenn Watson 1500229636 Bug 1530242 - Enable some picture caching invalidation tests in wrench. r=emilio
A number of small tweaks to enable the picture caching invalidation
tests. With this in place, we can start adding more test coverage
for various invalidation scenarios.

- Make the reference image render after the test images, so that dirty
  region tracking is more intuitive.
- Instead of replaying the same frame in wrench to ensure frames are
  caching, try to cache tiles every frame when testing mode is enabled.
- Add a basic invalidation test for a rectangle with color that changes
  each frame.
- Make the dirty region index implicit and rename dirty_region to dirty
  in reftest format.
- Fix an underflow error when moving to next frame in wrench.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 22:25:22 +00:00
Cosmin Sabou a499294d09 Backed out 4 changesets (bug 1516454, bug 1530247) for multiple failures on Linux x64 asan. CLOSED TREE
Backed out changeset 180c7672c57c (bug 1516454)
Backed out changeset a460a4d0a66c (bug 1516454)
Backed out changeset c6ab8d3dd19a (bug 1530247)
Backed out changeset 43862dc87e0b (bug 1516454)
2019-02-26 00:49:27 +02:00
Noemi Erli 7e23372938 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : de8796d5d7d7079af1b895a2f537371885f8cc6c
2019-02-26 00:09:40 +02:00
Emilio Cobos Álvarez b411b3894d Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-25 12:42:31 -08:00
Kartikaya Gupta 280260b8d0 Bug 1519718 - Follow-up to bump the fuzz number slightly, so the test passes on AppVeyor too. rs=kvark 2019-02-25 09:04:23 -05:00
Oana Pop Rus d102d1fb55 Merge autoland to mozilla-central. a=merge
--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : rebase_source : 3dcaf2f7e006ea8d3b1c48e7b851623dc9a2bf2e
2019-02-25 12:07:31 +02:00
Gurzau Raul e6740c75fc Backed out 10 changesets (bug 1521879) for causing bug 1530107. a=backout
Backed out changeset f597a73a6eac (bug 1521879)
Backed out changeset 0bb76534f207 (bug 1521879)
Backed out changeset abcb8be12adf (bug 1521879)
Backed out changeset ed6c8d3bbfde (bug 1521879)
Backed out changeset 1addf1e15b55 (bug 1521879)
Backed out changeset 6b709cd9a479 (bug 1521879)
Backed out changeset 07747027c59c (bug 1521879)
Backed out changeset a6105ccc188c (bug 1521879)
Backed out changeset 48c9c643e7bb (bug 1521879)
Backed out changeset d4004105a04a (bug 1521879)
2019-02-25 12:12:15 +02:00
Dorel Luca 4a4dcd57fa Backed out 4 changesets (bug 1525319) for Android failures in dom/base/test/test_progress_events_for_gzip_data.html
Backed out changeset b73f033efb41 (bug 1525319)
Backed out changeset 1d318d5c6b98 (bug 1525319)
Backed out changeset 6d73418988d4 (bug 1525319)
Backed out changeset 84ca79bd2dc3 (bug 1525319)
2019-02-25 04:06:11 +02:00
Dzmitry Malyshau 0bf19769e6 Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-25 00:17:22 +00:00
Jonathan Kingston 63ab2bd8aa Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881

--HG--
extra : moz-landing-system : lando
2019-02-24 20:27:55 +00:00
Jonathan Kingston 332531fa9c Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:59 +00:00
Jonathan Kingston 2441197975 Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:16 +00:00
Doug Thayer 9785d8bd59 Bug 1441308 - Ensure lazy init of debug renderer in draw_frame_debug_items r=gw
Document splitting is crashing with early initialization of the debug
renderer. Not sure why, and this is just a temporary workaround, but
one that I think we want anyway, as we don't want to be unnecessarily
lazy-initting the debug renderer.

Depends on D20698

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

--HG--
extra : moz-landing-system : lando
2019-02-26 15:29:15 +00:00
Emilio Cobos Álvarez b7bb398730 Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-26 06:01:34 -08:00
Razvan Maries 98aa3c3fde Backed out 2 changesets (bug 1519718) for causing perma fails on blend-gradient-background-color.html. a=backout
Backed out changeset 4f11ca736067 (bug 1519718)
Backed out changeset 4fefbf627bfc (bug 1519718)

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
2019-02-24 16:16:30 +02:00
Dzmitry Malyshau 9ddfc7834c Bug 1519718 - Remove accidental wrench log r=kats
Log was landed my mistake in https://phabricator.services.mozilla.com/D20608

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

--HG--
extra : moz-landing-system : lando
2019-02-23 19:31:15 +00:00
Dzmitry Malyshau 575dd4463b Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-23 03:34:56 +00:00
Alex Gaynor 0e903787da Bug 1415508 - use Span in constructing a byte input stream; r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20687

--HG--
extra : moz-landing-system : lando
2019-02-25 19:11:20 +00:00
Kartikaya Gupta b8ad25821d Bug 1499113 - Multiply transform scales into the blur radius for blur filters. r=kvark
Without this patch any enclosing scale transform between a blurred
picture and the nearest raster root was being ignored entirely for the
purposes of blur.

Also includes a couple of reftests to exercise this code.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 17:12:17 +00:00
Kartikaya Gupta 3d5d6cd639 Bug 1499113 - Turn the blur stddev value into a tuple with horizontal and vertical components. r=kvark
This patch is just plumbing; no functional changes intended.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 17:33:24 +00:00
Jamie Nicol 8ad32e5644 Bug 1498732 - Ensure PBO texture upload is performed asynchronously on webrender on Adrenos. r=kvark
Currently on Android we upload texture data to the webrender texture
cache using a PBO. On Adreno GPUs, however, this upload is still being
done synchronously, and profiles show a lot of time spent waiting in
glTexSubImage3D.

The problem is that the stride of the data in the PBO is not a
multiple of 256 bytes, so the driver is not able to DMA the upload.

This patch ensures that data is laid out optimally in the PBO, using
glMapBufferRange then copying the data line-by-line if required. This
allows the driver to perform the upload asynchronously as intended.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:00:09 +00:00
Jamie Nicol 32ffe0f9b1 Bug 1498732 - Update gleam to 0.6.9. r=kats
This provides the functions glMapBufferRange and glUnmapBuffer.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 14:59:01 +00:00
Jeff Gilbert d7246df19b Bug 1530035 - Replace OSXVersionMinor/Major() with nsCocoaFeatures::IsAtLeastVersion. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20883

--HG--
extra : moz-landing-system : lando
2019-02-23 03:28:28 +00:00
Razvan Maries d7a2f49ed8 Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
Daosheng Mu dfed686aab Bug 1523923 - Cancel VR submit frame tasks when the VRDisplayHost is destroyed. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D20692

--HG--
extra : moz-landing-system : lando
2019-02-22 22:04:00 +00:00
Ciure Andrei 0e59b4108e Backed out changeset b5b2ecf454b0 (bug 1519718) for causing webrender-windows bustage CLOSED TREE
--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
2019-02-23 01:13:38 +02:00
Dzmitry Malyshau d34bbe138b Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-22 22:22:06 +00:00
sotaro 481ac38791 Bug 1529027 - Make WebRenderImageHost to hold WeakPtr<WebRenderBridgeParent> r=nical
Log is added to check if WrBridge mismatch happened.

Differential Revision: https://phabricator.services.mozilla.com/D20435
2019-02-23 08:59:53 +09:00
Coroiu Cristina 6a915c899d Merge mozilla-central to inbound a=merge 2019-02-22 18:41:16 +02:00
Nicolas Silva b9092ff14c Bug 1528753 - Update euclid dependency. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20176

--HG--
extra : moz-landing-system : lando
2019-02-21 14:41:36 +00:00
Nicolas Silva 6ccb0762a3 Bug 1528753 - Compute the layout space tiling origin. r=kvark
The tiling origin is computed withing image::tiles instead of being provided to the function.
In addition, the image rect in device space is exposed as function parameter.
In a followup, callers will have to determine the correct image rect using the blob image's visible area.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 18:16:41 +00:00
Dorel Luca 3b7aa5a584 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 7031cab1673ebf517464fe27a8320beee794f1d8
2019-02-22 09:23:50 +02:00
sotaro d33affb03f Bug 1528865 - Change SwapChain's BufferUsage as to add DXGI_USAGE_SHADER_INPUT r=kvark
DXGI_USAGE_SHADER_INPUT is set for improving performance of copying from framebuffer to texture on intel gpu.

Differential Revision: https://phabricator.services.mozilla.com/D20622
2019-02-22 08:31:12 +09:00
Agi Sferro 3f65ec073d Backed out changeset f5a7724e2c03 for causing crash in Fennec. r=backout
See https://bugzilla.mozilla.org/show_bug.cgi?id=1529697.

--HG--
extra : rebase_source : 507958a7e0e2e3b74da155263950656c6c8776bf
2019-02-21 13:53:22 -08:00
Jeff Gilbert 8fda14347f Bug 1527534 - Reuse LoadApitraceLibrary. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20418
2019-02-21 13:38:51 -08:00
Narcis Beleuzu 9a26332ec2 Merge autoland to mozilla-central. a=merge 2019-02-21 17:59:30 +02:00
Oana Pop Rus e3f2246ee8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 11:42:10 +02:00
Oana Pop Rus b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Nicolas Silva fd337e9ded Bug 1476368 - Add VecHelper::take/take_and_preallocate. r=gw
--HG--
extra : source : 8bc9ab1a56f9985c0c8e6c85758a121d577b264f
extra : histedit_source : 3155f5881349ec818032547492e83532a894d32c
2019-02-19 17:53:31 +01:00
Nicolas Silva f9b5d37783 Bug 1476368 - Avoid moving picture primitives when destroying them. r=gw
--HG--
extra : source : 88f409bc495a135764d75ac22802c2fca94d7be3
extra : histedit_source : fa57c05c5227b676ba5f7c582c00b6d1511d89be
2019-02-19 18:39:06 +01:00
Nicolas Silva 83085f11a5 Bug 1476368 - Reserve storage for the dynamic property vectors in the bindings before filling them. r=kvark
--HG--
extra : source : 4246885397b41acd0cfd60fa2ec50d75584ec84a
extra : histedit_source : cc18ffbad76aca8d3f8e598fb61832597c9c371c
2019-02-19 18:43:41 +01:00
Nicolas Silva 93f732bfcd Bug 1476368 - Avoid moving texture cache entries when evicting them. r=gw
--HG--
extra : source : 03e1b2ae53bb312d91f7251740a9cc575d7ac3cd
extra : histedit_source : 463663b79fd134e72e5130b642d347d0244340cb
2019-02-20 09:16:44 +01:00
Nicolas Silva 859c756fae Bug 1476368 - Pre-allocate primitives vector in setup_picture_caching. r=gw
--HG--
extra : source : 32aa85626f6c484dff616ec9ae78ca53ea38dec5
extra : histedit_source : 109a92a512932d686f31906c37392f5f55db18e8
2019-02-20 10:01:28 +01:00
Nicolas Silva b6c94f1ece Bug 1476368 - Pre-allocate vectors in HitTester::read_clip_scroll_tree. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20507

--HG--
extra : source : 96b0377ea3ce47ef806331cb7ca7881aaafdf2c1
extra : histedit_source : 97034307c821c468828f65a9aeb9436fd7cd7e7b
2019-02-20 10:11:09 +01:00
Nicolas Silva a9803d039d Bug 1529272 - Reduce the amount of allocations, hashing and moves related to FontInstance. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20503

--HG--
extra : source : 8c408c32fb6fdd1162938336ab26ece65a249c82
extra : histedit_source : c19032ba76065988f2fb4bc62d207e2437bfb90e
2019-02-22 14:53:37 +01:00
Brindusan Cristian f282736243 Backed out changeset 0e6973ba9fe5 (bug 1526045) for build bustages at gfxPlatform.cpp. CLOSED TREE 2019-02-26 08:56:06 +02:00
Bas Schouten 3bc90cc49b Bug 1526045 - Part 2: Verify all DrawTargets created through CreateOffscreenContentDrawTarget. r=rhunt
Preferrably CreateOffscreenContentDrawTarget would create Capture DrawTargets when we intend to use OMTP. This is not the case at the moment though and changing this would likely introduce more unforseen issues. For now all of these calls basically mean a DrawTarget will be used on the main thread and we should use a no-op ClearRect to ensure that the DrawTarget is actually initialized. Since IsValid for the moment won't do this for DrawTargetD2D. (See bug 1521368)

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

--HG--
extra : rebase_source : 7b9f4c5ed66d5ecaf613634c660f085de3584fd3
2019-02-25 19:12:13 +01:00
Timothy Nikkel c85a512b81 Bug 1505871. Add a wrench reftest. 2019-02-26 00:16:37 -06:00
Timothy Nikkel 3bf7ef2abf Bug 1505871. Fix comment to not trigger angle_shader_validation.rs.
angle_shader_validation.rs just checks that the number of "switch" and "default:" are the same number in the source file, even if they occur in comments.
2019-02-26 00:16:37 -06:00
Timothy Nikkel 78f0cf02be Bug 1505871. Work around a suspected shader miscompilation on Windows. r=gw
On Windows the vFuncs array is always 0 in the fragment shader. If we move the computation of the vFuncs array outside of the switch (so that it is computed for every type of shader, even when it is not needed) then it works.
2019-02-26 00:16:37 -06:00
Timothy Nikkel 6919a21fa6 Bug 1505871. Implementation of shaders. r=gw 2019-02-26 00:16:37 -06:00
Timothy Nikkel 487492593e Bug 1505871. Implement putting the required data in the gpu cache for component transfer. r=gw
For table/discrete we just create a lookup table for all 256 possible input values. We should probably switch to just computing the value in the shader, unless the list of value is really long.
2019-02-26 00:16:37 -06:00
Timothy Nikkel c0ef28ed8e Bug 1505871. Pass DataStores to prepare_for_render. r=gw
We need this to get get filter data from the intern table.
2019-02-26 00:16:37 -06:00
Timothy Nikkel 7a0fe66d40 Bug 1505871. Don't borrow frame_state.surface for the duration of prepare_for_render. r=gw
We need to call update on the filter data handle which needs to use frame_state (in a later patch), so we can't borrow across that call.
2019-02-26 00:16:36 -06:00
Timothy Nikkel 02ac32975f Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-26 00:16:36 -06:00
Timothy Nikkel dad4e9d0b7 Bug 1505871. Implement yaml reader/writer for component transfer. r=jrmuizel 2019-02-26 00:16:36 -06:00
Timothy Nikkel f39f60fa91 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-26 00:16:36 -06:00
Timothy Nikkel 4a54583c19 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-26 00:16:36 -06:00
Timothy Nikkel b2695b4b73 Backed out changeset 2bf33f573505 2019-02-25 22:48:35 -06:00
Timothy Nikkel 213203d8e5 Backed out changeset 90660632d641 2019-02-25 22:48:04 -06:00
Timothy Nikkel 736fc91b3f Backed out changeset def812790f5c 2019-02-25 22:47:54 -06:00
Timothy Nikkel 8238bfd239 Backed out changeset 11c9d5a64a30 2019-02-25 22:47:40 -06:00
Timothy Nikkel e4b483e186 Backed out changeset 1206e1a32e5f 2019-02-25 22:47:23 -06:00
Timothy Nikkel aac71db24c Bug 1505871. Don't borrow frame_state.surface for the duration of prepare_for_render. r=gw
We need to call update on the filter data handle which needs to use frame_state (in a later patch), so we can't borrow across that call.
2019-02-25 22:45:16 -06:00
Timothy Nikkel 22cf8be9b7 Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-25 22:45:16 -06:00
Timothy Nikkel 24dc00068c Bug 1505871. Implement yaml reader/writer for component transfer. r=jrmuizel 2019-02-25 22:45:16 -06:00
Timothy Nikkel 5455bb5b62 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-25 22:45:15 -06:00
Timothy Nikkel b9d0354d8a Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 22:45:15 -06:00
Chris Peterson 45bbf620fc Bug 1528881 - Part 7: gfx/layers: Remove some unused functions. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/layers/Layers.cpp:58:7 [-Wmissing-prototypes] no previous prototype for function 'FILEOrDefault'
gfx/layers/ipc/CompositorThread.cpp:26:25 [-Wmissing-prototypes] no previous prototype for function 'GetCompositorThreadHolder'
MINIMUM_TILE_COPY_AREA()

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

--HG--
extra : rebase_source : 5c80a140cbd661644e2076a8852a0cfe58539083
extra : source : 7f44c2bcebce0b4bd549d653e4eff8b4bad71e29
2019-02-17 16:04:13 -08:00
Chris Peterson e77882620f Bug 1528881 - Part 4: gfx/2d: Make some global functions static. r=lsalzman
And #include "BufferUnrotate.h" in BufferUnrotate.cpp for BufferUnrotate() function prototype.

clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/2d/BufferUnrotate.cpp:17:6 [-Wmissing-prototypes] no previous prototype for function 'BufferUnrotate'
gfx/2d/DrawTargetCairo.cpp:195:6 [-Wmissing-prototypes] no previous prototype for function 'ReleaseData'
gfx/2d/DrawTargetCairo.cpp:201:18 [-Wmissing-prototypes] no previous prototype for function 'CopyToImageSurface'
gfx/2d/DrawTargetCairo.cpp:239:18 [-Wmissing-prototypes] no previous prototype for function 'GetAsImageSurface'
gfx/2d/DrawTargetCairo.cpp:251:18 [-Wmissing-prototypes] no previous prototype for function 'CreateSubImageForData'
gfx/2d/DrawTargetCairo.cpp:272:18 [-Wmissing-prototypes] no previous prototype for function 'ExtractSubImage'
gfx/2d/DrawTargetCairo.cpp:308:18 [-Wmissing-prototypes] no previous prototype for function 'GetCairoSurfaceForSourceSurface'
gfx/2d/DrawTargetRecording.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetRecording.cpp:272:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingFontUserDataDestroyFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:358:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordFontUserDataDestroyFunc'
gfx/2d/FilterNodeSoftware.cpp:1816:6 [-Wmissing-prototypes] no previous prototype for function 'IsAllZero'
gfx/2d/FilterNodeSoftware.cpp:183:37 [-Wmissing-prototypes] no previous prototype for function 'CloneAligned'
gfx/2d/MacIOSurface.cpp:442:6 [-Wmissing-prototypes] no previous prototype for function 'MacIOSurfaceBufferDeallocator'
gfx/2d/QuartzSupport.mm:38:6 [-Wmissing-prototypes] no previous prototype for function 'cgdata_release_callback'
gfx/2d/ScaledFontMac.cpp:191:10 [-Wmissing-prototypes] no previous prototype for function 'CalcTableChecksum'
gfx/2d/ScaledFontMac.cpp:224:5 [-Wmissing-prototypes] no previous prototype for function 'maxPow2LessThan'
gfx/2d/unittest/TestCairo.cpp:12:6 [-Wmissing-prototypes] no previous prototype for function 'TryCircle'

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

--HG--
extra : rebase_source : b42bce33ed899caeb89e462d99a5cde29a9bb559
extra : intermediate-source : 7923cc86a6394bcd2fb3b7e38f458a5180d31e11
extra : source : 02388f2454e8842d2c023bf9f9fab222d8130093
2019-02-16 18:08:30 -08:00
Andrea Marchesini 9e8594dfcb Bug 1526214 - Get rid of network.cookie.leave-secure-alone, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D19125

--HG--
extra : moz-landing-system : lando
2019-02-20 09:42:22 +00:00