Implement GPU process on macOS
Categories
(Core :: Graphics, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox143 | --- | fixed |
People
(Reporter: bradwerth, Assigned: bradwerth)
References
(Blocks 13 open bugs, Regressed 1 open bug)
Details
Attachments
(8 files, 6 obsolete files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
This bug covers an initial implementation of the GPU process on macOS.
Updated•1 year ago
|
Assignee | ||
Comment 1•11 months ago
|
||
Assignee | ||
Comment 2•10 months ago
|
||
Current WIP patches spin up a GPU Process (with pref layers.gpu-process.enabled
set to true), which doesn't render any surfaces. Work continues.
Assignee | ||
Comment 3•9 months ago
|
||
Assignee | ||
Comment 4•5 months ago
|
||
Assignee | ||
Comment 5•5 months ago
|
||
This attempts to do the following things:
- Make nsCocoaWindow override and store a platform compositor widget
delegate, overriding nsBaseWidget to do so. The delegate is
the CompositorBridgeChild. - Actually set the delegate -- this part is still missing I think.
- Make nsCocoaWindow::DoResize update the size of the widget delegate,
which should allow the child to offer up its CocoaCompositorWidget and
receive rendering calls on the GPU.
Updated•5 months ago
|
Updated•4 months ago
|
Assignee | ||
Comment 6•4 months ago
|
||
Assignee | ||
Comment 7•4 months ago
|
||
Assignee | ||
Comment 8•4 months ago
|
||
Updated•4 months ago
|
Updated•4 months ago
|
Updated•4 months ago
|
Updated•4 months ago
|
Assignee | ||
Comment 9•3 months ago
|
||
Updated•3 months ago
|
Comment 10•3 months ago
|
||
Comment on attachment 9486323 [details]
WIP: Bug 1889757 Part 4: Create the NativeLayerRemoteMac peers.
Revision D248437 was moved to bug 1885451. Setting attachment 9486323 [details] to obsolete.
Updated•3 months ago
|
Assignee | ||
Comment 11•3 months ago
|
||
This handles the NativeLayerRoot methods to turn them into messages sent
to the NativeLayerRemoteMacParent. The layers are identified by their
GPU-side (client) pointers, which are turned into flavorless u64 values.
When layers are created, they we send creation messages noting the size
and other params of the layer creation. Later, when we CommitToScreen,
we pull properties from each of the layers, not knowing which of those
properties might have changed. Together, it should be enough for the
parent to reconstruct its layers and whatever new properties they should
have.
This patch probably has unneeded parts that should be moved into other
parts of this patch stack.
Comment 12•3 months ago
|
||
Comment on attachment 9486323 [details]
WIP: Bug 1889757 Part 4: Create the NativeLayerRemoteMac peers.
Revision D248437 was moved to bug 1885451. Setting attachment 9486323 [details] to obsolete.
Assignee | ||
Comment 13•3 months ago
|
||
Assignee | ||
Comment 14•3 months ago
|
||
Assignee | ||
Comment 15•3 months ago
|
||
This also incidentally removes the unused NativeLayerCA::NextSurface
method. That method was made redundant in the refactoring of Bug
1962217.
Updated•3 months ago
|
Updated•3 months ago
|
Assignee | ||
Comment 16•2 months ago
|
||
This supports a later part in this patch where a NativeLayerRoot
subclass is added, which needs to define its own AddRef and Release
implementations.
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Assignee | ||
Comment 17•2 months ago
|
||
This change allows NativeLayerRemoteMac::AttachExternalImage to use the
surface injection system in NativeLayerCA::SetSurfaceToUse to handle
video surfaces.
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Assignee | ||
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•29 days ago
|
Updated•29 days ago
|
Updated•29 days ago
|
Updated•29 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Updated•22 days ago
|
Comment 18•22 days ago
|
||
Comment 19•22 days ago
|
||
Comment 20•22 days ago
|
||
Backed out for causing build bustages at NativeLayerCommandQueue.h..
Backout link: https://hg-edge.mozilla.org/integration/autoland/rev/27e1121f32eafc0ab3c5eb9882aa69d50ca63827
Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel&revision=3f09cedb0a5b3549c57a938c8fb1793c01557703
Failure log: https://treeherder.mozilla.org/logviewer?job_id=519945963&repo=autoland&lineNumber=101253
Comment 21•21 days ago
|
||
Assignee | ||
Comment 22•21 days ago
|
||
Ugh, looks like I failed to push the rest of the patch stack. I'll clean up as best I can after I see what happens with this landing.
Comment 23•21 days ago
|
||
Comment 24•21 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4d571e1e4b6e
https://hg.mozilla.org/mozilla-central/rev/4d4289d80060
https://hg.mozilla.org/mozilla-central/rev/ce38d08e7549
https://hg.mozilla.org/mozilla-central/rev/7dfefdaa4dfc
https://hg.mozilla.org/mozilla-central/rev/a43156231b6d
https://hg.mozilla.org/mozilla-central/rev/239d4ebbb302
https://hg.mozilla.org/mozilla-central/rev/36a9f3531b90
https://hg.mozilla.org/mozilla-central/rev/22daba702372
Assignee | ||
Updated•20 days ago
|
Description
•