Commit Graph

27110 Commits

Author SHA1 Message Date
Mason Chang
cddef9fa41 Bug 1386966. Coalesce OMTP drawtarget flushes until finished painting a layer. r=dvander 2017-08-09 08:24:15 -07:00
Jeff Muizelaar
eb11415d0a Bug 1387298. wr: Remove items that we waited for from the table. r=nical
Otherwise we end up hitting assert in request()
2017-08-09 14:53:41 -04:00
Kartikaya Gupta
b239f49bcb Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: 1wBFnJnYCwC

--HG--
extra : rebase_source : 542f814af9369fe712af76fc2a8c78de26c6227f
2017-08-10 14:00:08 -04:00
Kartikaya Gupta
96b110eb9e Bug 1370682 - Allow passing in LayoutDeviceSize to wr::ToBorderRadius for convenience. r=jrmuizel,mstange
There's no real reason to restrict this to LayerSize, since we use
use Layer and LayoutDevice coordinate spaces interchangeably for
webrender. With the templating of the function the compiler doesn't know
what type to use for {0, 0} so I added a new function to deal with that.

MozReview-Commit-ID: BA83Sy9UjYH

--HG--
extra : rebase_source : 15e5b31d0275628713c5eb584d622d22485dfda9
2017-08-10 14:00:01 -04:00
Sebastian Hengst
015f8de9b5 Backed out changeset e5936d7c91ba (bug 1370682) for bustage: missing return statement at WebRenderTypes.h:361. r=backout on a CLOSED TREE 2017-08-10 18:30:00 +02:00
Sebastian Hengst
5d5e6ac39c Backed out changeset 972371dc461b (bug 1370682) 2017-08-10 18:28:55 +02:00
Kartikaya Gupta
7027ecc44b Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: Cu1K3rLjm0V

--HG--
extra : rebase_source : b5994faceb9dd7e52222714bdbc5b06886d26415
2017-08-09 19:19:03 -04:00
Kartikaya Gupta
9d778bce61 Bug 1370682 - Allow passing in LayoutDeviceSize to wr::ToBorderRadius for convenience. r=jrmuizel,mstange
There's no real reason to restrict this to LayerSize, since we use
use Layer and LayoutDevice coordinate spaces interchangeably for
webrender. With the templating of the function the compiler doesn't know
what type to use for {0, 0} so I added a new function to deal with that.

MozReview-Commit-ID: KyabB6P6LiA

--HG--
extra : rebase_source : d5fff8f21a17c433d3c8c580fdd3153140d61545
2017-08-09 19:19:03 -04:00
cku
cb45f01e1b Bug 1385929 - Part 2. Remove unecessary gfxContext::Save/Restore found by Part 1. r=mattwoodrow
gfxContext::PushGroupAndCopyBackground & PushGroupForBlendBack do not change the
content of AzureState, we should remove gfxContext::Save in these two functions.

MozReview-Commit-ID: LUuC7bkqFba

--HG--
extra : rebase_source : bed69fa8544e389f4ac13a63489a215a6c86d632
2017-08-01 20:38:15 +08:00
cku
7c4f63dc88 Bug 1385929 - Part 1. Check whether the content of the persisted state change. r=mattwoodrow
Since gfxContext::Save keep appear on my screen when I did profile, so I think
we should find a way to prevent unecessary usage of this function.

By this patch, an assertion message will be dump if we save and restore an
unchanged AzureState.

MozReview-Commit-ID: 5lH1Y5T5K7t

--HG--
extra : rebase_source : 3fe0bb72ad78273687008cdf87692090cf3fe931
2017-08-01 16:33:08 +08:00
Wes Kocher
223f322400 Merge m-c to autoland a=merge
MozReview-Commit-ID: 2qLtb79Nlhs
2017-08-08 15:26:30 -07:00
Daosheng Mu
53021c2bb8 Bug 1386664 - Add Knuckles string id for SteamVR Knuckles controllers; r=kip
MozReview-Commit-ID: H8fX21j0u6F

--HG--
extra : rebase_source : f3d3b2ccf62559fabc8a1bc112322b3fa7c1078f
2017-08-04 14:52:01 +08:00
Daosheng Mu
ea78826dc4 Bug 1382114 - Update openvr to 1.0.9; r=kip
MozReview-Commit-ID: BthbIIWFywD

--HG--
extra : rebase_source : 6dfa9c4c93e39acc4a2c74691ee389d4e0a0c166
2017-08-01 16:03:26 +08:00
Wes Kocher
6211964f2b Merge m-c to inbound, a=merge
MozReview-Commit-ID: FevzakV3RlU
2017-08-07 15:26:13 -07:00
Wes Kocher
cf8f3268a1 Merge inbound to central, a=merge
MozReview-Commit-ID: 5tBON9YUdAO
2017-08-07 15:23:46 -07:00
Jonathan Kew
5d323919b9 Bug 1388059 - Ignore font size tolerance when selecting faces from a font family during global fallback. r=lsalzman 2017-08-07 17:27:33 +01:00
Jonathan Kew
7f081f0d06 Bug 1385462 - Ensure GlyphRunIterator::NextRun returns false immediately if the textrun's only glyphrun does not have a valid font. r=lsalzman 2017-08-07 17:26:08 +01:00
Lee Salzman
24cb8efdec Bug 1385029 - remove virtual from gfxFont::GetCairoScaledFont. r=jfkthame
MozReview-Commit-ID: FNXL9aKtlKa
2017-08-07 16:20:48 -04:00
Lee Salzman
a21ad6d19e Bug 1385029 - require implementation of gfxFont::GetScaledFont and remove unnecessary gfxPlatform::GetScaledFontForFont. r=jfkthame
MozReview-Commit-ID: GP1Aekecb0s
2017-08-07 16:20:44 -04:00
Lee Salzman
2276117381 Bug 1385029 - remove redundant CairoScaledFont accessor from gfxFont subclasses. r=jfkthame
MozReview-Commit-ID: BjcKkCgSZdG
2017-08-07 16:20:40 -04:00
Lee Salzman
79f42cf9ec Bug 1385029 - get rid of gfxFontconfigUtils.h since gfxFontconfigFontBase is unnecessary. r=jfkthame
MozReview-Commit-ID: FTXjgmRYBxI
2017-08-07 16:20:37 -04:00
Lee Salzman
62bf3ccf48 Bug 1385029 - make ScaledFont::SetCairoScaledFont virtual so it can be accessed from outside Moz2D. r=jrmuizel
MozReview-Commit-ID: 1RrXqJeJJ2Y
2017-08-07 16:20:32 -04:00
Carsten "Tomcat" Book
a24b9505f9 Merge mozilla-central to autoland 2017-08-07 13:16:54 +02:00
sotaro
9be589ac3c Bug 1387352 - Avoids falling into the fallback codepath for async ImageContainers in layers-free mode r=kats 2017-08-07 11:09:50 +09:00
Sylvestre Ledru
a85265140e Bug 1387376 - Reserve memory before using push_back with vector r=nical
MozReview-Commit-ID: BOyPShEVfzt

--HG--
extra : rebase_source : 2564c80f5ac593927d9b104199e0b747f9ab887b
2017-08-04 11:35:33 +02:00
JerryShih
5d101602fb Bug 1357299 - P12: Add SyncObject in RendererOGL. v2. r=nical
With DXVA2 hardware-video-decoding, the RendererOGL should have a
synchronization mechanism to prevent the flickering of video texture.
Create a SyncObject in RendererOGL to do the texture synchronization.

The WebRenderAPI also exposes the RendererOGL's SyncHandle to
WebRenderBridgeParent. Then, the WebRenderBridgeParent could pass this SyncHandle
to the video decoding module for texture synchronization.

MozReview-Commit-ID: toQ2mO5fzG
2017-08-07 18:15:25 +08:00
JerryShih
061742e951 Bug 1357299 - P11: Update layers, dxva and vr module to use SyncObjectChild. v3. r=mattwoodrow,dvander
MozReview-Commit-ID: 4HTPz0YcYHq
2017-08-07 18:15:24 +08:00
JerryShih
3d8f544df7 Bug 1357299 - P10-1: Update MLGDeviceD3D11 and CompositorD3D11 to use SyncObjectHost. r=dvander
From bug 1163440, there is an additional AcquireSync() call around the swapChain::Present(). Export the KeyedMutex from SyncObjectD3D11Host for this synchronization.

MozReview-Commit-ID: 8mPs4jKj67W
2017-08-07 18:15:24 +08:00
JerryShih
e60ceae85f Bug 1357299 - P10: Update MLGDeviceD3D11 and CompositorD3D11 to use SyncObjectHost. v2. r=mattwoodrow,dvander
MozReview-Commit-ID: 1a0Ho7smkAx
2017-08-07 18:15:24 +08:00
JerryShih
50bd333891 Bug 1357299 - P9: Do the refactoring for SyncObject. v2. r=mattwoodrow,dvander
The MLGDeviceD3D11, CompositorD3D11 and TextureClient use the same synchronization mechanism.
Create the new SyncObjectClient/Host types for reusing code.

Add SyncObject.cpp/h and create two new data types: SyncObjectClient and SyncObjectHost.
The SyncObjectClient is used for the TextureClient synchronization at client side.
The SyncObjectHost is used for the TextureHost synchronization in renderers such
as MLGDeviceD3D11 and CompositorD3D11.

MozReview-Commit-ID: 3l56WK1aZ15
2017-08-07 18:15:23 +08:00
JerryShih
339fc2e58c Bug 1357299 - P7: Fix unified-build build break. r=mattwoodrow
MozReview-Commit-ID: GSUxyWUfBVt
2017-08-07 18:15:23 +08:00
JerryShih
54c85f4bbb Bug 1357299 - P4: Get the gl handle from d3d shared texture handle. v2. r=jgilbert
MozReview-Commit-ID: F4mPCALj1OY
2017-08-07 18:15:22 +08:00
JerryShih
f488575a07 Bug 1357299 - P3: Support DXGI texture type for WR. v2. r=nical
Create the corresponding RenderTextureHost type and WR commands for DXGI texture type.

The DXGITextureHostD3D11 will use 1 or 2 image keys for non-nv12 and nv12 texture format.

The DXGIYCbCrTextureHostD3D11 is a special case. The WR uses ANGLE in windows platform,
but the ANGLE doesn't support A8 format directx texture directly. So, we use libyuv to
convert the DXGIYCbCrTextureHostD3D11 texture buffer into RGBA format buffer and use
WR::AddImage() for that image. This is a slow code path. We will refine this case later.

The whole RenderD3D11TextureHostOGL implementation is in the next patch.

MozReview-Commit-ID: F4mPCALj1OY
2017-08-07 18:15:22 +08:00
JerryShih
9fdb7a255f Bug 1357299 - P2: Remove the unused IsWrappingNativeHandle() function in WebRenderTextureHost. r=nical
All WR texture related codes are move into GetWRImageKeys(), AddWRImage() and PushExternalImage().
Each texture type could generate its WR commands individually. So, this "mIsWrappingNativeHandle" flag is not used anymore.

MozReview-Commit-ID: 1TITkGRemAr
2017-08-07 18:15:21 +08:00
JerryShih
0081892f19 Bug 1357299 - P1-1: Fix the wrong return value for DestroyStreamKHR(). r=jgilbert
MozReview-Commit-ID: 4OMHJka03Kd
2017-08-07 18:15:21 +08:00
JerryShih
866d845e94 Bug 1357299 - P1: Fix the wrong ext string for QueryDisplayAttribEXT. v2. r=jgilbert
MozReview-Commit-ID: 3lZG2GrxXHF
2017-08-07 18:15:21 +08:00
David Anderson
783e6ecfd6 Add diagnostics for the crash in bug 1387467. r=milan 2017-08-05 01:32:25 -07:00
Sebastian Hengst
39ccebaf18 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 9IxbB2vCH4S
2017-08-05 11:55:25 +02:00
Milan Sreckovic
56c2b6e6f7 Bug 1386277: Add set methods for width and height that change nothing else, as well as the Swap method r=bas
MozReview-Commit-ID: 6TZ977mvH5C

--HG--
extra : rebase_source : 3f124c682ac914f3fde27c396c2fb21b324ed521
2017-08-03 15:29:35 -04:00
Sebastian Hengst
765cc1b925 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JhesEg4Bxjy
2017-08-04 19:28:27 +02:00
sotaro
a773ee4276 Bug 1354411 - Rebuild CompositorSessions if WebRender is disabled r=kats
When WebRender creation is failed, WebRender is disabled in gecko. There is a case that WebRenderBridgeParents exist when WebRender is disabled. To handle this, gecko needs to rebuild all CompositorSessions.

There is also a problem related to gfxVars::UseWebRender on compositor thread. If e10s is enabled, but no-gpu process(default on linux and mac), gfxVars::UseWebRender change is soon notified by compositor thread tasks. If WebRender creation failure happens at 2nd WebRender creation, several WebRenderBridgeParents for 1st WebRender could exist. IPC messages from WebRenderLayerManager are normally async, then there is a chance that the WebRenderBridgeParents receive the messages after the gfxVars::UseWebRender change. Further the gfxVars::UseWebRender change in content process could be delayed than WebRenderBridgeParents, then content process does not have a way to stop sending PWebRenderBridge IPC until the change of gfxVars::UseWebRender is received. WebRenderBridgeParent related tasks handle the message, but some tasks are done based on gfxVars::UseWebRender. At this time, gfxVars::UseWebRender returned false on compositor thread, then it cause unexpected result for WebRenderBridgeParent and WebRender. To addres this inconsistent situation, WebRenderBridgeParent related tasks on compositor thread stop to use gfxVars::UseWebRender.
2017-08-04 14:36:41 +09:00
David Anderson
b56bbf2305 Change the subdoc invalidation callback to handle overflow. (bug 1345891 part 5, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson
aae46b02d1 Handle 3d context bounds overflow in LayerTreeInvalidation. (bug 1345891 part 4, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson
2cc63ceef3 Handle invalidation bounds overflow in ContainerLayerMLGPU. (bug 1345891 part 3, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson
bb8c6e5f61 Handle bounds overflow in consumers of LayerTreeInvalidation. (bug 1345891 part 2, r=mattwoodrow) 2017-08-03 21:22:48 -07:00
David Anderson
e74ca7f347 Refactor LayerTreeInvalidation::ComputeChangeInternal's signature to handle overflow. (bug 1345891 part 1, r=mattwoodrow) 2017-08-03 21:22:48 -07:00
Mason Chang
7dc5a03ec2 Bug 1386073 Don't set RotatedBuffer's returned DrawTarget transform with omtp. r=dvander 2017-08-03 20:51:30 -07:00
Ehsan Akhgari
fd868a0072 Bug 1387158 - Silence the -Wcomma compiler warnings in Types.h macros iterating over Corners and Sides; r=dholbert 2017-08-03 23:04:47 -04:00
Wes Kocher
2196b718d3 Merge inbound to central, a=merge
MozReview-Commit-ID: DlSLhaepjeU
2017-08-03 18:06:53 -07:00
Mason Chang
68b377c1ce Bug 1383916 Prep a DrawTarget to be drawn to on the paint thread. r=dvander 2017-08-03 08:50:32 -07:00
JerryShih
fcec675802 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-02 20:33:00 -04:00
Sebastian Hengst
5cfce14aba merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-03 12:17:50 +02:00
Sebastian Hengst
50d2d60772 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5MywkQxECqB
2017-08-03 11:46:00 +02:00
Ethan Lin
2f3e874c80 Bug 1386553 - Move boundary calculations from each item's CreateWebRenderCommands to StackingContextHelper constructor. r=kats
MozReview-Commit-ID: 7PJIghki2g2

--HG--
extra : rebase_source : cc54e11719239814eee6f6e6f7360fbc0d10f0ad
2017-08-03 17:41:41 +08:00
David Anderson
79f94b4bc8 Skip over layers with degenerate transforms. (bug 1381352, r=mattwoodrow) 2017-08-02 23:48:44 -07:00
sotaro
1b714b3485 Bug 1386903 - Fix IPDL reference handling of CrossProcessCompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-03 18:36:55 +09:00
Sebastian Hengst
a445a59613 Backed out changeset 009af86a3026 (bug 1239292) for build bustage at StyleSheetInlines.h(77). r=backout on a CLOSED TREE 2017-08-03 11:29:24 +02:00
Nicolas Silva
6e6cc6226b Bug 1239292 - Remove the gfx job scheduler. r=jrmuizel
We gave up on the iea of parallel tile rendering in favor of different approaches, so the job scheduler isn't used at all. The several seconds spend testing the job scheduler in each push is a waste of infra. In addition, rust is a better avenue to tackle this type of system.
2017-08-03 10:54:56 +02:00
Sebastian Hengst
a1ff1e3d1d Backed out changeset e5b859d66536 (bug 1386553) for Windows bustage at layers/StackingContextHelper.h(50). r=backout on a CLOSED TREE 2017-08-03 09:57:53 +02:00
Ethan Lin
a05d601f59 Bug 1386553 - Move boundary calculations from each item's CreateWebRenderCommands to StackingContextHelper constructor. r=kats
MozReview-Commit-ID: 7PJIghki2g2
2017-08-03 15:24:25 +08:00
Morris Tseng
65beb79d45 Bug 1379920 - Support canvas in layers free mode. r=kats
MozReview-Commit-ID: 42jOb3fzodb
2017-08-03 13:55:15 +08:00
Morris Tseng
27195d489d Bug 1379920 - Introduce mLastCanvasDatas. r=kats
mLastCanvasDatas store used WebRenderCanvasData in last full
transaction. So that in next empty transaction, we can update canvas
content through mLastCanvasDatas.

MozReview-Commit-ID: 2H2m8R7Kzwf
2017-08-03 13:55:15 +08:00
Morris Tseng
23c9ce9b7b Bug 1379920 - Introduce WebRenderCanvasData. r=kats
MozReview-Commit-ID: 4aBfWib1bQq
2017-08-03 13:55:14 +08:00
Morris Tseng
f3d4ff499f Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel
This patch move common canvas interfaces out of layer. So I create a
base class CanvasRenderer which move interfaces from CanvasLayer.
CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer
from ClientCanvasLayer and WebRenderCanvasRenderer from
WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the
non layers free mode and WebRenderCanvasRendererAsync for the layers
free mode.

Summary all changes in this patch.
* Move class CanvasLayer::Data to CanvasRenderer.h and rename it to
CanvasInitializeData. Because this class not only use by layer but also
* Move BasicCanvasLayer::UpdateSurface to
CopyableCanvasRenderer::ReadbackSurface.
* CanvasClient::Update now accepts ShareableCanvasRenderer as parameter.
not CanvasLayer.
use by layers-free mode. Move it out of layer's class makes more sense.
* Add InitializeCanvasRenderer in the canvas related classes to
initialize CanvasRenderer without involved layer.
* All canvas layer has function "CreateCanvasRendererInternal" that
initialize corresponding CanvasRenderer.

* Description of all CanvasRenderer classes:
** CanvasRenderer: Based classes.
** CopyableCanvasRenderer: Can readback canvas content to a
SourceSurface. Use by BasicCanvasLayer.
** ShareableCanvasRenderer: Provide IPC capabilities that allow sending
canvas content over IPC. This is pure virtual class because the IPC handling is
different in different LayerManager.
** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager.
Use by ClientCanvasLayer.
** WebRenderCanvasRenderer: Implement IPC handling for
WebRenderLayerManager.
** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer.
** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender.

class diagram shows below:

                      +--------------+
                      |CanvasRenderer|
                      +-------+------+
                              ^
                              |
                  +----------------------+
                  |CopyableCanvasRenderer|
                  +----------------------+
                              ^
                              |
                  +-----------+-----------+
                  |ShareableCanvasRenderer|
                  +-----+-----------------+
                        ^      ^
          +-------------+      +-------+
          |                            |
+--------------------+       +---------+-------------+
|ClientCanvasRenderer|       |WebRenderCanvasRenderer|
+--------------------+       +--------+--+-----------+
                                      ^  ^
              +-----------------------+  +----+
              |                               |
+-------------+-------------+   +-------------+--------------+
|WebRenderCanvasRendererSync|   |WebRenderCanvasRendererAsync|
+---------------------------+   +----------------------------+

MozReview-Commit-ID: 5hqQ19W169r
2017-08-03 13:55:14 +08:00
Morris Tseng
4fa6ccb4b3 Bug 1379920 - Rename Copy/ShareableCanvasLayer to Copy/ShareableCanvasRenderer. r=nical,jrmuizel
MozReview-Commit-ID: 9PItJtYtpCY

--HG--
rename : gfx/layers/CopyableCanvasLayer.cpp => gfx/layers/CopyableCanvasRenderer.cpp
rename : gfx/layers/CopyableCanvasLayer.h => gfx/layers/CopyableCanvasRenderer.h
rename : gfx/layers/ShareableCanvasLayer.cpp => gfx/layers/ShareableCanvasRenderer.cpp
rename : gfx/layers/ShareableCanvasLayer.h => gfx/layers/ShareableCanvasRenderer.h
2017-08-03 13:55:14 +08:00
Morris Tseng
2ecf605b8b Bug 1379920 - Add aAsync param to AddPipelineIdForAsyncCompositable and rename it to AddPipelineIdForCompositable. r=sotaro
When empty transaction in layers free mode, we don't rebuild whole
display list. But the canvas content will be updated and send the
content to parent by CanvasClient. We need some mechanism just like
async video which can update the content without rebuild the dl. But
CanvasClient doesn't use ImageBridge at all. So I slightly modify
AddPipelineIdForAsyncCompositable to let it support the Compostiable
either store in ImageBridge or WebRenderBridgeParent.

MozReview-Commit-ID: 3mKv13Pgc2k
2017-08-03 13:55:13 +08:00
Morris Tseng
c956c9f91d Bug 1379920 - Fix unified build error. r=nical
MozReview-Commit-ID: Dx50fOh737p
2017-08-03 13:55:13 +08:00
Morris Tseng
fbee651cc7 Bug 1378606 - Support mix-blend-mode in layers-free mode.
MozReview-Commit-ID: LNORKj1bUYq
2017-08-03 11:27:45 +08:00
Morris Tseng
5c89592091 Bug 1383212 - Store WebRenderLayerManager by RefPtr instead of raw pointer. r=kats
MozReview-Commit-ID: ArzdU60bIOE
2017-08-03 11:20:53 +08:00
Wes Kocher
851b59bdbe Merge m-c to inbound a=merge
MozReview-Commit-ID: 1p4eNdfSz9p
2017-08-02 17:46:32 -07:00
Wes Kocher
baf6cddc4c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
Sebastian Hengst
c2b9c2c204 Backed out changeset e1d538cd1cf8 (bug 1368531) for bustage on Windows: 'gfxPlatformFontList::InitOtherFamilyNamesRunnable::Cancel': overriding virtual function differs from 'mozilla::CancelableRunnable::Cancel' only by calling convention. r=backout 2017-08-02 21:12:51 +02:00
David Anderson
6fc9eaab4a Don't flush async paints on the main thread. (bug 1386517, r=mattwoodrow) 2017-08-02 11:37:31 -07:00
Randall Barker
844ff5f090 Bug 1380843 - Add gfx preference so GLScreenBuffer may be toggled between SurfaceFactory_EGLImage and SurfaceFactory_SurfaceTexture r=jgilbert
MozReview-Commit-ID: E6YOeIqo4UK
2017-08-02 17:09:38 -07:00
Randall Barker
96a2116ce5 Bug 1370544 - Ensure EGLSurface is created with the same EGLConfig as the context r=jgilbert
MozReview-Commit-ID: 1cN7VzCa2lV
2017-08-02 17:09:37 -07:00
JerryShih
0138441875 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-01 01:07:00 -04:00
Botond Ballo
a69196a7bc Bug 1385468 - Notify browser.xml when APZ cancels an AutoscrollAnimation. r=kats
The notification is sent via GeckoContentController, PAPZCTreeManager if
necessary (to go from the GPU process to the parent process), and the
observer service.

Naturally, the notification is not sent in the case where it's browser.xml
that initiates the shutdown.

MozReview-Commit-ID: IAaSf4HiDF4

--HG--
extra : rebase_source : 80855ac7d3ae44c393dde96650b330cc737f69d6
2017-07-31 19:15:26 -04:00
David Anderson
ba247834e2 Always visit children of container layers, in case they have asynchronous animations outside of the precomputed visible bounds. (bug 1382382, r=mattwoodrow) 2017-08-02 14:24:13 -07:00
sotaro
a17b90875f Bug 1386505 - Fix IPDL reference handling of CompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-02 22:21:17 +09:00
Phil Ringnalda
2ef9ec6589 Backed out changeset 525c6c747a7a (bug 1383916) for Windows 8 reftest failures
CLOSED TREE

MozReview-Commit-ID: LvxYj7DmsGX
2017-08-01 23:07:18 -07:00
David Anderson
c5e4aacb3f Handle resampled painted layers after occlusion culling. (bug 1385961, r=mattwoodrow)
--HG--
extra : rebase_source : 239abc310f202c527f0f1cb64f5d2d01cd3be15a
2017-08-01 15:40:32 -07:00
Mason Chang
788361e0d9 Bug 1383916. Prep and flush draw targets on the paint thread with OMTP. r=dvander 2017-07-31 20:56:01 -07:00
Kartikaya Gupta
f459d3dc28 Bug 1387046 - Add missing field to operator== in CompositorOptions. r=dvander
MozReview-Commit-ID: 8sZgFKQsnun

--HG--
extra : rebase_source : 58905ee8f66d71cb09a930edbaebd7f719c68b96
2017-08-03 09:33:42 -04:00
Sebastian Hengst
d9f6b67320 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-04 19:32:45 +02:00
Mason Chang
ab70851265 Bug 1386849 - Always force CompositorBridgeChild::NotifyFinishedAsyncPaint. r=dvander 2017-08-03 22:55:44 -07:00
Ryan Hunt
2dbd25ee8a Bug 1384980 - Add a doc comment for apz.keyboard.enabled. r=botond
MozReview-Commit-ID: 5pQXqmUzxJQ

--HG--
extra : rebase_source : c14735e1fde801b8ee9eb388006e7012627ab33f
2017-08-04 11:31:49 -04:00
Ryan Hunt
767be953a9 Bug 1385071 - Allow keyboard APZ with passive listeners, behind a pref. r=kats
This commit adds the pref, 'apz.keyboard.passive-listeners', to allow web
content to have passive key event listeners and use keyboard APZ. When we are
allowing passive listeners, we need to dispatch the input to content and can
no longer consume the event. So we use mHandledByAPZ in nsXBLWindowKeyHandler
to determine whether we still need to do the default action, or whether it
has been done by APZ.

MozReview-Commit-ID: 2HAC6DjDyPZ

--HG--
extra : rebase_source : 77543ef3f28bdbb8ef77e984097ce75cdf333c82
2017-07-27 19:53:57 -04:00
Ryan Hunt
c38e071dbe Bug 1385071 - Add another method to EventTarget for detecting only non-passive key listeners. r=smaug
This is for adding a pref that will allow web content to have key listeners
and use keyboard APZ, if they are marked passive. This commit also reworks
the function names and comments to make them more accurate.

MozReview-Commit-ID: LGDaVQOK1CS

--HG--
extra : rebase_source : a6bb4b7fff3488dea62b9114aa164814c74561a4
2017-07-27 19:46:44 -04:00
Kevin Chen
40b5eb5426 Bug 1386182 - Set FeatureState after EnableByDefault() in gfxWindowsPlatform::InitializeD3D11Config; r=jerry
MozReview-Commit-ID: G0Ozjq0bFRt

--HG--
extra : rebase_source : 0d87b4c8cb5171b6ada553dc95c1fc1aca1bc1c2
2017-08-01 17:19:17 +08:00
Daosheng Mu
92a31f9962 Bug 1382123 - SteamVR Knuckles support in WebVR. r=kip
MozReview-Commit-ID: 4dHRkcQcmeL
2017-08-01 16:36:26 -04:00
Ethan Lin
a1f704c881 Bug 1384839 - Part4. Use A8 format when painting mask image. r=kats
MozReview-Commit-ID: 9vMkBxRNAUv

--HG--
extra : rebase_source : 164011beb656b7b97f0854baeedabbe85c2f9321
2017-07-31 14:00:29 +08:00
Ethan Lin
a79f89c36a Bug 1384839 - Part2. Add BuildWrMaskImage() for creating WrImageMask. r=kats
MozReview-Commit-ID: 5S3CRSLX5wY

--HG--
extra : rebase_source : aeedbdf986d6f53b1f9410bbe5608dc45226c8f7
2017-07-28 11:49:05 +08:00
Ethan Lin
582a02967a Bug 1384839 - Part1. Extract the generation of fallback data from PushItemAsImage into a helper function to reuse it for mask painting. r=kats
MozReview-Commit-ID: FUP6bZyfalQ

--HG--
extra : rebase_source : fcea78dc934761c1e6517bd11bd3a9233f4405c6
2017-07-28 11:30:05 +08:00
Sebastian Hengst
ddd4030358 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IrMqWiJhwan
2017-08-01 11:23:57 +02:00
Nicholas Nethercote
73558eac3d Bug 1384834 (part 2) - Remove remaining uses of nsAdoptingCString. r=erahm.
--HG--
extra : rebase_source : 70a385a0a06bc88e728d51459e7460a68f15f7fb
2017-07-28 11:21:47 +10:00
Wes Kocher
3c2dc39278 Merge m-c to inbound, a=merge
MozReview-Commit-ID: BgPWEtPV0sy
2017-07-31 17:49:47 -07:00
Wes Kocher
179a07b6ba Merge inbound to central, a=merge
MozReview-Commit-ID: Dg4fbH8wbXt
2017-07-31 17:43:38 -07:00
Mason Chang
e74cbf6505 Bug 1384756 - Don't support component alpha layers with OMTP. r=dvander 2017-07-31 16:48:56 -07:00
Kartikaya Gupta
f852cfa561 Bug 1386020 - Use wr::IdNamespace instead of uint32_t for the WR namespace. r=sotaro
MozReview-Commit-ID: JbQNgNQHobO

--HG--
extra : rebase_source : c16f17e37e94a41127410daed01f32ec4b06cb91
2017-07-31 16:31:10 -04:00
Kartikaya Gupta
c3e4aef0b4 Bug 1384616 - Save APZ-relevant scrollbar data into the WR scroll data for layers-free transactions. r=jrmuizel
MozReview-Commit-ID: 6DQz9N6Wq0H

--HG--
extra : rebase_source : 8a113d4a53e1562b55cc05a0bc411675a2ca9eb1
2017-07-31 15:27:30 -04:00