Closed Bug 1397054 Opened 7 years ago Closed 7 years ago

Don't assume the display list builder gets deleted every frame

Categories

(Core :: Web Painting, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

Details

Attachments

(1 file)

Attached patch builder-settingsSplinter Review
With retained-dl, we're going to retain the display list builder between frames (since it owns the arena that the items are allocated into).

This patch changes it so we rely less on getting a new builder state each frame.
Attachment #8904764 - Flags: review?(mstange)
Assignee: nobody → matt.woodrow
Comment on attachment 8904764 [details] [diff] [review]
builder-settings

Review of attachment 8904764 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/base/nsLayoutUtils.cpp
@@ +3531,4 @@
>    if (aFlags & PaintFrameFlags::PAINT_IN_TRANSFORM) {
>      builder.SetInTransform(true);
> +  } else {
> +    builder.SetInTransform(false);

Wouldn't it be nicer if BeginFrame() reset all these flags?
Attachment #8904764 - Flags: review?(mstange) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/380200b5b5c0
Reset nsDisplayListBuilder state each frame so that we can use it multiple times. r=mstange
https://hg.mozilla.org/mozilla-central/rev/380200b5b5c0
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.