Closed
Bug 1328602
Opened 8 years ago
Closed 8 years ago
Separate the compositor thread and the render thread (Volume one).
Categories
(Core :: Graphics: WebRender, defect)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla54
People
(Reporter: nical, Assigned: nical)
References
Details
Attachments
(3 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review |
WrWindowState holds both the api and the renderer which are supposed to be on different threads.
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → nical.bugzilla
Assignee | ||
Comment 1•8 years ago
|
||
Assignee | ||
Comment 2•8 years ago
|
||
Assignee | ||
Comment 3•8 years ago
|
||
Assignee | ||
Updated•8 years ago
|
Summary: Split WrWindowState → Separate the compositor thread and the render thread.
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/3694137dfa2b
Expose Renderer through the c bindings. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/a7f20d481858
Expose some more WebRender initialization functions through the C bindings. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/178137a72f3d
Start implementing the render thread. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/7b211ca0a5cb
Add a few comments explaining where some of the pieces are meant to fit. r=gfx?
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•8 years ago
|
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/f9c041db5cc4
Follow-up to fix build bustage. r=gfx?
Comment 6•8 years ago
|
||
There were actually multiple types of build bustage in that push - the missing |explicit| keyword (comment 5), various instances of unified build bustage. Most importantly, though, the QR reftests started failing as well, which is the real reason for the backout (I could have fixed the bustage in-place, but I don't know what to do about the reftest failures). Example log from reftest failure:
https://treeherder.mozilla.org/logviewer.html#?job_id=66853853&repo=graphics&lineNumber=1633
shows stuff like "assertion failed: unsafe { is_in_render_thread() }"
Comment 7•8 years ago
|
||
So I backed out the whole lot in https://hg.mozilla.org/projects/graphics/rev/674f47d5554e
Comment 8•8 years ago
|
||
There were also exciting failures like https://treeherder.mozilla.org/logviewer.html#?job_id=66848105&repo=graphics&lineNumber=26128
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/af09a50796fc
Expose Renderer through the c bindings. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/b80f1041fdc7
Expose some more WebRender initialization functions through the C bindings. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/fcbcf320b8c1
Start implementing the render thread. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/7b65e5dc976b
Add a few comments explaining where some of the pieces are meant to fit. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/a61edc75cfb5
Begin implementing a C++ wrapper around WebRender's RenderApi. r=gfx?
Comment 10•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/a4d644d5881f
Fix unified build bustage. r=gfx?
Comment 11•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/efc949b8dd94
Have RendererOGL talk to CompositorBridgeParentBase instead of WebRenderBridgeParent. r=gfx?
https://hg.mozilla.org/projects/graphics/rev/ea4621db7b6a
Begin implementing creating/destroying WebRenderAPI objects. r=gfx?
Comment 12•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/0be9aa8742dc
Provide alternative bindings that don't depend on WrWindowState. r=gfx?
Comment 13•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/1d71945a1e74
Start replacing wrstate with DisplayListBuilder. r=gfx?
Comment 14•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/a56293fb8c1c
Implement more WebRenderAPI methods. r=gfx?
Comment 15•8 years ago
|
||
Comment 16•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/d44001badd0f
WError fix on Windows. r=kats?
Comment 17•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/2483a6d1670d
Begin making it possible to not have a Compositor object. r=gfx?
Comment 18•8 years ago
|
||
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/68f28c9cae2d
Make it possible to enable the work-in-progress render thread code using MOZ_USE_RENDER_THREAD and ugly branching, hopefully temporarily. r=gfx?
Assignee | ||
Comment 19•8 years ago
|
||
There has been a lot of progress on this front, here are some of remaining things to do off the top of my head:
- make external images work (even sub-optimally), Sotaro has a patch for this
- implement synchronous snapshots
- make the TransactionId and epoch work properly
- synchronous widget resizing
- figure out whether video still works and maybe fix it
- make sure the WebRenderAPI/RendererOGL stuff shuts down properly without leaking
Comment 20•8 years ago
|
||
Closing this bug since we're stopping use of Phabricator and it would be cleaner to put follow-up work in a new bug with patches attached in the usual way. The patches in this bug will be audited via Phabricator and we can file follow-up bugs for issues encountered.
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Keywords: leave-open
Resolution: --- → FIXED
Comment 21•8 years ago
|
||
I finished a first pass of reviewing these patches. Not very thoroughly, and for the code that was modified multiple times I just looked at what the current state is in the tree rather than looking at each patch. I filed bug 1333503 and bug 1333505 for some follow-up work, and added a comment at https://bugzilla.mozilla.org/show_bug.cgi?id=1332737#c2 about an issue that was exacerbated by these patches. I'll try to do another pass through the code soon.
Assignee | ||
Updated•8 years ago
|
Summary: Separate the compositor thread and the render thread. → Separate the compositor thread and the render thread (Volume one).
Comment 22•8 years ago
|
||
Pushed by kwierso@gmail.com:
https://hg.mozilla.org/mozilla-central/rev/b55c1f67df7b
Fix incorrect return type in ffi signature. r=gfx?
Updated•8 years ago
|
Target Milestone: --- → mozilla54
Comment 23•8 years ago
|
||
The push in comment 22 seems like it landed with the wrong bug number, and isn't really associated with this bug.
kats, looks like you're the author on that patch -- do you know which bug that patch was actually associated with?
Flags: needinfo?(bugmail)
Comment 24•8 years ago
|
||
(Or maybe it was indeed associated with this bug and it was just a followup that landed after this bug was closed?)
Comment 25•8 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #24)
> (Or maybe it was indeed associated with this bug and it was just a followup
> that landed after this bug was closed?)
This. But also for some reason pulsebot never reported the original landing of the patch on the graphics branch, but only reported it once graphics got merged to m-c.
Flags: needinfo?(bugmail)
You need to log in
before you can comment on or make changes to this bug.
Description
•