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

26510 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt db5f497c0f Bug 1351783 part 16 - Perform async scrolling for keyboard events when possible. r=kats,botond,dvander
This commit ties it all together by dispatching keyboard actions to scroll targets
in response to keyboard inputs when we have current and valid focus state.

MozReview-Commit-ID: G7rZiS3FH5e

--HG--
extra : rebase_source : 10129d417fe8ef576cac5bda3157dd8f65b5843a
extra : histedit_source : be651a33f787f68bc764988ddc073d346e854491
2017-06-05 19:46:06 -05:00
Ryan Hunt c24e099b23 Bug 1351783 part 15 - Hook up APZC for scrolling based on a KeyboardScrollAction. r=kats,botond
This commit adds code for keyboard scroll animations and computing the delta
needed for a keyboard scroll action. Keyboard scrolling behavior is more complex
with scroll snapping, so we don't support async keyboard scrolling when we have
scroll snap points.

MozReview-Commit-ID: 97CpprCBp2A

--HG--
extra : rebase_source : 154b2c6b5a6c587fca011ab885c8d46ba6b4d80a
extra : histedit_source : 87ba53fe89069a47751d9ce25fc344011fb0f4de
2017-06-06 04:47:10 -05:00
Ryan Hunt 285770048d Bug 1351783 part 14 - Create a base class for WheelScrollAnimation. r=botond
MozReview-Commit-ID: BtUJo5NAiTR

--HG--
extra : rebase_source : ba3d7cf476ab806094ff2e0c33753e81f88761bf
extra : histedit_source : a898248b30fd1060e82478096fe2624a35473c26
2017-06-15 04:31:50 -04:00
Ryan Hunt 5e36e136d3 Bug 1351783 part 13 - Add a function for determing if a ScrollSnapInfo has scroll snap points. r=botond
MozReview-Commit-ID: 7Dj0RGfQFNC

--HG--
extra : rebase_source : e25f6657f379b286c9393af19b3771c6296db468
extra : histedit_source : e9206c7c276fb9653df142617e08ec3bb7c6f1ad
2017-06-15 03:52:34 -04:00
Ryan Hunt c1312e5abc Bug 1351783 part 12 - Create and sync focus sequence numbers. r=kats,botond,dvander
Focus can change at any moment in a document. This causes non-determinism and
correctness problems for doing keyboard apz scrolling. To get around this, we
will maintain deterministic behavior for focus changes initiated by input events
and see if we can get away with more non-determinism for things like `setTimeout`

In order to do this, we disable async keyboard scrolling when an input event is
processed that could have a event listener. We then attach a sequence number to
that input event and dispatch it to content. In content, we record the highest
sequence number that we have processed from an event, and send that on each focus
update. Using this, we can determine in APZ if we have a current focus target or
if we are still waiting for an input event to be processed and focus to be
reconfirmed.

MozReview-Commit-ID: CWcu8YEFQz4

--HG--
extra : rebase_source : 8c54a619bd4f5ee892f0cc8768a10f3e1e4e0b59
extra : histedit_source : 601ca293a028787883841adc6b40e62c0cc829e5
2017-06-05 19:45:31 -05:00
Ryan Hunt 0785b2f849 Bug 1351783 part 11 - Sync FocusTarget with WebRenderLayerManager. r=kats
MozReview-Commit-ID: LxWt22XY5IE

--HG--
extra : rebase_source : c8eb965d1737d4f6791d96d4f975a31365790632
2017-06-13 02:43:59 -04:00
Ryan Hunt a6a2b4f7c4 Bug 1351783 part 10 - Create and sync the current FocusTarget on each layer transaction. r=kats,botond
This commit modifies PresShell and nsDisplayList to send a FocusTarget update on
every layer transaction. Ideally we would like to send updates as often as possible,
but this seems like it works well. This can be iterated on later, if necessary.

MozReview-Commit-ID: 8PFqIOhzH77

--HG--
extra : rebase_source : 1e2c3b5620f5d7e6e789848da57b2486c3d74f14
2017-06-13 02:00:49 -04:00
Ryan Hunt 3332ba9ac0 Bug 1351783 part 9 - Disable a FocusTarget for an editable element. r=smaug
This commit updates FocusTarget to disable itself if the focused element is editable,
or is a part of an editable document. This is needed because we cannot do async
scrolling when this is the case.

MozReview-Commit-ID: Fl7W3967djG

--HG--
extra : rebase_source : f376dec47965ade11055e10d68311fa9566aca9f
2017-06-05 19:23:45 -05:00
Ryan Hunt 1432b9109d Bug 1351783 part 8 - Gather whether there are key listeners on the focused element. r=kats,smaug
This commit updates FocusTarget to collect whether there are key listeners
on the event target chain for the focused element. This is needed because we
cannot do async scrolling when this is the case.

MozReview-Commit-ID: FhSyF6ffZ4

--HG--
extra : rebase_source : 3e7e8e88ddda1a6b9e8542c131fdbb37e578d7e1
2017-06-05 19:22:16 -05:00
Ryan Hunt 99499fb9d6 Bug 1351783 part 7 - Create FocusState and FocusTarget types. r=kats,botond
This commit begins the work needed for tracking focus by creating two new classes,
FocusTarget and FocusState. FocusState is created and used by APZCTreeManager to
track the global focus information, while FocusTarget is created per layer tree and
sent to APZ with local focus information. Between the two we are able to figure out
what the correct scrollable layer is to use in response to a keyboard scroll.

See the comment in `FocusState.h` for more details on the architecture and things
needed in future patches to complete this.

MozReview-Commit-ID: F75VZv3i9U2

--HG--
extra : rebase_source : 3d04bced8e13a9884f0c1b320bad8ba2205d7011
2017-06-05 19:12:22 -05:00
Ryan Hunt cc923c3909 Bug 1351783 part 6 - Create and send KeyboardMap to APZCTreeManager. r=kats
This commit makes it so we initialize, send, and store a KeyboardMap for every
APZCTreeManager for later keyboard event processing.

This is a naive approach so it may be worth improving.

MozReview-Commit-ID: CYTbLL3wRlC

--HG--
extra : rebase_source : 016b80a2a209d4fb5b92bc3adb95bd2dbb4399e0
2017-06-05 18:35:32 -05:00
Ryan Hunt 18867b218f Bug 1351783 part 5 - Add a KeyboardMap type. r=kats,masayuki
The XBL bindings used for scrolling are managed by a nsXBLWindowKeyHandler. This
class loads the handlers and has logic for searching through them to match a
keyboard event. This commit adds a KeyboardMap class for storing KeyboardShortcuts
and for mirroring the search logic of nsXBLWindowKeyHandler.

MozReview-Commit-ID: 5BmFBilKTJy

--HG--
extra : rebase_source : 96cd0f5808ba6c4926e9da368ab3780b1d9d1449
2017-06-05 18:29:04 -05:00
Ryan Hunt 710c2e9481 Bug 1351783 part 4 - Add a KeyboardShortcut type. r=kats,masayuki
Keyboard scrolling works by first dispatching a key event to the focused element
of the page. It is then caught by a XBL binding put on the chrome event handler of
every window. The XBL binding searches through all of its handlers to find one
that can handle the keyboard event. The matching binding has a command string
which is dispatched to the nsGlobalWindowCommands which dispatches to PresShell
which does the actual scrolling.

To do this asynchronously, we need a representation of the XBL handlers that can
be applied to a KeyboardInput to get a KeyboardAction.

This commit adds KeyboardShortcut for this purpose. KeyboardShortcut is designed
to be compatible with nsXBLPrototypeHandler and to only handle the specific cases
we care about for keyboard scrolling. If a XBL handler runs javascript or does
anything else we cannot handle in an OMT situation, then we create a
dispatch-to-content KeyboardShortcut.

MozReview-Commit-ID: 1qzywS3QHVp

--HG--
extra : rebase_source : 8ea4f85c02d04ce5e0fa6e430c44ac920269dd9f
2017-06-05 18:24:35 -05:00
Ryan Hunt a97d402536 Bug 1351783 part 3 - Add a KeyboardScrollAction type. r=kats,masayuki
The different types of keyboard scrolls are represented as command strings that
are dispatched to nsGlobalWindowCommands. This commit adds a class to represent
these command strings, along with a function to find the keyboard scroll action
corresponding to a command string.

MozReview-Commit-ID: 20vvYdzlYYT

--HG--
extra : rebase_source : 8a965429f57534ac65da597cbb05a08284f7eaeb
2017-06-05 18:17:30 -05:00
Ryan Hunt cfc792bc4c Bug 1351783 part 1 - Add includes for unified build issues. r=kats
MozReview-Commit-ID: D57bbW4pmPZ

--HG--
extra : rebase_source : 9af2973a112c7ea641876c1f945797f2c7c945ce
2017-06-05 18:03:02 -05:00
Sebastian Hengst 4798a534fd Backed out changeset 9db369ba372c (bug 1375759) for unused mComputedDrawRegion. r=backout 2017-06-27 20:47:30 +02:00
David Anderson 45ebfe4fb7 Implement LayerMLGPU::SetLayerManager. (bug 1375759, r=mattwoodrow) 2017-06-27 11:31:37 -07:00
Nicholas Nethercote 5d3808c6e5 Bug 1373436 (part 4) - Use UniquePtr with profile_add_marker(). r=mstange.
Once the |aPayload| argument to profile_add_marker() became a UniquePtr the
default value of nullptr caused compilation difficulties that could only be
fixed by #including ProfilerMarkerPayload.h into lots of additional places
(because the UniquePtr<T> instantiation required the T to be fully defined). To
get around this I just split profile_add_marker() into two functions, one with
1 argument and one with 2 arguments.

The patch also removes the definition of PROFILER_MARKER_PAYLOAD in the case
where MOZ_GECKO_PROFILER isn't defined. A comment explains why.
2017-06-16 12:26:26 +10:00
Sebastian Hengst 1f7d31312c merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-18 20:50:40 +02:00
Andrew Osmond f4ca4bff53 Bug 1373540 - Fix switchover from the GPU process compositor to the same process compositor. r=me,dvander 2017-06-18 14:49:30 -04:00
Sebastian Hengst 593e520c55 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Oi3PA6ZpRz
2017-06-18 20:35:11 +02:00
Sebastian Hengst 95244ee248 Backed out changeset 866d59780f6d (bug 1373540) for mass test failures on Windows debug (tests terminated with RunWatchdog). r=backout 2017-06-18 01:32:24 +02:00
Sebastian Hengst 968a22a73d merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-18 00:25:47 +02:00
Andrew Osmond 60cec7b49f Bug 1373540 - Fix switchover from the GPU process compositor to the same process compositor. r=dvander 2017-06-17 17:52:34 -04:00
Sebastian Hengst e8f0643a4e Backed out changeset 03e899794f41 (bug 1371037) for merge conflict with bug 1368386, v2. r=backout a=backout
MozReview-Commit-ID: De78lCy88sD
2017-06-17 22:49:14 +02:00
Sebastian Hengst 478026cce6 Backed out changeset 03e899794f41 (bug 1371037) for merge conflict with bug 1368386. r=backout 2017-06-17 22:10:05 +02:00
Sebastian Hengst df925a5cf8 Backed out changeset 03e899794f41 (bug 1371037) for merge conflict with bug 1368386. r=backout a=backout
MozReview-Commit-ID: GPp2Knh4JQt

--HG--
extra : amend_source : c62c91c325a892b612945dc8a2d560660085a1aa
extra : transplant_source : %EC%87%3C2%EE%06%AC%C1Wo/%3FoO%CFX%CE%2C%B9%C5
2017-06-17 22:10:05 +02:00
Sebastian Hengst 3654d560d6 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: DPQl41S3ZkU
2017-06-17 22:26:03 +02:00
Jeff Muizelaar 427de06487 Bug 1372685 - Make dummy target 1x1. r=lsalzman
Now that we don't playback our dummy target only needs to be 1x1 instead
of the recording size.  This saves time and memory.
2017-06-17 15:22:26 -04:00
Sebastian Hengst efd723cdad merge mozilla-central to autoland. r=merge 2017-06-18 00:21:41 +02:00
Masatoshi Kimura 838ccc4108 Bug 1369025 - Remove mozilla::dom::EncodingUtils. r=hsivonen
MozReview-Commit-ID: 5O5WtxbmATQ

--HG--
rename : dom/encoding/encodingsgroups.properties => intl/locale/encodingsgroups.properties
extra : rebase_source : 13143b43ee745b618e05ed1b6991d69781c2767d
2017-06-17 11:54:40 +09:00
Kearwood Gilbert a679f93781 Bug 1352446 - Fix 32-bit build crash with Oculus VR r=daoshengmu
- Validate GetSharedResourceView in VRDisplayOculus::SubmitFrame and VRDisplayPuppet::SubmitFrame
- Correct size of frameIndex to be "long long" rather than "int" for
  ovr_GetPredictedDisplayTime
- Updated to Oculus 1.15.0 SDK
- Now sending absolute timestamp of the predicted frame time
  to ovr_GetTrackingState rather than a delta

MozReview-Commit-ID: GLSkqwae7Jp

--HG--
extra : rebase_source : 80a051c4af9e2241fe971fc2763015b5f3d18f7c
2017-06-08 14:03:26 -07:00
Daosheng Mu a6cdb3aeb0 Bug 1368990 - Add reftest for verifying onVRPresentChange; r=kip
MozReview-Commit-ID: I8cce1eYQV8

--HG--
extra : rebase_source : ff04f5cefeb446f8730f570bdea804b341d1e947
2017-06-07 17:05:04 +08:00
Lee Salzman 29a9c9d166 Bug 1305085 - don't let SkScalerContext::computeMatrices generate zero scales. r=mchang
MozReview-Commit-ID: 4guj6XPWB47
2017-06-14 21:43:27 -04:00
Lee Salzman e4cbb5aad8 Bug 1365794 - optimize box blur surfaces for destination draw target. r=mchang
MozReview-Commit-ID: CfAwZZy6v5M
2017-06-16 16:50:39 -04:00
Mason Chang 86004b9db3 Bug 1371037 - Support for record and replay of ClientPaintedLayers on the main thread. r=dvander 2017-06-15 16:32:59 -07:00
Sebastian Hengst a90ef58a2b Backed out changeset 0bade2cd1908 (bug 1343728) 2017-06-16 22:20:43 +02:00
Wes Kocher 296d2b492b Merge m-c to autoland, a=merge
MozReview-Commit-ID: B3DzZrZb3AB
2017-06-16 18:28:40 -07:00
Sebastian Hengst d70c8aa98b merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-16 09:52:22 +02:00
Sebastian Hengst 265affc002 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5wTyHWufcCh
2017-06-16 09:50:00 +02:00
sotaro 61c0f84377 Bug 1372512 - Fix webrender Key leaks of WebRenderBridgeParent on abnormal shutdown r=kats
This bug handles abnormal client shut down case and Tab move between different windows.

Abnormal client shut down case, WebRenderBridgeParent does not receive IPC messages that are sent during WebRenderLayerManager and WebRenderBridgeChild destruction. In this case, webrender keys except keys of external images are not removed from webrender. Abnormal shut down could happen when content process was crashed or content process was killed by ContentParent if shutdown takes too long time.

In the tab move case, the WebRenderBridgeParent will need to be re-bound to a different CompositorBridgeParent and webrender, and so will need to clear all its related keys from the old webrender. This will happen in a future patch.
2017-06-16 15:31:01 +09:00
domfarolino@gmail.com 0cfb387dec Bug 1274663 - Add mochitest. r=dvander
--HG--
extra : rebase_source : 256d3b1cb3715a6e227ce119cdebcfabc7a45ed6
2017-06-15 14:35:00 -04:00
domfarolino@gmail.com d4253766db Bug 1274663 - Expose API to trigger device reset. r=dvander
--HG--
extra : rebase_source : 5a9d2757f8e7378083ce42131d5a250027569814
2017-06-15 14:34:00 -04:00
Sebastian Hengst a672914c01 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-15 20:14:54 +02:00
Sebastian Hengst 43c84014a1 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HYo8pUZXJ8Z
2017-06-15 20:12:28 +02:00
Kartikaya Gupta 56e85d2efc Bug 1372603 - Remove unnecessary clip from container layers. r=jrmuizel
MozReview-Commit-ID: F6VnThG5QFI

--HG--
extra : rebase_source : 9d6d670e31520bfe8d5c46297eeba1a0bb3279c9
2017-06-14 15:43:17 -04:00
Kartikaya Gupta aec19f9182 Bug 1372603 - Remove unused functions and parameters. r=jrmuizel
MozReview-Commit-ID: 1DUBPEcCe2u

--HG--
extra : rebase_source : 15c6ac0719a0186a39d619285269555e7a571918
2017-06-14 15:43:16 -04:00
Kartikaya Gupta 60385dfbe4 Bug 1372603 - Move the clip rect for async images outside the iframe item. r=jrmuizel,sotaro
The async images codepath is a bit different in that it pushes an iframe
item to the WR display list and updates it asynchronously. However in
this case it still makes sense to push the layer's local clip
outside the iframe, and just populate the iframe with the image and not
worry about clips inside the iframe. As mentioned in part 1 of this
patchset, this will be needed to properly handle async scrolling.

This patch makes the necessary changes to push the clip outside the
iframe and simplifies what happens in WebRenderCompositableHolder to
generate the display list for the iframe itself.

MozReview-Commit-ID: DeZElH4p4rc

--HG--
extra : rebase_source : 3f3458a6c2607b8290dc2174a248f3d7bd33a3a9
2017-06-14 15:43:16 -04:00
Kartikaya Gupta 4b9fbd6d4d Bug 1372603 - Remove the duplicated clip from WebRenderDisplayItemLayer. r=jrmuizel
Since part 1 of this patch set pushed the layer's local clip as part of
the code in ScrollingLayersHelper, it is no longer needed in the
WebRenderDisplayItemLayer (it is effectively duplicated).

MozReview-Commit-ID: F2HFsx3XI9M

--HG--
extra : rebase_source : 5dfcecb649376d6958760e4e95cd025d01f3124c
2017-06-14 15:43:16 -04:00
Kartikaya Gupta 367cc282d0 Bug 1372603 - Make sure the mask rect is relative to the enclosing stacking context. r=jrmuizel
This ensures that for layers with both transforms and mask layers, the
mask layer is properly positioned outside of the transform and relative
to the proper stacking context.

MozReview-Commit-ID: 79yvhxQCykW

--HG--
extra : rebase_source : 353a7dcc59fb2df0ff2379909a08986ec176ac50
2017-06-14 15:43:16 -04:00
Kartikaya Gupta 1ed171d132 Bug 1372603 - Push the layer's local clip rect outside the stacking context. r=jrmuizel
For various reasons, we want to be pushing the layer's local clip rect
outside of the stacking context rather than inside it. Not only is this
more correct with respect to the semantics of the layer tree, we also
need it in order to properly handle fixed-positioning of layers with
async scrolling.

This patch does the bulk of the work to make this happen. Most of the code
in the individual layer classes to process the layer's local clip rect
is removed, and instead a function in ScrollingLayersHelper is added to
deal with it. There are a couple of places that individual layer classes
still handle this but those will be removed in future patches. Note that
the individual layer classes still need to provide a clip rect of some
sort in order to push their display items, and now they simply use their
visible region bounds for this purpose.

MozReview-Commit-ID: IBmfUdJwYx1

--HG--
extra : rebase_source : 3f48a707f35a398711813d859af1e7184f19fd40
2017-06-14 15:43:16 -04:00
Sebastian Hengst 20d16dadd3 merge mozilla-inbount to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 36YqbsnO3en
2017-06-15 11:11:30 +02:00
Andrew Osmond 9e4c9d88a1 Bug 1365927 - Part 6. Remove CompositorThreadHolder reference from CompositorBridgeParent. r=dvander 2017-06-14 11:40:00 -04:00
Andrew Osmond cafe9dcd45 Bug 1365927 - Part 5. Make PCompositorManager the manager protocol of PCompositorBridge. r=dvander 2017-06-14 11:40:00 -04:00
Andrew Osmond 27eaaaed2f Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-14 11:39:59 -04:00
Andrew Osmond 9abc5f52d5 Bug 1365927 - Part 3. Move PCompositorBridge toplevel protocol overrides to PCompositorManager. r=dvander 2017-06-14 11:39:59 -04:00
Andrew Osmond fc4e6a00ae Bug 1365927 - Part 2. Add minimal PCompositorManager protocol. r=dvander 2017-06-14 11:39:59 -04:00
Andrew Osmond a3d11c8688 Bug 1365927 - Part 1. Add missing headers and other build housekeeping. r=dvander 2017-06-14 11:39:59 -04:00
Mats Palmgren 2979d4b762 Bug 1372368 - Use LookupForAdd instead of Get+Put to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: trugd3ihLh
2017-06-14 17:27:25 +02:00
Mats Palmgren cfd3f9f9cf Bug 1371954 - Use RemoveEntry(EntryType*) rather than RemoveEntry(KeyType) to avoid an unnecesary hashtable lookup. r=froydnj
MozReview-Commit-ID: 10mB1SslmUm
2017-06-14 17:27:24 +02:00
Nicolas Silva f209188047 bug 1373135 - Mark wr_thread_pool_delete destructor-safe. r=kats 2017-06-15 14:20:12 +02:00
Sebastian Hengst 1b26da1b2f merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-15 11:17:07 +02:00
JerryShih 011987c967 Bug 1372803 - Handle GPUVideoTextureHost type for WR. r=sotaro
In windows platform, gecko will use GPUVideoTextureHost type for remote video decoding.
Implement the WR related functions for this type.

MozReview-Commit-ID: KSpndcApK3H
2017-06-15 17:07:46 +08:00
JerryShih 8731715817 Bug 1372803 - Move the RenderTextureHost creation from WebRenderTextureHost to the corresponding TextureHost. r=sotaro
MozReview-Commit-ID: JF19ntiQKfa
2017-06-15 17:07:46 +08:00
JerryShih 6175226606 Bug 1372803 - Remove the unnecessary AsMacIOSurfaceTextureHostOGL() interface in RenderTextureHostOGL. r=sotaro
This function is not necessary in our current implementation.

MozReview-Commit-ID: IyfzLTs3uQ6
2017-06-15 17:07:46 +08:00
sotaro a1ccf002a7 Bug 1372066 - Fix animations leak on abnormal shutdown and tab move between different windows r=kats
This bug handles abnormal client shut down case and Tab move between different windows.

Abnormal client shut down case, WebRenderBridgeParent does not receive IPC messages that are sent during WebRenderLayerManager and WebRenderBridgeChild destruction. In this case, animations under the WebRenderBridgeChild are not removed from CompositorAnimationStorage. Abnormal shut down could happen when content process was crashed or content process was killed by ContentParent if shutdown takes too long time.

In the tab move case, the WebRenderBridgeParent will need to be re-bound to a different CompositorBridgeParent and CompositorAnimationStorage, and so will need to clear all its active animations from the old CompositorAnimationStorage and add animations into the new CompositorAnimationStorage. This will happen in a future patch.
2017-06-15 16:36:03 +09:00
JerryShih 23bde0778f Bug 1372489 - Update GLConsts.h and GLDefs.h. r=jgilbert.
Get the latest gl.xml, egl.xml, wgl.xml and glx.xml.
Then, execute the |GLParseRegistryXML.py|. Please check the details in |GLParseRegistryXML.py|.

The ANGLE_stream_producer_d3d_texture_nv12 and ANGLE_keyed_mutex extension are not exist in egl.xml,
so add the "LOCAL_EGL_DXGI_KEYED_MUTEX_ANGLE" and "LOCAL_EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE" manually in GLDefs.h.

egl:
2e6e7ff7bf
gl, glx and wgl:
23a3a95673
2017-06-15 14:43:53 +08:00
sotaro 33a0f76b05 Bug 1372816 - Send WebRenderParentCommands When EmptyTransaction is aborted r=jrmuizel 2017-06-15 13:38:22 +09:00
Bobby Holley edc99fdc0c Bug 1341102 - Cherry-pick 0.8 rayon bump for in-tree webrender. r=kats
MozReview-Commit-ID: HZmoxOQzHrk
2017-06-14 20:21:38 -07:00
domfarolino@gmail.com 5450eab623 Bug 1369549 - Bootstrap a painting thread for OMTP. r=dvander
--HG--
extra : rebase_source : bae591cdace1197a6b4d3a489a46bdaab5293d23
2017-06-09 16:30:00 -04:00
domfarolino@gmail.com 0fe1d756ab Bug 1369542 - Hook up OMTP to config/about:support/crash annotation system. r=dvander
--HG--
extra : rebase_source : dbf55894b92f7964ab6f64469394117179142f9a
2017-06-06 16:18:00 -04:00
Milan Sreckovic 8a9d97395a Bug 789945: Part 4. Explicitly make some pref save be blocking calls. r=bsmedberg
MozReview-Commit-ID: 1MEp7o65HAV

--HG--
extra : rebase_source : b787c78253ad22b6fd4785e7a66f426af4f9b424
2017-06-14 13:38:17 -04:00
sotaro 66b234254a Bug 1371557 - Enable depth buffer on GLContextProviderEGL for webrender r=nical 2017-06-14 19:32:04 +09:00
Robert Longson f055bf18d2 Bug 1369904 - Bounding box should not include control points. r=lsalzman 2017-06-14 06:34:01 +01:00
Wes Kocher c2afdb09bd Backed out changeset 5df8f9f0a5b9 (bug 1370430) to see if it unbreaks builds a=backout CLOSED TREE
MozReview-Commit-ID: G2snPHLTZg5

--HG--
rename : third_party/rust/euclid-0.13.0/src/matrix2d.rs => third_party/rust/euclid/src/matrix2d.rs
rename : third_party/rust/euclid-0.13.0/src/matrix4d.rs => third_party/rust/euclid/src/matrix4d.rs
extra : amend_source : 796c79ec645c0d1d357d052585ef9da24ec887fe
2017-06-13 19:16:09 -07:00
Matt Woodrow 9dc1432982 Bug 1361970 - Make PostProcessLayers occlusion culling work against the surface we will draw to rather than the parent layer. r=mstange
* * *
[mq]: fix

MozReview-Commit-ID: Dm42jlC19pE
* * *
[mq]: fix

MozReview-Commit-ID: 3c1Bp7BeY5T
2017-06-14 13:47:08 +12:00
Wes Kocher 09a205279b Merge m-c to inbound, a=merge
MozReview-Commit-ID: 7AS5EEH6buZ
2017-06-13 18:36:04 -07:00
Wes Kocher 1af6d5cf57 Merge inbound to central, a=merge
UPGRADE_NSS_RELEASE
MozReview-Commit-ID: CBIFPwA5aNp

--HG--
extra : amend_source : 035a5be59d0046a643d0f836a95195e8c4ade4a6
2017-06-13 18:27:10 -07:00
Wes Kocher bcf1a1c32e Backed out 6 changesets (bug 1365927) for build failures in ipc_message_utils.h a=backout CLOSED TREE
Backed out changeset 11fc0da380a2 (bug 1365927)
Backed out changeset 9f1dee5a6c42 (bug 1365927)
Backed out changeset f4954c824f5c (bug 1365927)
Backed out changeset 144ac6cc76f8 (bug 1365927)
Backed out changeset 961e782cf7c7 (bug 1365927)
Backed out changeset 12a093fb86a4 (bug 1365927)

MozReview-Commit-ID: 6CDxqOJzMjE
2017-06-13 12:45:03 -07:00
Andrew Osmond 5500fe634e Bug 1365927 - Part 6. Remove CompositorThreadHolder reference from CompositorBridgeParent. r=dvander 2017-06-13 15:20:36 -04:00
Andrew Osmond 7dc8c4cc9f Bug 1365927 - Part 5. Make PCompositorManager the manager protocol of PCompositorBridge. r=dvander 2017-06-13 15:20:00 -04:00
Andrew Osmond c17a8c1ea1 Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-13 15:19:36 -04:00
Andrew Osmond 9c5b478f2f Bug 1365927 - Part 3. Move PCompositorBridge toplevel protocol overrides to PCompositorManager. r=dvander 2017-06-13 15:19:36 -04:00
Andrew Osmond 9a639f1536 Bug 1365927 - Part 2. Add minimal PCompositorManager protocol. r=dvander 2017-06-13 15:19:36 -04:00
Andrew Osmond 230fa0dcd8 Bug 1365927 - Part 1. Add missing headers and other build housekeeping. r=dvander 2017-06-13 15:17:59 -04:00
Eric Rahm 23b71eb97f Bug 1353593 - Part 1.1: Fix usage of char16ptr_t in a graphics logging message. r=milan
This message intends to print out a string but was inadvertantly converting
the string pointer to a hex value. Adding an implicit conversion of char16ptr_t
to |wchar*| breaks this, so we just update the code to actually convert and
print the string instead.

MozReview-Commit-ID: 90luEnoysX3
2017-06-12 16:20:48 -07:00
Kartikaya Gupta 594d9df8f5 Bug 1370430 - Update webrender to cset 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5. r=jrmuizel
In addition to update webrender/ and webrender_traits/, this updates
the webrender_bindings dependency on euclid to euclid-0.14.4. It also
updates some webrender_bindings code for this dependency update, and
for the BlobImageRenderer API change in WR cset 36a9117.

MozReview-Commit-ID: JlmTHrFdfUM

--HG--
rename : third_party/rust/euclid/src/matrix2d.rs => third_party/rust/euclid-0.13.0/src/matrix2d.rs
rename : third_party/rust/euclid/src/matrix4d.rs => third_party/rust/euclid-0.13.0/src/matrix4d.rs
2017-06-13 11:10:14 -04:00
Kartikaya Gupta e5fa0b8e06 Bug 1372321 - Log the mask rect when passing a WrImageMask to WR. r=jrmuizel
MozReview-Commit-ID: 3CdjfiwzZiJ

--HG--
extra : rebase_source : d3a6aac4042412d82aa1c3a5f47a40230d5297eb
2017-06-13 08:42:39 -04:00
Kartikaya Gupta 34ddac837f Bug 1372321 - When pushing a clip item, ensure the clip rect and mask rect are relative to the content rect. r=mrobinson+572841
MozReview-Commit-ID: BGnsq9qoinV

--HG--
extra : rebase_source : 1899a2b27e78c7552effc7ac2d4c1703a9ebbe30
2017-06-13 08:42:37 -04:00
Bill McCloskey f9aca3eae6 Bug 1365099 - Convert NS_GetCurrentThread uses in gfx (r=dvander)
MozReview-Commit-ID: 9I4eXsBl2s8
2017-06-12 20:20:08 -07:00
Sebastian Hengst f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Jeff Muizelaar 64116b92d4 Bug 1362245. Stop running commands during recording for BlobImage. r=lsalzman
This keeps around mFinalDT but mostly doesn't use it (except for when creating
a PathBuilder). All playback is ripped out and we'll no longer hold references
to things to mFinalDT::GraidentStops or SourceSurfaces etc.
2017-06-12 17:53:21 -04:00
Alexis Beingessner c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Jeff Muizelaar 63724b1070 Bug 1369552. Split out DrawTargetWrapAndRecord and DrawTargetRecording. r=Bas
DrawTargetRecording will stop playing back durin recording.

--HG--
rename : gfx/2d/DrawTargetRecording.cpp => gfx/2d/DrawTargetWrapAndRecord.cpp
rename : gfx/2d/DrawTargetRecording.h => gfx/2d/DrawTargetWrapAndRecord.h
extra : rebase_source : fd41326974905946318489cc801929328331ae73
2017-06-12 16:52:29 -04:00
Mason Chang 27e2a5cbe7 Bug 1371098 - Fix unified builds when adding a PaintThread. r=kats 2017-06-08 11:18:09 -07:00
Jeff Muizelaar 20146cc29a Bug 1372232 - GetPathForGlyphs: Implement default case. r=lsalzman
This helps out with recording surfaces.
2017-06-12 16:15:08 -04:00
Jeff Muizelaar 07374b97fe Bug 1372225 - Add recording for IntoLumaSource. r=mchang
This lets us avoid using the default implementation and allows us to
do the actual work on during playback.
2017-06-12 16:15:08 -04:00
Jeff Muizelaar fd0bdd7710 Bug 1371434. Use LOCAL_GLX_CONTEXT_PROFILE_MASK_ARB instead of LOCAL_GLX_CONTEXT_FLAGS_ARB. r=kvark
I'm not sure why I originally used GLX_CONTEXT_FLAGS_ARB but the spec at
https://www.khronos.org/registry/OpenGL/extensions/ARB/GLX_ARB_create_context.txt
strongly suggests using GLX_CONTEXT_PROFILE_MASK_ARB
2017-06-12 16:15:08 -04:00
Jeff Muizelaar 78632ed364 Bug 1371855 - gfxDrawable: Use a similar draw target instead of an offscreen one.
This makes sure that we use a DrawTargetRecording when we're recording.
Previously we were trying to draw a SourceSurfaceRecording into an
Offscreen DrawTarget which in this case was a DrawTargetSkia which
doesn't support SourceSurfaceRecordings. This changes avoids the
DrawTargetSkia.
2017-06-12 09:56:14 -04:00
peter chang c09bd44dec Bug 1371114 - Add gecko profiler labels for WebRender, r=kats
MozReview-Commit-ID: 4TRZgV8X1Ml

--HG--
extra : rebase_source : 1152c3a1d3444ebf91d55b2e2de4f123e1139a7f
2017-06-09 11:56:13 +08:00
Sebastian Hengst 0457405200 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: C5HD11ptDT0
2017-06-11 10:35:34 +02:00
Markus Stange 1cdb518fb7 Bug 1370757 - Only push device aligned clips. r=lsalzman
The new clip from bug 1364007 can cause us to clip to a rectangle that's not
aligned to device pixels. With the current rect inflation, we didn't notice,
but if we want to remove the inflation then we need to make sure to round out
the rect that we clip to.

MozReview-Commit-ID: BO9zds8fiKI

--HG--
extra : rebase_source : f71f283ef73cf58dbc2cc05d06ea9bc864fd5084
2017-06-06 19:19:51 -04:00
Lee Salzman 5b025f2c31 Bug 1369949 - compute precise clipping region for DrawTargetSkia::BorrowCGContext. r=mchang
MozReview-Commit-ID: 9X3puHOd4dv
2017-06-09 21:40:13 -04:00
Wes Kocher 7462f47787 Merge m-c to inbound, a=merge
MozReview-Commit-ID: LZOwJMXpznP
2017-06-09 15:58:08 -07:00
Wes Kocher 07d7985523 Merge inbound to central, a=merge
MozReview-Commit-ID: IrZXJHbiqpa
2017-06-09 15:28:10 -07:00
Botond Ballo faf8512e63 Bug 1371299 - Restrict the thumb snapping back to its original position to when the thumb is on-screen. r=kats
MozReview-Commit-ID: 2oZMwlusg2n

--HG--
extra : rebase_source : 5400135b4c32327a8deaa73faa2076fb7a000d25
2017-06-09 17:12:38 -04:00
Jeff Muizelaar 0442ca87fb Bug 1367538. Clear user data after we're done with the recorder. r=lsalzman
This helps keep us from accumulating all of the recorders.

The basic idea is to track weak references to the SourceSurfaces and Fonts that
we add UserData to in DrawEventRecorderPrivate and then clear these UserData's
when we're done recording.

This adds a RemoveAndDestroy helper to UserData to make this possible.
2017-06-09 14:31:35 -04:00
Jeff Muizelaar cf6d4425f4 Bug 1359527. Fixup DrawTarget::IntoLuminance mismerge. r=mchang
This adds back the NEON code and fixes up a couple of other pieces
2017-06-09 10:57:44 -04:00
Carsten "Tomcat" Book d5a13ba05e merge mozilla-inbound to mozilla-central a=merge 2017-06-09 12:58:49 +02:00
Cameron McCormack 1f30613283 Bug 1369954 - Part 4: Stop running <meta viewport>-related tests on non-Android stylo. r=emilio
Due to the confusing precedence of reftest manifest conditions,
we are running these tests when we shouldn't be.

MozReview-Commit-ID: 6RgI0NgWvay

--HG--
extra : rebase_source : 2e6a8113e1444bef52131ad9c119a31a7e855b7f
2017-06-09 12:20:40 +08:00
Kartikaya Gupta a8a8b628cd Bug 1368496 - Add support for fixed-positioning with APZ. r=jrmuizel
This implements at least enough fixed-positioning support to make the
reftest in layout/reftests/async-scrolling/bg-fixed-child.html pass.
That test implements a simple background-attachment:fixed which is
implemented in the layer tree with a combination of a scrolled clip and
a fixed-position layer. Previous patches in this patchset implemented
support for the scrolled clip, and this patch implements the
fixed-position layer support.

MozReview-Commit-ID: 1Al1YshhUL7

--HG--
extra : rebase_source : e50d5572264567acc03f1ecf220c57c7b5a85a4f
2017-06-08 11:34:01 -04:00
Kartikaya Gupta 1bcefeafef Bug 1368496 - Expose the push_clip_and_scroll_info API in WR via WebRenderAPI. r=jrmuizel
MozReview-Commit-ID: f8gIDoUDC1

--HG--
extra : rebase_source : 12a7c8b9d466157ec63f3e57f77ab50b30f9b4fe
2017-06-08 11:34:01 -04:00
Kartikaya Gupta 25de5f333c Bug 1368496 - Track the pushed clip and scroll IDs. r=jrmuizel
Tracking the active clips and scroll layers is helpful for implementing
fixed-position type stuff, because we will need to answer questions like
"what is the ancestor scroll layer of this other scroll layer that is
somewhere on the stack" and "what is the currently active stack of
non-scrolling clips". This patch also adds a couple of methods to
WebRenderAPI that answers questions like these.

MozReview-Commit-ID: 9bgOW3Z8Tbp

--HG--
extra : rebase_source : 382f1d476217739d9e023e05d8b3886f268c6b72
2017-06-08 11:34:00 -04:00
Kartikaya Gupta c8d5fd6ffd Bug 1368496 - Propagate the layer's "scrolled clip" to WebRender. r=jrmuizel
If the layer has a "scrolled clip", that clip scrolls with the content
of the layers (it moves if any of the scrollable frames defined by that
layer are scrolled).

MozReview-Commit-ID: 37hvXWO930f

--HG--
extra : rebase_source : 4150c3bb061d027b483e44418bec7f3b810a9ccc
2017-06-08 11:34:00 -04:00
Kartikaya Gupta 8e9f1257f8 Bug 1368496 - Skip over scrollinfo layers instead of aborting entirely. r=jrmuizel
MozReview-Commit-ID: 5pYcurXfAf

--HG--
extra : rebase_source : c489b9028dffea2e166a16fe6e318833db489ed0
2017-06-08 11:34:00 -04:00
Carsten "Tomcat" Book cb5ce9d807 Merge mozilla-central to autoland 2017-06-08 15:24:16 +02:00
Carsten "Tomcat" Book b9d94b34d4 merge mozilla-inbound to mozilla-central a=merge 2017-06-08 14:43:56 +02:00
Carsten "Tomcat" Book c53d6e3b05 Backed out changeset 14ac21b548cf (bug 1361970) 2017-06-08 10:23:21 +02:00
Matt Woodrow a4975eaaae Bug 1361970 - Make PostProcessLayers occlusion culling work against the surface we will draw to rather than the parent layer. r=mstange
--HG--
extra : rebase_source : c89651903267c052806ffa964e004aac5eb319ea
2017-06-08 15:26:50 +12:00
Mason Chang 1520cb158b Bug 1359527. Part 1 - Add DrawTarget::IntoLuminance r=jrmuizel 2017-06-02 11:13:36 -07:00
Ryan VanderMeulen 9b7a73b65a Merge m-c to autoland. a=merge
UPGRADE_NSPR_RELEASE UPGRADE_NSS_RELEASE

--HG--
extra : amend_source : a59e53ba2f8db608f613f21ad6da2b5be8814aa4
2017-06-07 22:55:56 -04:00
Mason Chang e6ddf2c3c1 Bug 1258781 Add pref for content skia font cache size. r=erahm 2017-06-07 10:11:17 -07:00
Martin Robinson 9915ffcbc3 Bug 1370530 - Convert more CSS filters to WebRender display items. r=jrmuizel
Activate WebRender output for filters that introduce only one pixel
differences in tests. Since the filters spec does not seem to specify
how color values are rounded, this output should be spec compliant.
2017-06-07 03:43:00 -04:00
JerryShih efa30c7964 Bug 1366502 - Make sure all wrapped textureHosts doesn't use TextureFlags::DEALLOCATE_CLIENT flag. v2. r=sotaro
MozReview-Commit-ID: KjZIGRzRomT
2017-06-07 23:44:05 +08:00
JerryShih b28ccb02ff Bug 1366502 - Update the thread model for RegisterExternalImage(), UnregisterExternalImage() and GetRenderTexture() call. v2. r=sotaro
If we call UnregisterExternalImage() at non-render-thread and decrease the RenderTextureHost's ref-count to zero, the RenderTextureHost will be released in non-render-thread.
That will cause some problems if we use some thread-specific functions in ~RenderTextureHost().
This patch uses a message loop in UnregisterExternalImage() to resolve this problem.

MozReview-Commit-ID: CDazxGkE1cK
2017-06-07 23:44:05 +08:00
JerryShih e76df89dc3 Bug 1366502 - Make sure the RenderTextureHost is released in render thread. r=sotaro.
The RenderTextureHost might calls some thread-specific functions(e.g. OpenGL calls) in ~RenderTextureHost(). Add a checking here to prevent this problem.

MozReview-Commit-ID: 62QlavmXOig
2017-06-07 23:44:05 +08:00
JerryShih df9418c639 Bug 1366502 - Update WebRenderTextureHost for video pipeline. r=sotaro
MozReview-Commit-ID: 8ODLYyXzHjO
2017-06-07 23:44:04 +08:00
JerryShih 5b3045edee Bug 1366502 - Update TextureD3D11 for video pipeline. v2. r=sotaro
Update for DXGITextureHostD3D11 and DXGIYCbCrTextureHostD3D11.

MozReview-Commit-ID: CQqzHK3jqz7
2017-06-07 23:44:04 +08:00
JerryShih 20064eaa12 Bug 1366502 - Update MacIOSurfaceTextureHostOGL for video pipeline. r=sotaro
MozReview-Commit-ID: 5cu8cYoTMxT
2017-06-07 23:44:04 +08:00
JerryShih 77ea08e890 Bug 1366502 - Update BufferTextureHost and RenderBufferTextureHost for video pipeline. r=sotaro
WR supports the planar-ycbcr image format. We turn to use the planar-ycbcr image to get rid of the software-ycbcr-to-rgb color format conversion(using libyuv) in gecko.

The BufferTextureHost will use 3 image keys for SurfaceFormat::YUV format.
The RenderBufferTextureHost will also use 3 DataSourceSurfaces to represent the 3 channel data in planar-ycbcr format.

MozReview-Commit-ID: 3mMreSzKnMv
2017-06-07 23:44:04 +08:00
JerryShih c287793fd9 Bug 1366502 - Add GetWRImageKeys() and PushExternalImage() in textureHost. r=sotaro
These 2 functions are used for WR.
The GetWRImageKeys() will return the proper image keys according to the textureHost format.
The PushExternalImage() will put all necessary WR commands into DisplayListBuilder for the textureHost rendering.

MozReview-Commit-ID: FwCDxwsCMMy
2017-06-07 23:44:04 +08:00
JerryShih 46faf0ecc2 Bug 1366502 - Move the various of image key and WR command settings from WebRenderCompositableHolder into textureHosts. r=sotaro
It's awful to put all combination of image key and WR command settings in the same place. Make the settings go back to textureHosts.
Each textureHost should implement GetWRImageKeys() and PushExternalImage() function.

MozReview-Commit-ID: 5Bmiuv5HgmX
2017-06-07 23:44:03 +08:00
JerryShih 57f874da91 Bug 1366502 - Update the thread checking for WR image functions. r=sotaro
With the video pipeline, we could call the WR image functions in compositor thread.

MozReview-Commit-ID: LtaihkLnbL3
2017-06-07 23:44:03 +08:00
JerryShih 45a0e9e65a Bug 1366502 - Rename mImageClientTypeContainer into mImageClientContainerType. r=sotaro
MozReview-Commit-ID: LcSHVkBbM6G
2017-06-07 23:44:03 +08:00
Masatoshi Kimura 99bf272847 Bug 1370865 - Suppress more MSVC warnings in gfx/angle. r=jgilbert
MozReview-Commit-ID: D9HLvwCLRQn

--HG--
extra : rebase_source : ba334335a1f3278ae220720ede5b0f416bc2904a
2017-06-05 22:00:54 +09:00
James Willcox 1ee305812e Bug 1370308 - Don't crash when using SkiaGL with SurfaceTexture on Android r=jgilbert
MozReview-Commit-ID: EKxBaU6SfdB
2017-06-15 10:59:01 -05:00
Kartikaya Gupta d6cb0eba49 Bug 1372233 - Clean up handling of default branches in APZ switch statements. r=botond
Wherever possible, we exhaustively list all the possibilities instead of
having "default" branches. This way if new items are added to the enum
they won't silently end up in the "default" branch, but the compiler can
tell us that we skipped handling it.
Also wherever possible, the existing NS_WARNINGs were upgrade to
MOZ_ASSERTs or equivalent.

MozReview-Commit-ID: IVDiI0gjFtU

--HG--
extra : rebase_source : 93bac9678e44e2f42602e10d0c7eea26366bae37
2017-06-16 15:22:12 -04:00
Markus Stange fcebd73530 Bug 1368386 - Only call mInvalidRegion.GetRegion() when an up-to-date valid region is requested. r=mattwoodrow
MozReview-Commit-ID: IHb0fNAzyjj

--HG--
extra : rebase_source : 7042eb85f99c0a578a5e732e1edfe364deec330d
2017-06-15 23:35:38 -04:00
Markus Stange 5e44be6da9 Bug 1368386 - Make PaintedLayer::mValidRegion private so that its access can be tightly controlled. r=mattwoodrow
MozReview-Commit-ID: LdtH3hrXT5v

--HG--
extra : rebase_source : c1eff1ba44f9a762cadb028113576bbffee93715
2017-06-15 18:20:53 -04:00
Markus Stange 23716b1586 Bug 1368386 - Add PaintedLayer::InvalidateWholeLayer(). r=mattwoodrow
MozReview-Commit-ID: 7sgQDs82Wwt

--HG--
extra : rebase_source : 6a13c3b53f85d88535451cda57c76e5d845a53d5
extra : source : 92eb66a5357939ca239cb2167dcccbc2328ea51b
2017-06-15 17:29:18 -04:00
Markus Stange da5c42ccd2 Bug 1368386 - Make ProgressiveUpdate's aValidRegion parameter const to make it a bit easier to reason about. r=mattwoodrow
MozReview-Commit-ID: DOfJ8TTuL1t

--HG--
extra : rebase_source : d4e6a1dc8aedb9f6b446c43aeded6823944c497a
2017-06-15 17:30:01 -04:00
Markus Stange fd5c1c95ed Bug 1368386 - Make ProgressiveUpdate's aInvalidRegion parameter const to make it a bit easier to reason about. r=mattwoodrow
The caller of RenderHighPrecision and RenderLowPrecision doesn't look at the
variable that it passes as the aInvalidRegion parameter after the call, so any
modifications that would have happened to this variable don't matter.

MozReview-Commit-ID: B9PaXjZkxv2

--HG--
extra : rebase_source : fb66ae3170a9891fbb5d4d90aebf78230b8f9ce0
2017-06-15 17:18:37 -04:00
Wes Kocher 26a0f65229 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 6qjm9snaB3Z
2017-06-15 16:28:22 -07:00
Kartikaya Gupta 302b120284 Bug 1372912 - Place the layer local clip in the right spot for fixed-pos layers. r=mrobinson
This patch makes the bg-fixed-child-mask.html reftest pass by ensuring
the clips for the test case are all in the correct spots. See the
comments in the patch for a more detailed explanation.

MozReview-Commit-ID: 21MAHr0PJ9B

--HG--
extra : rebase_source : 649a539a9c9417784c1cd025e372eb7823844bec
2017-06-15 17:02:22 -04:00
Kartikaya Gupta 1e6ddf03d5 Bug 1372912 - Make the clip id more strongly typed. r=jrmuizel,mrobinson
This patch is not really needed, but it avoids accidental conversion
between FrameMetrics::ViewID (which represents a scrolling clip) and a
uint64_t id for a non-scrolling clip.

MozReview-Commit-ID: JriIfpECHe7

--HG--
extra : rebase_source : a7af8465c9c62a60856c190da64667439233f4b0
2017-06-15 17:02:20 -04:00
Kartikaya Gupta 81a3b0b998 Bug 1372912 - Push clips for all the scroll metadata scrollclips. r=jrmuizel
Each layer has a stack of scroll metadata objects, which represent the
set of scrollframes that got flattened into the layer. Effectively the
metadata objects provide the scroll information for the chain of
scrollframes containing that layer's content. Each of these scrollframes
may have a clip, and so we need to push those clips to WR. We need to
take care to insert these clips at the right point in the stack, so that
they are interleaved correctly with the PushScrollLayer calls that we
use to inform WR of the scrolling clips for the scrollframes. This patch
implements this behaviour.

MozReview-Commit-ID: HD3OO5TZHSr

--HG--
extra : rebase_source : 8c5c3b027f3fa6fca8394c57769845569387f32e
2017-06-15 17:02:18 -04:00
Kartikaya Gupta 65a82350c5 Bug 1372912 - Extract a PushLayerClip helper method. r=jrmuizel
No functional changes. We'll want to reuse this code in a future patch.

MozReview-Commit-ID: LEuP38yXBHI

--HG--
extra : rebase_source : 11faa0123e987c255dd7495e4b704346ab2b714d
2017-06-15 17:02:12 -04:00
Sebastian Hengst cd40ca46a9 Backed out changeset 2b883786cf01 (bug 1372912) for bustage at ScrollingLayersHelper.h:19: class 'LayerClip' was previously declared as a struct. r=backout 2017-06-15 22:59:51 +02:00
Sebastian Hengst a1045bb07d Backed out changeset 6f148794682a (bug 1372912) 2017-06-15 22:59:01 +02:00
Sebastian Hengst 8d132d70e6 Backed out changeset 8176859f8b70 (bug 1372912) 2017-06-15 22:58:57 +02:00
Sebastian Hengst 55c85f1bad Backed out changeset 18c0e82c745f (bug 1372912) 2017-06-15 22:58:52 +02:00
Kartikaya Gupta afd9ebbf45 Bug 1372912 - Place the layer local clip in the right spot for fixed-pos layers. r=mrobinson
This patch makes the bg-fixed-child-mask.html reftest pass by ensuring
the clips for the test case are all in the correct spots. See the
comments in the patch for a more detailed explanation.

MozReview-Commit-ID: 5HHtsSkcsji

--HG--
extra : rebase_source : d5d52f33714407a0df41ca06a6a298bef3154c74
2017-06-15 09:41:47 -04:00
Kartikaya Gupta f910c3f66e Bug 1372912 - Make the clip id more strongly typed. r=jrmuizel,mrobinson
This patch is not really needed, but it avoids accidental conversion
between FrameMetrics::ViewID (which represents a scrolling clip) and a
uint64_t id for a non-scrolling clip.

MozReview-Commit-ID: BU7p4WNocXa

--HG--
extra : rebase_source : 0cf69ca0a7b716bd9ad5c3cef114a3b99ec00e1b
2017-06-15 09:41:46 -04:00
Kartikaya Gupta 9b82918f72 Bug 1372912 - Push clips for all the scroll metadata scrollclips. r=jrmuizel
Each layer has a stack of scroll metadata objects, which represent the
set of scrollframes that got flattened into the layer. Effectively the
metadata objects provide the scroll information for the chain of
scrollframes containing that layer's content. Each of these scrollframes
may have a clip, and so we need to push those clips to WR. We need to
take care to insert these clips at the right point in the stack, so that
they are interleaved correctly with the PushScrollLayer calls that we
use to inform WR of the scrolling clips for the scrollframes. This patch
implements this behaviour.

MozReview-Commit-ID: BayxnZuqh4s

--HG--
extra : rebase_source : 94b8ab464c5648a2e87d94ed9d95ed5ff3f486a3
2017-06-15 09:41:46 -04:00
Kartikaya Gupta 6a50a2f2fc Bug 1372912 - Extract a PushLayerClip helper method. r=jrmuizel
No functional changes. We'll want to reuse this code in a future patch.

MozReview-Commit-ID: 1nrMuS9n8A5

--HG--
extra : rebase_source : 75112a65645147c85643d4cd2cf253de3242825b
2017-06-15 09:41:46 -04:00
Michael Layzell e61a1cdcfb Bug 1343728 - Part 2: Add const operator== to TextureFactoryIdentifier and CompositorOptions, r=jrmuizel
MozReview-Commit-ID: 6BayMmqNlyx
2017-06-16 14:59:33 -04:00
Wes Kocher d4af1fa9e1 Merge m-c to inbound, a=merge
MozReview-Commit-ID: E2oiCGaL6uX
2017-06-08 18:42:21 -07:00
Jeff Muizelaar 4cf1367466 Bug 1370681. WebRender: Remove unnecessary sync messages. r=kats,dvander
These don't need to be sync and we're spending a noticeable amount of
time in DeleteImage.
2017-06-08 18:05:57 -04:00
L. David Baron e04a5a47c6 Bug 1367576 - Shrink existing caches to the size that's actually needed. r=karlt
Now that, thanks to bug 1367577, we have the theme constants in an enum,
we can make these arrays smaller rather than assuming that the constants
might use any valid uint8_t value.

MozReview-Commit-ID: A6GjTarVurc
2017-06-06 22:27:18 -07:00
Phil Ringnalda 772debd9ae Backed out changeset 4524bfde8583 (bug 1361970) for failures in transform-3d/backface-visibility-3.html and transform-3d/opacity-preserve3d-1.html
CLOSED TREE

MozReview-Commit-ID: GmEmiedJYeX
2017-06-06 19:54:40 -07:00
Matt Woodrow 80c51057d4 Bug 1361970 - Make PostProcessLayers occlusion culling work against the surface we will draw to rather than the parent layer. r=mstange 2017-06-07 11:07:15 +12:00
Wes Kocher bb1d061819 Merge inbound to central, a=merge CLOSED TREE
UPGRADE_NSS_RELEASE UPGRADE_NSPR_RELEASE

MozReview-Commit-ID: 2CXltQtu4Y1

--HG--
extra : amend_source : 16333c0fa5342dfbbb2a4ded71f94119a022e27b
2017-06-06 17:15:21 -07:00
Ryan VanderMeulen 6cb217315a Backed out 12 changesets (bug 1366502) for causing intermittent QuantumRender debug crashtest crashes on a CLOSED TREE.
Backed out changeset 42350bacb0bc (bug 1366502)
Backed out changeset 7f98b7f60e58 (bug 1366502)
Backed out changeset 265e39153027 (bug 1366502)
Backed out changeset cf598918bb1b (bug 1366502)
Backed out changeset e2f21ee861e5 (bug 1366502)
Backed out changeset f7fcc15d8f90 (bug 1366502)
Backed out changeset 22408b6a1ad1 (bug 1366502)
Backed out changeset 8846dac9ee35 (bug 1366502)
Backed out changeset d5225d81b832 (bug 1366502)
Backed out changeset 82f5a21b53a6 (bug 1366502)
Backed out changeset 2b20aebef47d (bug 1366502)
Backed out changeset 95f4d82e3d79 (bug 1366502)
2017-06-06 18:06:42 -04:00
Sebastian Hengst ff1767bcb6 Backed out changeset f09499d7310c (bug 1359527) for Android bustage while processing gfx/2d/moz.build. r=backout 2017-06-06 18:40:32 +02:00
Mason Chang 52834cd6f7 Bug 1359527 Part 1 Add DrawTarget::IntoLuminance. r=jrmuizel 2017-06-02 11:13:36 -07:00
Martin Robinson 7d937678f4 Bug 1365972 - Add initial WebRender support for nsDisplayFilter. r=rhunt, r=mattwoodrow 2017-06-06 06:28:00 -04:00
Kartikaya Gupta 9455874723 Bug 1370526 - Fix new[]/delete mismatch. r=jrmuizel
MozReview-Commit-ID: H7J8BK7regw

--HG--
extra : rebase_source : d7bc3004a0ed48d0204424c829f7bbde28afc826
2017-06-06 09:43:43 -04:00
JerryShih 148f24bb56 Bug 1366502 - Make sure all wrapped textureHosts doesn't use TextureFlags::DEALLOCATE_CLIENT flag. v2. r=sotaro
MozReview-Commit-ID: KjZIGRzRomT
2017-06-06 19:18:41 +08:00
JerryShih 719611f82b Bug 1366502 - Update the thread model for RegisterExternalImage(), UnregisterExternalImage() and GetRenderTexture() call. v2. r=sotaro
If we call UnregisterExternalImage() at non-render-thread and decrease the RenderTextureHost's ref-count to zero, the RenderTextureHost will be released in non-render-thread.
That will cause some problems if we use some thread-specific functions in ~RenderTextureHost().
This patch uses a message loop in UnregisterExternalImage() to resolve this problem.

MozReview-Commit-ID: CDazxGkE1cK
2017-06-06 19:18:40 +08:00
JerryShih 3c7cfd03af Bug 1366502 - Make sure the RenderTextureHost is released in render thread. r=sotaro.
The RenderTextureHost might calls some thread-specific functions(e.g. OpenGL calls) in ~RenderTextureHost(). Add a checking here to prevent this problem.

MozReview-Commit-ID: 62QlavmXOig
2017-06-06 19:18:40 +08:00
JerryShih ef71dedff2 Bug 1366502 - Update WebRenderTextureHost for video pipeline. r=sotaro
MozReview-Commit-ID: 8ODLYyXzHjO
2017-06-06 19:18:40 +08:00
JerryShih 5d9cc402f0 Bug 1366502 - Update TextureD3D11 for video pipeline. v2. r=sotaro
Update for DXGITextureHostD3D11 and DXGIYCbCrTextureHostD3D11.

MozReview-Commit-ID: CQqzHK3jqz7
2017-06-06 19:18:39 +08:00
JerryShih 2b0dbd66c3 Bug 1366502 - Update MacIOSurfaceTextureHostOGL for video pipeline. r=sotaro
MozReview-Commit-ID: 5cu8cYoTMxT
2017-06-06 19:18:39 +08:00
JerryShih 620a1df76e Bug 1366502 - Update BufferTextureHost and RenderBufferTextureHost for video pipeline. r=sotaro
WR supports the planar-ycbcr image format. We turn to use the planar-ycbcr image to get rid of the software-ycbcr-to-rgb color format conversion(using libyuv) in gecko.

The BufferTextureHost will use 3 image keys for SurfaceFormat::YUV format.
The RenderBufferTextureHost will also use 3 DataSourceSurfaces to represent the 3 channel data in planar-ycbcr format.

MozReview-Commit-ID: 3mMreSzKnMv
2017-06-06 19:18:39 +08:00
JerryShih 77ae26621d Bug 1366502 - Add GetWRImageKeys() and PushExternalImage() in textureHost. r=sotaro
These 2 functions are used for WR.
The GetWRImageKeys() will return the proper image keys according to the textureHost format.
The PushExternalImage() will put all necessary WR commands into DisplayListBuilder for the textureHost rendering.

MozReview-Commit-ID: FwCDxwsCMMy
2017-06-06 19:18:39 +08:00
JerryShih dc5be30b45 Bug 1366502 - Move the various of image key and WR command settings from WebRenderCompositableHolder into textureHosts. r=sotaro
It's awful to put all combination of image key and WR command settings in the same place. Make the settings go back to textureHosts.
Each textureHost should implement GetWRImageKeys() and PushExternalImage() function.

MozReview-Commit-ID: 5Bmiuv5HgmX
2017-06-06 19:18:38 +08:00
JerryShih c23ae2a1b2 Bug 1366502 - Update the thread checking for WR image functions. r=sotaro
With the video pipeline, we could call the WR image functions in compositor thread.

MozReview-Commit-ID: LtaihkLnbL3
2017-06-06 19:18:38 +08:00
JerryShih 8ed95790fb Bug 1366502 - Rename mImageClientTypeContainer into mImageClientContainerType. r=sotaro
MozReview-Commit-ID: LcSHVkBbM6G
2017-06-06 19:18:38 +08:00
Kartikaya Gupta 31a38cab53 Bug 1369152 - Update webrender to cset b2614e4eb58f9dee08b8c38f96bc3bac834c837b. r=jrmuizel
MozReview-Commit-ID: 5PRr2dZLTZ4

--HG--
extra : rebase_source : 234b8e9632cd02d9949cac761ca9523615b3d9a3
2017-06-05 16:42:02 -04:00
Botond Ballo 9e5ace4056 Bug 1369929 - Do not increase the indent twice in the TreeAutoIndent copy constructor. r=kats
MozReview-Commit-ID: BVudzxWZnQS

--HG--
extra : rebase_source : ff590dc7e5aa31f6d93baf91f8e8df2f27c95628
2017-06-05 12:42:28 -04:00
sotaro e19a847326 Bug 1359993 - Reduce invalidation of video r=nical 2017-06-05 20:55:14 +09:00
JerryShih b64d13e2ad Bug 1370117 - Update the external image status for reusing case. r=sotaro
When gecko go through the reusing case, the aUseExternalImage isn't set to the correct value. It is always false here.
Then, gecko will use the non-external-image code path later. Add a new data member "mUseExternalImage" to save the previous status.

MozReview-Commit-ID: KvzgIzYXNAB
2017-06-05 15:30:10 +08:00
sotaro d3ac7845d4 Bug 1370093 - Add mDestroyed checks r=nical 2017-06-05 15:41:21 +09:00
Kartikaya Gupta 10f514bb72 Bug 1369840 - Support content-side APZ test data in WebRenderLayerManager. r=botond
This mostly just copies the functional parts of the APZTestData code from
ClientLayerManager into WebRenderLayerManager, and propagates the paint sequence
number over to the compositor using the existing WebRenderScrollData machinery.

MozReview-Commit-ID: LHupFpqtWTX
2017-06-04 22:29:35 -04:00
Kartikaya Gupta 8b69d8d217 Bug 1369840 - Support getting the compositor-side APZ test data over PWebRenderBridge. r=botond
This is fairly straightforward plumbing. The webrender equivalent of PLayerTransaction
is PWebRenderBridge and we can use that to get the compositor-side APZTestData.

MozReview-Commit-ID: Bn8WjKW5GoI
2017-06-04 22:29:35 -04:00
Kartikaya Gupta 7b9aca62f5 Bug 1369840 - Modify CompositorBridgeParentBase::GetAPZTestData to take a layers id instead of a transaction parent. r=botond
This allows us to use it from WebRenderBridgeParent which doesn't have a
LayerTransactionParent instance.

MozReview-Commit-ID: CyX5rmgOxgd
2017-06-04 22:29:34 -04:00
Sebastian Hengst 5e4755df68 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IdRgoZ9hiXq
2017-06-03 20:15:27 +02:00
Wes Kocher 269f7e9f5c Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9wTctDOsPpO
2017-06-02 17:31:31 -07:00
Randall Barker c7643066a3 Bug 1369298 - Prevent AndrodDynamicToolbarAnimator from getting Initialized if compositor is being shutdown r=botond
MozReview-Commit-ID: 5N7bKyaXzPH
2017-06-02 13:25:18 -07:00
Wes Kocher 0d038d6513 Merge autoland to m-c a=merge
MozReview-Commit-ID: Fjt5XIDd0p6
2017-06-02 17:21:39 -07:00
Sebastian Hengst d4621624fb Backed out changeset 3fccc08e0486 (bug 1369840) for crashing in test_bug1151663.html on Android 4.3 api15+ debug. r=backout 2017-06-03 10:12:17 +02:00
Sebastian Hengst b523ccd931 Backed out changeset 4fe99b113fff (bug 1369840) 2017-06-03 10:11:25 +02:00
Sebastian Hengst ee709cb070 Backed out changeset b7bcbc5c1b92 (bug 1369840) 2017-06-03 10:11:17 +02:00
Joel Maher fcbe4fa277 Bug 1323238 - disable MOZ_GTEST_BENCH tests as we are not looking at the data. r=wlach
MozReview-Commit-ID: xYRHpWVaa7
2017-06-02 13:27:20 -04:00
James Willcox bd21ee4811 Bug 1367287 - Reference count GeckoSurfaceTexture r=jchen
MozReview-Commit-ID: 1JJVzCmANyH
2017-06-02 10:14:20 -05:00
Carsten "Tomcat" Book c63e6d4789 Merge mozilla-central to mozilla-inbound 2017-06-02 14:32:35 +02:00
Carsten "Tomcat" Book efccdfdb0a merge mozilla-inbound to mozilla-central a=merge 2017-06-02 14:22:17 +02:00
Ethan Lin 1927f89975 Bug 1358055 - Enable background color layer by default for webrender. r=kats 2017-06-02 18:21:07 +08:00
sotaro 064920e81e Bug 1345054 part 2 -Reduce DisplayList update and ImageKey generation r=nical 2017-06-02 16:11:53 +09:00
sotaro 807999b9d6 Bug 1345054 part 1 - Allocate pipleline for each video r=nical 2017-06-02 16:11:34 +09:00