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

14442 Коммитов

Автор SHA1 Сообщение Дата
Martin Stransky 4a8f96bbdc Bug 1646007 [Wayland] Check Wayland dmabuf backend and fallback to a default one, r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D79979
2020-06-25 05:57:40 +00:00
Martin Stransky 18f4cd508d Bug 1646007 [Wayland] Check Wayland backend before X11, r=jgilbert
X11/Wayland backends are both enabled on Linux by default.
Check Wayland backend first and fallback to X11 when Wayland isn't active.

Differential Revision: https://phabricator.services.mozilla.com/D79978
2020-06-25 05:57:32 +00:00
sotaro 9437779a52 Bug 1648076 - Use AndroidSurfaceTexture related files only on Android r=jgilbert
No functional change. AndroidSurfaceTexture related files are used on all platforms. They are needed only on Android.

Differential Revision: https://phabricator.services.mozilla.com/D80869
2020-06-24 18:59:14 +00:00
longsonr 0a29054e26 Bug 1647101 - Move SVGTextFrame SVGViewFrame SVGFEContainerFrame SVGFEImageFrame SVGFELeafFrame SVGFEUnstyledLeafFrame into the mozilla namespace r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D80383
2020-06-23 22:59:34 +00:00
Jean-Yves Avenard a63e132e24 Bug 1647976 - Remove stray file. r=jgilbert
File was restored following a conflict while rebasing bug 1637500 - P2

Differential Revision: https://phabricator.services.mozilla.com/D80812
2020-06-24 07:23:03 +00:00
Jean-Yves Avenard 87438519f0 Bug 1637500 - P2. Rename methods as they are not always dealing with "threads". r=froydnj
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.

This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget

Differential Revision: https://phabricator.services.mozilla.com/D80354
2020-06-23 05:05:36 +00:00
Jean-Yves Avenard 8d2ff29220 Bug 1647133 - P4. Use nsISerialEventTarget where it's actually that. r=mattwoodrow
We are here, always actually dealing with the compositor thread, with the exception of VRDisplayPresentation which is passing  the main thread.

Depends on D80422

Differential Revision: https://phabricator.services.mozilla.com/D80423
2020-06-22 09:38:34 +00:00
Kagami Sascha Rosylight c2e026792f Bug 1643464 - Part 3: Rename LEFT/RIGHT_BUTTON as PRIMARY/SECONDARY_BUTTON r=masayuki,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D80333
2020-06-19 17:50:43 +00:00
Kagami Sascha Rosylight 994a3b64f9 Bug 1643464 - Part 2: Rename eLeft/eRightFlag to ePrimary/eSecondaryFlag r=masayuki,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D80332
2020-06-22 22:54:07 +00:00
Kagami Sascha Rosylight 166f2891a2 Bug 1643464 - Part 1: Rename eLeft/eRight to ePrimary/eSecondary r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D80331
2020-06-19 18:02:41 +00:00
sotaro 8f5e819367 Bug 1647253 - Remove unused CreateSharedRGBImage() r=jrmuizel
CreateSharedRGBImage() is not used.

Differential Revision: https://phabricator.services.mozilla.com/D80436
2020-06-22 14:24:21 +00:00
Hiroyuki Ikezoe 3f5ea943fb Bug 1618446 - Clear runningOnCompositor flag in the case where WebRenderAnimationData is destroyed. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D80341
2020-06-22 20:46:31 +00:00
tkhan 6ccabd4784 Bug 1602668 - M(1) manifest and test changes. r=kmag,karlt,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70362
2020-06-22 19:09:49 +00:00
Martin Stransky 2b91832e28 Bug 1645704 [Wayland] Rename WaylandDMABufSurface to DMABufSurface at gxf, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D79637
2020-06-21 13:59:17 +00:00
Jamie Nicol 2e61ade1af Bug 1646243 - Guard against null state in UiCompositorControllerParent::Initialize(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D80205
2020-06-18 16:17:34 +00:00
Markus Stange 4c8b889f5e Bug 1646066 - Make partial valid rects work properly in NativeLayerCA. r=jrmuizel
This moves the clipping responsibility into the layer. It also brings back
assertions that make sure that no invalid content reaches the screen.
On the layer side I'm renaming validRect to displayRect, because at the time
NextSurface* is called, that rect is not yet valid.
This implementation also allows having valid content outside of the display
rect. So, for example, if you grow and shrink the display rect multiple times
but most of the outer parts are transparent, in theory this allows you to paint
the transparent pixels only once rather than every time the display rect
expands.

Differential Revision: https://phabricator.services.mozilla.com/D79842
2020-06-18 22:15:22 +00:00
Kartikaya Gupta c488788746 Bug 1645937 - Add reftest. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D80055
2020-06-18 12:17:19 +00:00
Butkovits Atila 34722d7f3a Backed out 2 changesets (bug 1645937) for gv-junit failures on VerticalClippingTest. CLOSED TREE
Backed out changeset e0f3090a46a4 (bug 1645937)
Backed out changeset c1021d851157 (bug 1645937)
2020-06-18 14:59:18 +03:00
Kartikaya Gupta 44c15927f5 Bug 1645937 - Add reftest. r=tnikkel
Depends on D80054

Differential Revision: https://phabricator.services.mozilla.com/D80055
2020-06-18 08:56:53 +00:00
Hiroyuki Ikezoe 77bf0111ce Bug 1467765 - Sample off-main-thread animations on the render backend thread in case of WebRender. r=kats
Now CompositorAnimationStorage::GetAnimatedValue() and SetAnimatedValue()s
are called on the sampler thread in case of WebRender, are called on the
compositor thread in case of non WebRender, so we drop assertions of
IsInCompositorThread check there. A mLock.AssertCurrentThreadOwns call in
each function should make sure the function gets called on the
sampler/compositor thread with acquiring the lock.

One caveat in this change is that in case we try to get an animation value via
nsIDOMWindowUtils.getOMTAStyle(), we do sample animations on the _compositor_
thread and we never call UpdateDynamicProperties, which means if it gets called
in testing refresh driver mode, visual results will differ from what the value
returned by the getOMTAStyle should look like. But it should be fine because we
disallow using any chrome priviledge APIs in reftests and also we will never use
the testing refresh driver mode in the reftest harness. Also in mochitests the
visual results' differences might make people confusing if the person can notice
it, but in principal getOMTAStyle() is designed to get computed animating values
so that it doesn't matter what the visual result is.

Differential Revision: https://phabricator.services.mozilla.com/D79982
2020-06-17 23:47:20 +00:00
Hiroyuki Ikezoe 5ac8e30f29 Bug 1467765 - Factor out resetting previous time stamp stuff. r=kats
|mPreviousFrameTimeStamp| will be moved into the sampler for OTMA in the next
commit though.

Differential Revision: https://phabricator.services.mozilla.com/D79981
2020-06-17 23:32:22 +00:00
Hiroyuki Ikezoe b974ebc500 Bug 1467765 - Factor out clear animation resources stuff. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79980
2020-06-17 23:32:10 +00:00
Gijs Kruitbosch 222e2d1158 Bug 1644863 - fix trailing whitespace in cross-tree tests, r=emilio,marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D79202
2020-06-17 22:45:31 +00:00
Hiroyuki Ikezoe cde94b34ea Bug 1646263 - Introduce a lock in CompositorAnimationStorage. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79949
2020-06-17 22:39:50 +00:00
Hiroyuki Ikezoe 8c6ba30865 Bug 1646263 - Make internal-only methods of CompositorAnimationStorage private. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79948
2020-06-17 22:39:42 +00:00
Hiroyuki Ikezoe 282639cf63 Bug 1646263 - Move the non WebRender version of SampleAnimations into CompositorAnimationStorage. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79947
2020-06-17 22:39:40 +00:00
Hiroyuki Ikezoe 35f57c1650 Bug 1646263 - Add CompositorAnimationStorage::CollectWebRenderAnimations. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79946
2020-06-17 22:39:35 +00:00
Hiroyuki Ikezoe 2c54786097 Bug 1646263 - Move the WebRender version of AnimationHelper::SampleAnimations into CompositorAnimationStorage. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79945
2020-06-17 22:39:33 +00:00
Hiroyuki Ikezoe 4af8413479 Bug 1646263 - Separate CompositorAnimationStorage from AnimationHelper.[cpp,h]. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79944
2020-06-17 22:38:30 +00:00
Hiroyuki Ikezoe 2259081765 Bug 1646263 - Use a proper name for NS_NewRunnableFunction in APZSampler. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79943
2020-06-17 22:38:13 +00:00
Hiroyuki Ikezoe ca5e547627 Bug 1646263 - Drop nsTArray.h from APZSampler.h. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79942
2020-06-17 22:38:00 +00:00
sotaro 3f0b08deb4 Bug 1645579 - Disable RecycleAllocator for RDD process when WebRender is disabled on Mac r=nical
Recycling caused rendering problem on a MacOS PC with OpenGL compositor. TextureHost reuse with OpenGL compositor seemed to have a problem.

Adds pref layers.recycle-allocator-rdd for disable/enable the RecycleAllocator.

Differential Revision: https://phabricator.services.mozilla.com/D79639
2020-06-16 18:14:46 +00:00
Markus Stange 7b1b52b19b Bug 1592739 - Stop using the vibrant region as the transparent region. r=mattwoodrow
This code was assuming that the only non-opaque parts of compositor rendering would be the
parts of the window that had vibrancy. But now that the default window background is transparent,
we can have non-vibrant parts where we render into transparency. Dialog windows such as sheet
windows are an example of this.
So instead of using the non-vibrant region of the window as its opaque region, we now use
the region that is covered by opaque Gecko layers. This region is a lot more conservative:
For example, the main browser chrome is now entirely transparent, because the chrome's opaque
parts share a layer with its transparent parts.
As a result, this change slightly affects the CALayer partitioning in the main browser window:
The entire browser chrome is now transparent, not just the tab bar.
The web content area is still opaque.

I think this will be fine. The thing I'm most concerned about is that scrolling inside web
content might cause invalidations of pixels from the chrome, because then we'd recomposite
the CALayers that cover the vibrant tab bar. This doesn't seem to happen most of the time
though, from what I can tell.

Differential Revision: https://phabricator.services.mozilla.com/D51466
2020-06-11 18:46:04 +00:00
Sylvestre Ledru 85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Hiroyuki Ikezoe d427812e04 Bug 1645900 - Use AutoTArray for sampling animation values. r=boris
In the sampling methods, we do basically sample an animation value for each
CSS property other than transform-like properties.

Differential Revision: https://phabricator.services.mozilla.com/D79749
2020-06-15 21:50:06 +00:00
Jeff Gilbert fac855a09e Bug 1632249 - Determine webgl's layers::TextureType in Present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79617
2020-06-15 18:26:14 +00:00
Jeff Gilbert 4232c2c466 Bug 1632249 - Replace GLContextProvider::CreateOffscreen with GLContext::CreateOffscreenDefaultFb. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79390
2020-06-15 18:26:12 +00:00
Jeff Gilbert 3ae501809c Bug 1632249 - NON_PREMULT TextureClient iff NON_PREMULT CanvasClient. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D78800
2020-06-15 18:26:02 +00:00
Jeff Gilbert fd44ed35e8 Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-15 18:25:58 +00:00
Jeff Gilbert a97c615de2 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-15 18:25:55 +00:00
sotaro ff041549ae Bug 1640901 - Update CompositorBridgeID when ImageHost is async in ImageLayerComposite::SetLayerManager() r=mattwoodrow
When Tab is moved to another window, all async ImageHosts need to update CompositorBridgeID. It is used for calling ScheduleComposition().

Differential Revision: https://phabricator.services.mozilla.com/D79068
2020-06-14 07:29:20 +00:00
Jean-Yves Avenard 9b85722f24 Bug 1644254 - Keep a reference to the CompositorThreadHolder until gfx shutdown tasks have run. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D79596
2020-06-13 12:30:27 +00:00
Kartikaya Gupta 8004743db4 Bug 1643884 - Don't run APZCCallbackHelper::NotifyPinchGesture synchronously to avoid re-entrancy in InputQueue::ProcessQueue. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D79459
2020-06-12 16:45:28 +00:00
Andrew Osmond 8f69882854 Bug 1628657 - Make canvas use computed reference frame transforms. r=kvark
When a transform depends on the layout size of an element, one can see
visual distortions caused by the difference between the unsnapped size
used in the transform, and the snapped size calculated during scene
building. Ideally we could compute the transform after we snap, rather
than before. This patch adds support for a computed reference frame
which takes parameters to calculate the ideal transform dynamically.

In a future patch, we should make videos take advantage of this same
mechanism to avoid similar problems. This requires support for mirroring
and rotations.

Differential Revision: https://phabricator.services.mozilla.com/D77956
2020-06-11 20:46:05 +00:00
Andrew Osmond 65ad608400 Bug 1641594 - Remove the wrapper around recycled surfaces. r=tnikkel
We can perform the same function as RecyclingSourceSurface by checking
the ref count of the underlying surface directly. We need to ensure
WebRender is explicitly aware that it is a recycled surface, but that is
easily achieved by changing the type of the surface. This avoids
unnecessary heap allocations, particularly in the case where many
elements on the same page refer to the same animation (and thus
duplicating RecyclingSourceSurface objects).

Differential Revision: https://phabricator.services.mozilla.com/D77513
2020-06-11 17:49:13 +00:00
Jean-Yves Avenard 71373f3f10 Bug 1644009 - P7. Revert "Bug 1592488 - P4. Ensure an AbstractThread exists for the Compositor Thread." r=mattwoodrow
DirectTask dispatching will now be directly handled by nsThread.

Differential Revision: https://phabricator.services.mozilla.com/D79091
2020-06-12 05:10:10 +00:00
Kartikaya Gupta ba088f5b71 Bug 1644271 - Add a ManagerType field to the MVM, to allow conditional behaviour. r=tnikkel
The MVM is needed for both handling of meta-viewport tags and APZ zooming.
However, the set of functionality needed in the two modes are not the same.
This patch adds a mechanism to create an MVM with a flag that lets it know
which mode it is operating in. Eventually we may want to split this into two
or more classes but for now this seems like a reasonable way forward.

The flag is currently set on the MVM on creation based on whether or not the
meta-viewport support is needed. There's no code that meaningfully *uses* the
flag yet, so this patch should have no functional change. The bulk of the
patch is ensuring that we appropriately destroy and re-create the MVM if the
flag required changes.

Differential Revision: https://phabricator.services.mozilla.com/D79224
2020-06-12 01:15:42 +00:00
Botond Ballo f91b39185b Bug 1643604 - Move the check for a resized layout viewport in NotifylayersUpdated to the non-first-paint case. r=kats
In the first-paint case, we are accepting the incoming scroll metadata
wholesale, so most of the consequences of this code block will happen
anyways -- except for the extra repaint, which is not actually needed
and in fact undesirable in the first-paint case.

Differential Revision: https://phabricator.services.mozilla.com/D79195
2020-06-11 21:05:09 +00:00
Dorel Luca 255f146f14 Backed out 7 changesets (bug 1632249) for Gtest perma chrash in [@ mozilla::BlockingResourceBase::CheckAcquire()]. CLOSED TREE
Backed out changeset 4ff99aab3ee8 (bug 1632249)
Backed out changeset d5b7fe789001 (bug 1632249)
Backed out changeset 64fbb616a0f3 (bug 1632249)
Backed out changeset 6f19f43e0a0b (bug 1632249)
Backed out changeset 073302d26c5e (bug 1632249)
Backed out changeset 7c94d37c446e (bug 1632249)
Backed out changeset 204b899f436d (bug 1632249)
2020-06-11 19:44:20 +03:00
Jeff Gilbert 2ac2690670 Bug 1632249 - NON_PREMULT TextureClient iff NON_PREMULT CanvasClient. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D78800
2020-06-11 06:37:40 +00:00