Closed Bug 1439960 Opened 2 years ago Closed 2 years ago

Remove DisplayItemLayer

Categories

(Core :: Graphics: Layers, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files)

Now that layers-full webrender has been removed, DisplayItemLayer should be unused.
Comment on attachment 8952744 [details]
Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, )

https://reviewboard.mozilla.org/r/221978/#review228470

::: layout/painting/nsDisplayList.cpp:4935
(Diff revision 1)
>                                            const StackingContextHelper& aSc,
>                                            mozilla::layers::WebRenderLayerManager* aManager,
>                                            nsDisplayListBuilder* aDisplayListBuilder)
>  {
>    ContainerLayerParameters parameter;
>    if (GetLayerState(aDisplayListBuilder, aManager, parameter) != LAYER_ACTIVE) {

You're changing behavior here. There might be more implementations of CreateWebRenderCommands that call GetLayerState; you'll probably need to move the relevant checks from GetLayerState to CreateWebRenderCommands for all of them.
Attachment #8952744 - Flags: review?(mstange)
Comment on attachment 8952744 [details]
Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, )

https://treeherder.mozilla.org/#/jobs?repo=try&revision=eb91b80515941e1e940a8ec937e86735ee6ba69e

There's still some reftest failures here on the retrigger, I'm not able to reproduce it locally so I'll continue investigating.
Attachment #8952744 - Flags: review?(mstange)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=81786dcf770b59b8ed146e74032b776739bc0937

Green. The problem was in the removal of a call to GetLayerState from nsDisplayBackgroundImage, causing us to not request the image container with SYNC_DECODE when we need to.
Comment on attachment 8960755 [details]
Respect SYNC_DECODE when deciding to use Webrender for nsDisplayBackgroundImage. (bug 1439960, )

https://reviewboard.mozilla.org/r/229496/#review235222

::: layout/painting/nsCSSRendering.cpp:2057
(Diff revision 1)
>  nsCSSRendering::CanBuildWebRenderDisplayItemsForStyleImageLayer(LayerManager* aManager,
>                                                                  nsPresContext& aPresCtx,
>                                                                  nsIFrame *aFrame,
>                                                                  const nsStyleBackground* aBackgroundStyle,
> -                                                                int32_t aLayer)
> +                                                                int32_t aLayer,
> +                                                                uint32_t mPaintFlags)

rename to aPaintFlags
Attachment #8960755 - Flags: review?(mstange) → review+
Comment on attachment 8952744 [details]
Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, )

https://reviewboard.mozilla.org/r/221978/#review235226

Nice!
Attachment #8952744 - Flags: review?(mstange) → review+
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e6bd6ebc8597
Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
https://hg.mozilla.org/integration/mozilla-inbound/rev/c8d6b0fa1447
Respect SYNC_DECODE when deciding to use Webrender for nsDisplayBackgroundImage. (bug 1439960, r=mstange)
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b8057c06fc4c
Fix unified build bustage for missing include. (bug 1439960, r=me) on a CLOSED TREE
Try run with the fix for the unified bustage.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=67f088dd915d12dfc48a826e79c24518f5108f14
Flags: needinfo?(rhunt)
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/62432cc896ee
Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
https://hg.mozilla.org/integration/mozilla-inbound/rev/19ad67bba591
Respect SYNC_DECODE when deciding to use Webrender for nsDisplayBackgroundImage. (bug 1439960, r=mstange)
https://hg.mozilla.org/mozilla-central/rev/62432cc896ee
https://hg.mozilla.org/mozilla-central/rev/19ad67bba591
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.