Commit graph

51 commits

Author SHA1 Message Date
sotaro
4709864388 Bug 1476846 - Fix UpdateEpoch() handling r=nical 2018-08-08 14:14:00 +09:00
sotaro
92f8dea8a0 Bug 1476846 - Reduce latency of applying async images of video r=nical 2018-08-07 19:12:06 +09:00
sotaro
2d7e793ae4 Bug 1478570 - Fix ExternalImageId allocation of AsyncImagePipelineManager r=jrmuizel 2018-07-30 10:16:03 +09:00
sotaro
2bcc8b96f5 Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
sotaro
432fb44cee Bug 1475187 - Remove AsyncImagePipelineManager::ApplyAsyncImages() call from WebRenderBridgeParent::RecvSetDisplayList() r=kats 2018-07-19 07:51:37 +09:00
sotaro
885555c9c4 Bug 1474532 - Suppress redundant frame generation with async-scene-build enabled r=kats 2018-07-11 12:47:06 +09:00
Martin Robinson
46bd5d1cf4 Bug 1465058 - Update for API change in WR PR 2756. r=kats
MozReview-Commit-ID: 6Vg0bTpBYVh

--HG--
extra : rebase_source : f9b4f5cdb26d268d7804afb827c7710a05bc56d9
2018-05-16 16:47:08 +02:00
Kartikaya Gupta
d807b18531 Bug 1417784 - Shift how the AsyncImagePipelineManager is notified of updates. r=sotaro
Instead of notifying the AsyncImagePipelineManager on the compositor
thread via the CompositorBridgeParent, we can send it the new pipeline
info directly from the RenderThread after the update happens. This
effectively splits the AsyncImagePipelineManager update-processing into
two parts: one that takes in the new pipeline info and one that process
it. This allows us to invoke the processing step from other code running
on the compositor thread, which we will need to do in the next patch.

MozReview-Commit-ID: 7xhm8I7bY4C

--HG--
extra : rebase_source : bfa62e326fd830bc2ef771138e5008fb2bc0d6b8
2018-05-28 11:29:41 -04:00
Kartikaya Gupta
ed86544f35 Bug 1462903 - Always send a display list for a new async image pipeline so WR doesn't complain. r=sotaro
MozReview-Commit-ID: IXM8EhkcdjE

--HG--
extra : rebase_source : 171e399dd506b65261f7bc8296e9bc806152eef1
2018-05-24 09:59:28 -04:00
Kartikaya Gupta
0ae899bacc Bug 1459686 - Refactor to have the ApplyAsyncImages callsite provide the transaction. r=sotaro
MozReview-Commit-ID: GVKRcb4r73a

--HG--
extra : rebase_source : 0aaa5418f6522bc443da6ef20e411644e85cc3fb
2018-05-08 08:47:02 -04:00
Alexis Beingessner
239a528013 Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange
When a transform thinks it's animated we should abandon screen rasterization
and instead favour local rasterization. This produces a more visually
pleasant rendering, as pixel-snapping "wobbles" the text between
frames.

The float scale of GlyphRasterSpace::Local is currently unused, but this
PR tries its best to set it to a reasonable value, based on discussion
with glennw about the intended semantics. We agreed it should specify
the scale *relative* to the parent stacking context, which means it's
just whatever scaling the stacking context's transform applies. It's
possible we'll need to clamp this value or make it properly 2-dimensional
later on.

Some book-keeping is added to StackingContextHelper to ensure that
GlyphRasterSpace::Screen is never requested by a descendent
of a stacking context using GlyphRasterSpace::Local.

nsDisplayMask is changed to use a StackingContextHelper to ensure
rasterSpace is properly propagated.

In addition, this is the first commit making use of cbindgen's new support
for bridging Rust enums natively into C++! This bumps our minimum cbindgen
to 6.0.0 (just released).

MozReview-Commit-ID: 9AlsB6nUheB

--HG--
extra : rebase_source : 247e5b197e998682cb4bb74f6f9319a9a4dd3264
2018-05-03 20:38:37 -04:00
Noemi Erli
0ec806df24 Backed out changeset f8ad5962fc89 (bug 1435094) bustage in /builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp on a CLOSED TREE 2018-04-27 04:14:39 +03:00
Alexis Beingessner
4bb2580c85 Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange
When a transform thinks it's animated we should abandon screen rasterization
and instead favour local rasterization. This produces a more visually
pleasant rendering, as pixel-snapping "wobbles" the text between
frames.

The float scale of GlyphRasterSpace::Local is currently unused, but this
PR tries its best to set it to a reasonable value, based on discussion
with glennw about the intended semantics. We agreed it should specify
the scale *relative* to the parent stacking context, which means it's
just whatever scaling the stacking context's transform applies. It's
possible we'll need to clamp this value or make it properly 2-dimensional
later on.

Some book-keeping is added to StackingContextHelper to ensure that
GlyphRasterSpace::Screen is never requested by a descendent
of a stacking context using GlyphRasterSpace::Local.

nsDisplayMask is changed to use a StackingContextHelper to ensure
rasterSpace is properly propagated.

In addition, this is the first commit making use of cbindgen's new support
for bridging Rust enums natively into C++! This bumps our minimum cbindgen
to 6.0.0 (just released).

MozReview-Commit-ID: 9AlsB6nUheB

--HG--
extra : rebase_source : 978e51dbedeb1542e0829752b7f828ffeb2872e9
2018-04-25 10:47:34 -04:00
Andrew Osmond
ba9721571b Bug 1453801 - Part 2. Ensure shared surfaces are properly released from render texture cache. r=sotaro 2018-04-23 07:57:15 -04:00
Alexis Beingessner
faa067542e Bug 1412375 - Create a clipped stacking context for nsDisplayMasks. r=kats,mstange
This was only recently made possible by webrender#2600, which introduced special stacking-context
clips

MozReview-Commit-ID: HQAU7IsfDaz

--HG--
extra : rebase_source : 0ac7f0f3f73abdf5b60ca02b37cfaa7abeecb6a3
2018-04-11 13:00:49 -04:00
Kartikaya Gupta
cee3af0c5e Bug 1449982 - Clean up WrEpoch usage. r=nical
I don't know why we keep using plain uint32_t and uint64_t values when
we have better types that we can use. This makes the code use and store
wr::Epoch natively instead of raw uint32_t values that are wrapped
on-demand.

MozReview-Commit-ID: HUVcHYSxBTi

--HG--
extra : rebase_source : 9e8f367f864483a65273cbbeb1168587841279f0
2018-04-10 12:29:56 -04:00
Nicolas Silva
b9bc9a2583 Bug 1436058 - Don't remove a WebRender pipeline if we re-created one with the same id. r=kats
Patch originally attached to - and reviewed by sotaro on - bug 1432708.

MozReview-Commit-ID: 300BOHFNrbe

--HG--
extra : rebase_source : b3e4228812b74313d441ef70b5f16da1d4563669
2018-02-12 11:43:08 -05:00
Nicolas Silva
f943a00bf6 Bug 1436058 - Remove async image pipelines when the renderer notifies pipelines removed. r=kats
Patch originally attached to - and reviewed by sotaro on - bug 1432708.

MozReview-Commit-ID: LNWHtuFTPG5

--HG--
extra : rebase_source : c1694476cb454d914f2cfe3ec7cf55aaa0aacd4c
2018-02-12 11:37:02 -05:00
Nicolas Silva
082991a7bc Bug 1404477 - Merge ResourceUpdateQueue and TransactionBuilder. r=kats 2018-01-29 14:33:39 +01:00
Nicolas Silva
43644aaded Bug 1425453 - Move more WebRender api calls into transactions. r=kats 2018-01-12 12:24:07 +01:00
Nicolas Silva
1595da23b6 Bug 1425453 - Move some WebRender api calls into transactions. r=kats 2018-01-12 12:24:03 +01:00
Ryan Hunt
20789635c3 Generate webrender_ffi_generated with cbindgen:0.3.3 (bug 1428142, r=nical)
--HG--
extra : rebase_source : 930fc29308f193d9e3b54495508fb6101806bac5
extra : histedit_source : 01d64855b96776b623a248a85ee96febfdc0edfd%2C38c52cb3034b777d66de02ec5041b2d08f4bb272
2018-01-04 12:23:34 -06:00
Jeff Muizelaar
fd288de282 Bug 1379680. Move the displaylist ByteBuf into a Vec instead of copying. r=kats
This eliminates a copy of the displaylist on the compositor thread.
2017-11-30 15:12:14 -05:00
sotaro
78b2129696 Bug 1416533 - Skip to generate frame if there is no update r=nical,kats 2017-11-30 21:38:47 +09:00
sotaro
8238c315e7 Bug 1418877 - Fix key reuse check in AsyncImagePipelineManager::UpdateImageKeys() r=nical 2017-11-22 09:52:22 +09:00
peter chang
8d32c73914 Bug 1410334 - Create correct animation properties based on WrAnimationProperty info, r=kats
MozReview-Commit-ID: 6LNbwQd9IfX

--HG--
extra : rebase_source : 2b53786ae996237bef7bf8100087b3f48667d718
2017-11-15 16:09:21 +08:00
sotaro
35956656da Bug 1414727 - Change AsyncImagePipeline::mIsChanged flag handling as to reduce DisplayList update r=nical 2017-11-15 10:14:06 +09:00
Sebastian Hengst
f07fc93141 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4PW6ESqLL73
2017-10-30 23:52:23 +01:00
Daniel Holbert
126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
sotaro
ceb60c8001 Bug 1412755 - Fix display list update of AsyncImagePipelineManager r=nical 2017-10-30 22:15:35 +09:00
Nicolas Silva
e620af06b0 Bug 1407069 - Associate epochs to async image updates. r=sotaro 2017-10-20 16:42:53 +02:00
Kartikaya Gupta
d8ac050c91 Bug 1409856 - Update all the WebRender code to use LayoutDevice units instead of Layer units. r=jrmuizel
MozReview-Commit-ID: DP3hwlFWyZC
2017-10-18 22:25:11 -04:00
Nicolas Silva
96de7b8d80 Bug 1383786 - Delete image keys as soon as they are not used anymore. r=sotaro 2017-09-26 15:31:08 +02:00
Nicolas Silva
f1d8bb2519 Bug 1383786 - Rename TextureHost::PushExternalImage into PushDisplayItems. r=sotaro 2017-09-26 15:31:00 +02:00
Nicolas Silva
f4e0aed003 Bug 1383786 - Update TextureHost image keys when posible. r=sotaro 2017-09-26 15:30:55 +02:00
Nicolas Silva
f8c1fa40c8 Bug 1383786 - Make it possible to update TextureHost image keys. r=sotaro 2017-09-26 15:30:51 +02:00
Nicolas Silva
988b7e111c Bug 1383786 - Simplify generating image keys for TextureHosts. r=sotaro 2017-09-26 15:30:46 +02:00
Morris Tseng
ce9b629335 Bug 1392200 - Add backface-visibility support for layers-free mode. r=kats
For layers-full mode, we set the backface-visibility to visible because
visibility would be handled by FLB and layers.

MozReview-Commit-ID: CUbeUabfC7K
2017-09-21 14:41:38 +08:00
Nicolas Silva
59e80c8f7e Bug 1393031 - Use shared memory to pass resource update data. r=jrmuizel 2017-09-14 18:48:55 +02:00
Nicolas Silva
38b33aa593 Bug 1393031 - Separate WebRenderAPI and ResourceUpdateQueue. r=sotaro 2017-09-04 13:59:42 +02:00
Nicolas Silva
b067cea354 Bug 1393031 - Expose webrender resource updates in the C++ wrapper. r=sotaro 2017-09-04 13:59:12 +02:00
Sebastian Hengst
4814ba9f4f Backed out changeset 326d1e6cf7b1 (bug 1393031) for bustage at gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp:178: no member named 'AddExternalImage' in 'mozilla::wr::WebRenderAPI' on OS X and also bustage on Windows. r=backout on a CLOSED TREE 2017-08-25 12:42:01 +02:00
Nicolas Silva
d415c1134b Bug 1393031 - Expose WebRender's ResourceUpdates to C++. r=sotaro 2017-08-25 11:58:00 +02:00
Wes Kocher
214677ea41 Merge autoland to central, a=merge
MozReview-Commit-ID: 9BfFPDy1vO7

--HG--
rename : browser/extensions/onboarding/content/img/icons_search-colored.svg => browser/extensions/onboarding/content/img/icons_singlesearch-colored.svg
rename : browser/extensions/onboarding/content/img/icons_search.svg => browser/extensions/onboarding/content/img/icons_singlesearch.svg
2017-08-14 17:28:19 -07:00
Morris Tseng
6391dec171 Bug 1389027 - Support nsDisplayPerspective in layers-free mode. r=kats
MozReview-Commit-ID: K0RCuQ8WEE3
2017-08-14 17:31:55 +08:00
Milan Sreckovic
e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
sotaro
162dcae649 Bug 1385003 - Use a different WebRenderAPI instance for each WebRenderBridgeParent. r=kats
Previously, the WebRenderBridgeParent for each content layer tree would use the
same WebRenderAPI instance as the top-level WebRenderBridgeParent for that window.
However, in order to make the namespacing changes work we now need to use a
separate WebRenderAPI instance for each WebRenderBridgeParent. The content
WebRenderAPIs are cloned from the parent one, so that they all share the same
backend, but can allocate resource IDs in distinct namespaces.

MozReview-Commit-ID: 7VTFL8F09n7

--HG--
extra : rebase_source : 2da1d03abc23bd7852e4b12fe133889bd80cad53
2017-08-09 08:46:25 -04: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
Nicolas Silva
c6cb34826b Bug 1383786 - Rename WebRenderCompositableHolder into AsyncImagePipelineManager. r=sotaro
--HG--
rename : gfx/layers/wr/WebRenderCompositableHolder.cpp => gfx/layers/wr/AsyncImagePipelineManager.cpp
rename : gfx/layers/wr/WebRenderCompositableHolder.h => gfx/layers/wr/AsyncImagePipelineManager.h
2017-07-25 10:54:36 +02:00
Carsten "Tomcat" Book
6371a2fc61 Backed out changeset f8c82658a657 (bug 1383786)
--HG--
rename : gfx/layers/wr/AsyncImagePipelineManager.cpp => gfx/layers/wr/WebRenderCompositableHolder.cpp
rename : gfx/layers/wr/AsyncImagePipelineManager.h => gfx/layers/wr/WebRenderCompositableHolder.h
2017-07-25 11:36:11 +02:00