Closed Bug 1440690 Opened 6 years ago Closed 6 years ago

Don't build WebRender display list if the gecko display list hasn't changed

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: jrmuizel, Assigned: mikokm)

References

Details

Attachments

(1 file)

This is the webrender analog to bug 1429932.
Miko, are you able to look at doing this?
Flags: needinfo?(mikokm)
It seems nsDisplayList::PaintRoot() needs to somehow handle nsDisplayList::PAINT_IDENTICAL_DISPLAY_LIST from aFlags, and skip the call/propagate the flag to wrManager->EndTransactionWithoutLayer().
I am not very familiar with this code, so I do not know what the graceful way of skipping this step is, but I can give it a look.
Flags: needinfo?(mikokm)
It looks like the WR equivalent should be pretty much the same as the non-WR code. That is, you'll want to check for the flag just before [1] and then call WebRenderLayerManager::EndEmptyTransaction [2]. The code in the WR branch of PaintRoot was modeled after the existing code in the non-WR branch and should follow the pattern pretty closely.

[1] https://searchfox.org/mozilla-central/rev/14d933246211b02f5be21d2e730a57cf087c6606/layout/painting/nsDisplayList.cpp#2670
[2] https://searchfox.org/mozilla-central/rev/14d933246211b02f5be21d2e730a57cf087c6606/gfx/layers/wr/WebRenderLayerManager.cpp#189
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
Comment on attachment 8966264 [details]
Bug 1440690 - Don't build WebRender display list if the gecko display list hasn't changed

https://reviewboard.mozilla.org/r/235008/#review240638

::: layout/painting/nsDisplayList.cpp:2627
(Diff revision 1)
>            return nullptr;
>          }
>        }
>      }
>  
> +    bool temp =

Let's rename "temp" to something better since we're increasing the distance from definition to use.
Attachment #8966264 - Flags: review?(bugmail) → review+
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/a4af53b3f62d
Don't build WebRender display list if the gecko display list hasn't changed r=kats
Depends on: 1452791
https://hg.mozilla.org/mozilla-central/rev/a4af53b3f62d
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Depends on: 1452808
Depends on: 1453165
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: