Commit Graph

281 Commits

Author SHA1 Message Date
Matt Woodrow
9abd7f512c Bug 1510853 - Add CONTENT_FRAME_TIME_REASON. r=jrmuizel, data-review=chutten
MozReview-Commit-ID: 9RV9ZkHXZTR

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

--HG--
extra : moz-landing-system : lando
2018-12-07 23:28:41 +00:00
Jeff Muizelaar
9d405dded3 Bug 1510725 - Add a pref to enable picture caching in WebRender. r=kats 2018-12-07 11:37:58 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Kartikaya Gupta
cd40821489 Bug 1511042 - Back out some commits from bug 1503447 for introducing correctness and perf regressions. r=backout
This backs out hg commits 1e214baf8fc1, 7d4adeee5236, and f5ffebdcc014.
2018-11-29 14:24:25 -05:00
Dzmitry Malyshau
54ba2010c1 Bug 1503447 - Always use zero origin for WR reference frames and stacking contexts r=kats
Previously, WebRender was getting a rectangle for reference frames
and stacking contexts, and it had to carefully treat the origin of this rectange:
  - by offseting all the items in a stacking context
  - by negatively compensating the sticky frame scroll port according to the
parent reference frame origin

With this change, we stop providing any non-zero origins. Instead we accomplish
the same behavior using existing API primitives, such as reference frames:
  1. when a stacking context has an origin, we push another reference frame for it
  2. when computing the sticky frame scroll port, we take this origin into account

This slightly simplifies Gecko-WR API, but more importantly it would allow WR to
get rid of this logic (of handling origins), which in turn would allow to switch
the reference frames from push()/pop() model to just define(), like we do for
scroll/sticky frames already.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 15:32:41 +00:00
Ehsan Akhgari
ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Csoregi Natalia
d35199ef15 Merge inbound to mozilla-central. a=merge 2018-11-26 11:47:15 +02:00
sotaro
8fb8522b22 Bug 1490117 - Rollback WrEpoch if TransactionBuilder does not have ResourceUpdates in RecvEmptyTransaction() r=mattwoodrow 2018-11-26 16:08:49 +09:00
Matt Woodrow
43bc692c89 Bug 1509226 - Avoid allocations to serialize clips. r=jrmuizel
MozReview-Commit-ID: CetmS5cZCMP

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

--HG--
extra : moz-landing-system : lando
2018-11-26 02:32:15 +00:00
Matt Woodrow
fab384fd5f Bug 1420628 - Avoid allocations for each text display item. r=jrmuizel
MozReview-Commit-ID: HoRHQVEdJeT

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

--HG--
extra : moz-landing-system : lando
2018-11-25 22:57:04 +00:00
Nicolas Silva
2fa6078f12 Bug 1494403 - Separate the Blob related apis. r=jrmuizel
This commit contains the Gecko-side changes from WebRender PR#3277:
 - Dedicated DirtyRect type.
 - Separate the blob image APIs from regular image ones.

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

--HG--
extra : moz-landing-system : lando
2018-11-23 23:33:49 +00:00
Jeff Muizelaar
b376bd0e9c Bug 1509554. Define WrClipId in bindings.rs. r=kats
This lets us avoid having to put usize in the exported signatures from bindings.rs
It also avoids a heap allocation when defining a clip chain.

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

--HG--
extra : moz-landing-system : lando
2018-11-23 19:49:56 +00:00
Bobby Holley
f37d425f0e Bug 1507333 - Route WebRender pref changes through the RenderBackend. r=jrmuizel
The overlap between debug flags and debug commands is a bit of a mess,
and this patch does not entirely clean it up. But this at least means
that the RenderBackend can react to pref changes in Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D11958
2018-11-19 09:16:08 -08:00
Nicolas Silva
eef47a1b87 Bug 1507140 - Gecko changes for WebRender PR #3291. r=kats
Move wr::DeviceUint* to wr::DeviceInt*.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 17:13:26 +00:00
sotaro
3b545f56f3 Bug 1500017 - Use triple buffer with DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChain r=mattwoodrow 2018-11-05 18:58:37 +09:00
Matt Woodrow
394f747fb0 Bug 1503730 - Add visual indicator for when WebRender frames record a CONTENT_FRAME_TIME of >200. r=sotaro
MozReview-Commit-ID: KdRf3WClD6M

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

--HG--
extra : moz-landing-system : lando
2018-11-04 20:35:36 +00:00
Ryan Hunt
2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Kartikaya Gupta
7c90df3b0a Bug 1485834 - Expose the zooming API from WebRender. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D9119

--HG--
extra : moz-landing-system : lando
2018-10-19 14:24:14 +00:00
sotaro
fe52320e8b Bug 1497910 - Call wr_renderer_readback() before calling RenderCompositor::EndFrame() r=nical 2018-10-17 07:54:01 +09:00
Sotaro Ikeda
848aa7ecc5 Bug 1461239 - Use InvalidateRenderedFrame() when necessary r=nical 2018-10-09 23:20:23 -04:00
Jeff Muizelaar
98d23e2b2a Bug 1495902. Create a shared Shaders object for all windows to use. r=jrmuizel 2018-10-09 23:20:20 -04:00
sotaro
5883244ebd Bug 1495352 - Make wr_notifier_nop_frame_done() notify DidComposite r=nical 2018-10-02 12:13:22 +09:00
Kartikaya Gupta
8226f1adeb Bug 1495462 - Increment the capture path extension until we find a fresh path. r=jrmuizel
When taking multiple captures, have them get generated into separate
folders so that accidentally clobbering (or worse, partially clobbering)
a previous capture isn't a problem.
2018-10-01 16:25:28 -04:00
Jeff Muizelaar
d7cb9ac2ef Bug 1494836. Replace NormalizedRect for visible area. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D7189
2018-09-26 10:32:41 -04:00
shindli
14c2437eec Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-09-27 00:57:23 +03:00
shindli
a8d55dae12 Merge inbound to mozilla-central. a=merge 2018-09-27 00:52:12 +03:00
Jean-Yves Avenard
a4846efef7 Bug 1493198 - P4. Add support for 10/12 bits YUV image to WebRender (bindings) r=mattwoodrow
Depends on D6663

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

--HG--
extra : moz-landing-system : lando
2018-09-26 14:58:25 +00:00
Nicolas Silva
924db561d6 Bug 1477819 - Expose Transaction::Notify in WebRender's C++ wrapper. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D6515

--HG--
extra : source : 8d58404d71eb944d9dda642c8dc2f53f1d291671
extra : histedit_source : f469b56422dadfe5a5f67faa9e9efddd5839d1ce
2018-09-24 17:53:36 +02:00
Jeff Muizelaar
24fdba412e Bug 1493268. Re-generate FFI header and adjust bindings.
Changes GlyphRasterSpace to RasterSpace.
2018-09-22 21:19:52 -04:00
Jeff Muizelaar
14d863897b Bug 1491395. Replace BorderWidths with LayoutSideOffsets. on a CLOSED TREE
--HG--
extra : source : 432d22af68c825eebd86482c714b3cffcba408c7
extra : amend_source : e38a2ed15ae4a93613244726fbfad2d196876ad8
2018-09-18 09:01:36 -04:00
Andreea Pavel
21be148b05 Backed out 2 changesets (bug 1491395) for failing awsy\test_memory_usage.py TestMemoryUsage.test_open_tabs on a CLOSED TREE
Backed out changeset 432d22af68c8 (bug 1491395)
Backed out changeset 153d6dc38962 (bug 1491395)
2018-09-18 21:23:03 +03:00
Jeff Muizelaar
58ae2188e5 Bug 1491395. Replace BorderWidths with LayoutSideOffsets. 2018-09-18 09:01:36 -04:00
Bobby Holley
f35563781f Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

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

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 15:27:31 -07:00
Gurzau Raul
d4d9bd916d Backed out changeset 9762d76da9b3 (bug 1480293) for failing at aboutmemory/tests/test_memoryReporters.xul 2018-09-14 22:32:18 +03:00
Bobby Holley
42a527b3d1 Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

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

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 10:59:00 -07:00
Andrew Osmond
a2a48940be Bug 1485420 - Part 1. Expose WebRender bindings to merge a clip rect with a display item. r=mstange
This part allows the caller to push a clip rect onto a stack that will
be used with any display items added to DisplayListBuilder. Said rect
will be intersected with the given clip rect for the display item (if
applicable).
2018-09-14 10:42:20 -04:00
Nicolas Silva
f5c8fc210d Bug 1477819 - Use WebRender low priority transactions for web content. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D5531

--HG--
extra : rebase_source : 627738d5f791aa9c243e0174d3d153f5ac8e319f
2018-09-12 15:30:17 +00:00
Daniel Zielas
21d87f2b40 Bug 1420996 - Replace CompositorHitTestInfo with an EnumSet. r=botond
--HG--
extra : rebase_source : b62faecd4eb7a988e62a1f41eca6481f90e57c02
extra : histedit_source : 417426b84d2a269d84980df972073e67c2643cd3
2018-09-25 20:47:55 +02:00
Emilio Cobos Álvarez
2afc706839 Bug 1487407 - Properly support beveling bc borders in WR. r=Gankro
The previous border-collapse beveling implementation assumed that there would
only be one beveled border per side in the whole table, which is... not true at all.

So a bunch of borders ended up clobbering other values in mBevelBorders and
never getting painted.

I'm actually somewhat scarily surprised that only this reftest seems to fail
without this patch...

Here we reuse most of the existing one-off beveling / border rendering support
in nsCSSRendering, and convert the Gecko bevels into a WebRender display list
using rects and borders. This is only remotely possible thanks to Gecko not
supporting dotted / dashed beveled borders :)

This would slightly easier and presumably also more efficient with a triangle
display item in WR instead of (ab)using the border display item to render the
bevel, but this is probably relatively edge-casey so maybe not worth it... In
any case I've left a TODO comment there, that can be a nice followup if we deem
it worth it.

Anyway, I'm _so_ sorry for the border trick, I was this (||) close to go and
rewrite our border collapsing code, but after a few tries I realized it'd take
me a whole lot of time (instead of the day that this has taken me).

Differential Revision: https://phabricator.services.mozilla.com/D4793
2018-09-26 15:27:59 +02:00
Lee Salzman
daa9f58360 Bug 1479196 - add support to TextDrawTarget for defining and pushing WR images. r=nical 2018-08-21 12:36:48 -04:00
Nicolas Silva
0805d95b99 Bug 1482109 - Hook the memory pressure observer up with WebRender. r=sotaro
--HG--
extra : rebase_source : e23d9db4ffff5d1994f476e660f7f6cbe52e6ad6
2018-08-20 15:23:54 +02:00
Nicolas Silva
3cea37c9c2 Bug 1469496 - Handle video memory purge with WebRender. r=sotaro 2018-08-10 17:14:57 +02:00
Nicolas Silva
6d4507f6ff Bug 1455422 - Implement the new blob image rasterization hooks. r=kats, gankro 2018-07-19 16:33:05 -04:00
sotaro
8b12e2f10c Bug 1476876 - Make FlushRendering async if DComp is used on Windows with WebRender r=nical 2018-07-20 22:58:40 +09:00
Kartikaya Gupta
e750c8c1b4 Bug 1475637 - Add a mechanism for dumping an interleaved display list. r=jrmuizel
The prefs, when enabled, will dump the gecko DL items followed by the
WR DL items that were generated from that gecko item. This allows us to
easily go from a DOM element with known id/class attributes to e.g. an
ImageKey of an image that was generated for that element.

Also, this logging can be enabled in CI builds just like gecko display-list
dumping, instead of the ifdef that we previously had in WebRenderLayerManager.

MozReview-Commit-ID: Eeo4iO62YY1

--HG--
extra : rebase_source : b4a348b2e8bced976489257b966f70b29c56df25
2018-07-19 15:30:30 -04:00
Andrew Osmond
7fb17ddb91 Bug 1469964 - Part 1. Expose WebRender plumbing for partial updates for external images. r=nical 2018-07-12 11:43:09 -04:00
Nicolas Silva
4ae96a4caa Bug 1474576 - Remove the async scene building pref. 2018-07-10 14:49:21 +02:00
Martin Robinson
34359c5dd9 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 6a0ef8c6d61ab937695c42224eb3acb0a5e531f7
2018-06-13 15:40:13 -07:00
shindli
c83eb1f34f Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE
Backed out changeset c6ef35a760ae (bug 1470125)
Backed out changeset cb8bed4a7691 (bug 1470125)
Backed out changeset 82527f62f249 (bug 1470125)
2018-06-28 21:25:33 +03:00
Martin Robinson
be65a0bdb1 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 328d76c6c9f428b55c8116fc447f9e3d6a76371a
2018-06-13 15:40:13 -07:00