Closed Bug 1591523 Opened 5 years ago Closed 5 years ago

Implement OS Compositor interface on macOS

Categories

(Core :: Graphics: WebRender, enhancement)

All
macOS
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(4 files)

This is the macOS counterpart to bug 1591004.

Depends on: 1589512
Type: task → enhancement
Depends on: 1591752
Depends on: 1587940

This allows us to somewhat cheaply swap out the entire set of layers.
It also means that clearing the array of layers no longer has quadratic complexity;
in the past, you would do this by calling RemoveLayer once per layer, and RemoveLayer
does a linear scan through the array.

Depends on D50724

Other than broken vibrancy, this seems to render correctly.
This implementation is off by default (behind gfx.webrender.compositor) until
various other bugs and inefficiencies are fixed.

Depends on D50725

A local patch I was working with today that updates your WIP patch for the CompositorTrait interface changes I have in review, if it's useful.

Blocks: 1592016
Attachment #9104477 - Attachment description: Bug 1591523 - WIP: First pass of OS compositor implementation on macOS. → Bug 1591523 - First pass of OS compositor implementation on macOS. r=sotaro
Blocks: 1592150
Attachment #9104476 - Attachment description: Bug 1591523 - Add NativeLayerRoot::SetLayers. r=mattwoodrow → Bug 1591523 - Add NativeLayerRoot::SetLayers. r=jrmuizel
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/abb627bc4f75 Move existing NativeLayer management into RenderCompositorOGL. r=sotaro https://hg.mozilla.org/integration/autoland/rev/b4c8080dae86 Add NativeLayerRoot::SetLayers. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/407f051e14db First pass of OS compositor implementation on macOS. r=sotaro
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/c32e79374b68 Move existing NativeLayer management into RenderCompositorOGL. r=sotaro https://hg.mozilla.org/integration/autoland/rev/bfc9a6a250cb Add NativeLayerRoot::SetLayers. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/d392d3ba99dd First pass of OS compositor implementation on macOS. r=sotaro
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Regressions: 1592906
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: