Commit Graph

50 Commits

Author SHA1 Message Date
Kartikaya Gupta
ed6e5a8d25 Bug 1359842 - Add a StackingContextHelper to reduce duplicated code. r=nical
This class is a RAII class that can be used to push a stacking context
with properties from a WebRenderLayer. It can also then be used to
convert rects in the layer coordinate system to be relative to the
stacking context, which is what we want for passing to WR.

MozReview-Commit-ID: 1WVrfRYqLqc
2017-04-27 12:04:25 -04:00
Kartikaya Gupta
52f3a8a0d9 Bug 1359842 - Convert RelativeToParent to deal with typed units. r=nical
As we are often converting from LayoutDevicePixel to LayerPixel types
in WebRenderDisplayItem code, I added a convenience overload of
RelativeToParent that takes a LayoutDeviceRect and returns a LayerRect,
even though this is a potential footgun if abused.

MozReview-Commit-ID: DABAWdOBsbV
2017-04-27 12:04:13 -04:00
Kartikaya Gupta
6af3a99399 Bug 1359842 - Convert some functions to deal in LayerRect instead of gfx::Rect. r=nical
MozReview-Commit-ID: LRXgYseBRzR
2017-04-27 12:04:12 -04:00
Kartikaya Gupta
23a6b280d3 Bug 1359748 - Remove commented-out code. r=jrmuizel
MozReview-Commit-ID: 2f67oNaa8Tk
2017-04-27 11:28:23 -04:00
sotaro
2f88c289f9 Bug 1357644 - Use wr::ExternalImageId instead of uint64_t for external image id r=nical 2017-04-19 18:59:53 +09:00
Ethan Lin
ea8636c2c0 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
Ethan Lin
637a373447 Bug 1355012 - Add mask layer support for WebRenderDisplayItemLayer. r=kats 2017-04-13 15:13:51 +08:00
Jeff Muizelaar
57f7b86df9 Bug 1345142. Move Image discard back to child. r=nical
This gets rid of the implicit discard that happens on the parent side
when using external images.
2017-04-12 15:26:23 -04:00
Kartikaya Gupta
d0c75fa3fc Bug 1355791 - Instead of pushing a scroll layer, put the clip mask into the existing item clip. r=jrmuizel
MozReview-Commit-ID: jdKEkamSs4
2017-04-12 11:08:39 -04:00
Kartikaya Gupta
3cd9ae859b Bug 1355602 - Decouple pushing scroll layers from pushing stacking contexts. r=jrmuizel
This removes the call to push_scroll_layer in wr_push_stacking_context, so that
it's now possible to push a stacking context without necessarily pushing a
scroll layer. There is already a separate function to push a scroll layer so the
call sites can do that. This patch just changes all the call sites that were
pushing a stacking context to also push a scroll layer, so there should be no
functional change. Future patches can remove the spurious scroll layers.

MozReview-Commit-ID: FtCkc9JQd8l
2017-04-11 17:04:59 -04:00
David Anderson
7a44341bcc Improve pixel fill statistics in the D3D11 compositor overlay. (bug 1352151 part 6, r=bas)
This introduces two new statistics to the overlay. The first is the ratio of
pixel shader invocations (as determined by the GPU) to the number of pixels we
determined need to be redrawn. The ideal ratio is 1.0, indicating that we
filled every pixel exactly once. Anything over 1.0 indicates overdraw.

We also add the ratio of shaded pixels to window size. This indicates how well
we computed the invalid region, and whether or not we overfilled that
region.

Note that the OpenGL and Basic compositors do not yet query the GPU for
this statistic, so they will estimate shader invocations by the area of
DrawQuad calls.

Finally, we remove the feature where layout can request the most
recent overdraw statistic. It was not implemented on all compositors, and the
only test that used it was disabled.
2017-04-10 19:44:46 -07:00
Ryan Hunt
6ecc4704b8 Bug 1345975 - Clean up WebRenderLayer code r=kats
MozReview-Commit-ID: DWlAaJwuxlD
2017-03-09 12:35:33 -05:00
Ryan Hunt
d7f00f1fa2 Bug 1345907 - Use clip region instead of clip rect r=kats 2017-03-09 11:57:06 -05:00
Mason Chang
01aeb6725a Bug 1345523 - Clean up duplicated WebRenderLayer code. r=kats 2017-03-08 10:32:53 -08:00
Jeff Muizelaar
677ccdea94 Bug 1344396. Build the display lists directly. r=kats
This is a largely uninteresting patch that just uses the DisplayListBuilder
directly. A wonderful cleanup patch will come after this. One of the more
interesting pieces is the use of PushBuiltDisplayList. This is needed for
handling empty transactions. See https://github.com/servo/webrender/pull/934
for more info.
2017-03-06 23:16:30 -05:00
Jeff Muizelaar
250229ef91 Bug 1343770. Separate out Parent commands from Child commands. r=kats
This basically just splits the enum in two and does the necessary plumbing. The
worst part is that now DisplayItemLayers need to have two arrays of commands.
Fortunately, this will be going away in the future.

This makes it so we don't send the child side commands to the parent.
2017-03-02 16:33:25 -05:00
Ethan Lin
d55384bad0 Bug 1342356 - Remove validBufferRegion from OpAddExternalImage. r=sotaro 2017-03-01 14:11:13 +08:00
Jeff Muizelaar
e421e711ab Bug 1342246. Generate resource ids on the client side. r=lsalzman 2017-02-23 17:52:38 -05:00
Ryan Hunt
2c877fa601 Bug 1340908 - Include LayersLogging.h not WebRenderLayersLogging.h r=kats 2017-02-19 14:00:41 -05:00
Kartikaya Gupta
4979fd659f Merge m-c to graphics
MozReview-Commit-ID: IN2hMCjMHLL
2017-02-17 23:33:24 -05:00
Ethan Lin
63ff68e219 Bug 1332688 - Pass transform to webrender stacking context. r=jrmuizel 2017-02-17 14:57:43 +08:00
Nicolas Silva
1819922f47 Bug 1335799 - Update WR layers and FFI/bindings code for the webrender update. r=jrmuizel
MozReview-Commit-ID: Hv3MwSr97Op
2017-02-14 13:34:15 -05:00
Ethan Lin
9f2cf9d3c3 Bug 1330945 - Part1. Apply opacity to webrender stacking context as an opacity filter. r=jrmuizel 2017-02-02 15:09:09 +08:00
Ryan Hunt
b41e456e1e Bug 1335123 - Clean up layers logging for WebRenderLayers. r=kats 2017-01-30 12:48:01 -06:00
Ryan Hunt
e7c01364c4 Bug 1329739 - Specify a WrMixBlendMode for WebRenderLayer r=kats 2017-01-19 17:57:18 -06:00
Ryan Hunt
d94d55cac9 Bug 1328893 - Fix the WrTextureFilter used for WebRenderCanvasLayer r=kats? 2017-01-19 14:42:55 -06:00
peter chang
241bc68f10 Bug 1325022 - Pass layers::Animation data to WebRenderBridgeParent, r=gfx?
MozReview-Commit-ID: 7M3aXiEGCfL
2017-01-19 10:38:14 +08:00
Nicolas Silva
67c7d94680 Bug 1331515 - More WR to Wr prefix conversion. r=gfx? 2017-01-17 10:17:38 -05:00
Nicolas Silva
71ce50e60a Bug 1331515 - WR to Wr prefix conversion for more ffi types. r=gfx? 2017-01-17 09:53:57 -05:00
Nicolas Silva
171a41b90f Bug 1331515 - Rename WRRect into WrRect. r=gfx? 2017-01-17 09:32:16 -05:00
Nicolas Silva
e9678a4d84 Bug 1331515 - Move some types to the mozilla::wr namespace. r=gfx? 2017-01-16 19:22:09 -05:00
Nicolas Silva
15faee9666 Bug 1331515 - mozilla/webrender include path. r=gfx? 2017-01-16 19:21:52 -05:00
Ethan Lin
307f4c9f3b Bug 1322504 - Part2. Fix bound/format problem after using ContentClient. r=sotaro 2017-01-15 06:32:01 +08:00
Jeff Muizelaar
87f69cec24 Bug 1313735. Add mask layer support. r=gfx? 2017-01-13 22:12:15 -05:00
Ryan Hunt
f6243f02ff Bug 1328893 - Specify an ImageRendering for some WebRenderLayers r=kats 2017-01-13 11:59:07 -06:00
Kartikaya Gupta
54008a986b Back out 4 csets from bug 1322504 for introducing or exposing an intermittent debug reftest-e10s-4 failure. r=backout 2017-01-12 12:33:49 -05:00
Ethan Lin
56593bcc34 Bug 1322504 - Part2. Fix bound/format problem after using ContentClient. r=sotaro 2017-01-12 16:09:07 +08:00
Ryan Hunt
df78296ff3 Bug 1330480 - Move toWr* functions into WebRenderTypes.h r=gfx? 2017-01-11 19:53:28 -06:00
Nicolas Silva
87800d1c89 Bug 1328602 - Fix unified build bustage. r=gfx? 2017-01-10 14:19:19 +01:00
Jeff Muizelaar
c0120b1582 Bug 1329666. Add an ImageMask parameter to push_stacking_context(). r=gfx?
This will be used for implementing mask layers.
2017-01-09 10:48:45 -05:00
Jeff Muizelaar
d37e8c942d Bug 1328973. Rename OpPushDLBuilder to OpDPPushStackingContext etc. r=gfx?
Rename these things to better match the webrender api
2017-01-05 14:49:15 -05:00
Morris Tseng
34e588da7d Bug 1322500 - Using CanvasClient for WebRenderCanvasLayer. r=sotaro?
MozReview-Commit-ID: 78zbLjZMXFv
2016-12-29 18:27:00 +08:00
Jeff Muizelaar
733c6d9e10 Bug 1324965. Remove nested DisplayListBuilders. r=mchang?
This simplifies the logic around displaylist builders and
makes us push immediately instead of deferring it. The data
we used to pass to pop() is now passed to push().

This is also closer to what Servo does.

In a follow up I'll rename some of the methods to closer
align with the webrender names.

MozReview-Commit-ID: AfkwT7DzJ8o
2016-12-21 13:36:31 -05:00
Kartikaya Gupta
322331c6cd Revert tree back to commit 8a362f5c65fb. r=fix-messy-tree
MozReview-Commit-ID: 8ewcbgQsay9
2016-12-22 10:38:58 -05:00
Jeff Muizelaar
1be3112cb7 Bug 1324965. Remove nested DisplayListBuilders. r=mchang?
This simplifies the logic around displaylist builders and
makes us push immediately instead of deferring it. The data
we used to pass to pop() is now passed to push().

This is also closer to what Servo does.

In a follow up I'll rename some of the methods to closer
align with the webrender names.
2016-12-21 13:38:43 -05:00
Ethan Lin
229e61d537 Bug 1321231 - Apply transform for canvas rect. r=nical 2016-12-02 10:41:36 +08:00
Ethan Lin
325d71616a Bug 1321231 - Fix the overflow rect of WebRenderLayer. r=nical 2016-12-01 11:22:41 +08:00
Morris Tseng
761072f8f0 Bug 1316903 - Merged many webrender commands to single transaction. r=kats
MozReview-Commit-ID: 4iOxYJ6x4ZL
2016-11-18 16:07:02 +08:00
Mozilla Graphics Team
8d165b3b75 Bug 1317774 - Add gfx code needed to use WebRender in gecko. r=gfx
The overall architecture here is that we add a new layers type, LAYERS_WR,
which can be used in place of client layers. The WebRenderLayerManager, in
the EndTransaction call, paints content into images and ships them over the
PWebRenderBridge to the compositor thread. The WebRenderBridgeParent code on
the compositor side talks to WebRender via the API in webrender.h.

MozReview-Commit-ID: JKLTLJWVXiN
2016-11-16 08:54:51 -05:00
Daniel Holbert
bee7fa0be8 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t
2017-02-14 14:01:59 -08:00