Closed
Bug 1211109
Opened 9 years ago
Closed 9 years ago
Remove the static LayersBackend in CompositorParent
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla44
Tracking | Status | |
---|---|---|
firefox44 | --- | fixed |
People
(Reporter: dvander, Assigned: dvander)
References
Details
Attachments
(4 files)
11.72 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
33.83 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
2.23 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
13.71 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
This thing is just trouble. The compositor can change for any number of reasons, so either we have to enforce that it can't, or just accept that it can and support it. Anyone interacting with the compositor should know what kind of compositor they'll have.
In practice the only transitions we make are D3D11 -> Basic and back, if for example a D3D11 call transiently fails or if a TDR occurs. We should still not be mixing D3D9/D3D11 or anything crazy like that.
![]() |
Assignee | |
Comment 1•9 years ago
|
||
Motivation for this is that CompositorD3D11::Initialize seems to have a non-zero probability of failing. If that does happen it'd be nice to know exactly why it failed.
Attachment #8669285 -
Flags: review?(matt.woodrow)
![]() |
Assignee | |
Comment 2•9 years ago
|
||
Most of this is forwarding a new LayersBackend parameter around anywhere we create a Texture in IPDL, since ImageBridgeParent is not 1:1 with CompositorParents.
I would like to have removed ISurfaceAllocator::GetCompositorBackendType too. It looks possible, but TextureClient::CreateForDrawing consumers would need to know a bit more. For now I just commented that GetCompositorBackendType is intended for TextureClient::CreateForDrawing.
Attachment #8669287 -
Flags: review?(matt.woodrow)
![]() |
Assignee | |
Comment 3•9 years ago
|
||
This removes the thebes assertion that the compositor doesn't change, and replaces it with a critical note. We now also only notify thebes of a compositor change for top-level windows.
Attachment #8669288 -
Flags: review?(matt.woodrow)
Updated•9 years ago
|
Attachment #8669285 -
Flags: review?(matt.woodrow) → review+
Updated•9 years ago
|
Attachment #8669287 -
Flags: review?(matt.woodrow) → review+
Updated•9 years ago
|
Attachment #8669288 -
Flags: review?(matt.woodrow) → review+
![]() |
Assignee | |
Comment 4•9 years ago
|
||
It's illegal to call this for anything other than CompositableForwarder, so we may as well remove it and have consumers take in a CompositableForwarder instead.
(If this results in something unintentional, I can change affected code to pass around a LayersBackend instead.)
Attachment #8670074 -
Flags: review?(matt.woodrow)
Updated•9 years ago
|
Attachment #8670074 -
Flags: review?(matt.woodrow) → review+
https://hg.mozilla.org/mozilla-central/rev/6de70cad7848
https://hg.mozilla.org/mozilla-central/rev/34e69198f018
https://hg.mozilla.org/mozilla-central/rev/f6dfce68d9e6
https://hg.mozilla.org/mozilla-central/rev/13badd64d40f
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in
before you can comment on or make changes to this bug.
Description
•