forked from mirrors/gecko-dev
Bug 1899219 - Remove unused CompositorMap r=gfx-reviewers,lsalzman
CompositorMap is not used with WebRender. Differential Revision: https://phabricator.services.mozilla.com/D211806
This commit is contained in:
parent
0662f101d5
commit
e447c37ac7
3 changed files with 0 additions and 79 deletions
|
|
@ -111,14 +111,6 @@ StaticMonitor CompositorBridgeParent::sIndirectLayerTreesLock;
|
|||
CompositorBridgeParent::LayerTreeMap CompositorBridgeParent::sIndirectLayerTrees
|
||||
MOZ_GUARDED_BY(CompositorBridgeParent::sIndirectLayerTreesLock);
|
||||
|
||||
/// Equivalent to asserting CompositorThreadHolder::IsInCompositorThread with
|
||||
/// the addition that it doesn't assert if the compositor thread holder is
|
||||
/// already gone during late shutdown.
|
||||
static void AssertIsInCompositorThread() {
|
||||
MOZ_RELEASE_ASSERT(!CompositorThread() ||
|
||||
CompositorThreadHolder::IsInCompositorThread());
|
||||
}
|
||||
|
||||
CompositorBridgeParentBase::CompositorBridgeParentBase(
|
||||
CompositorManagerParent* aManager)
|
||||
: mCanSend(true), mCompositorManager(aManager) {}
|
||||
|
|
@ -202,30 +194,9 @@ inline void CompositorBridgeParent::ForEachWebRenderBridgeParent(
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A global map referencing each compositor by ID.
|
||||
*
|
||||
* This map is used by the ImageBridge protocol to trigger
|
||||
* compositions without having to keep references to the
|
||||
* compositor
|
||||
*/
|
||||
typedef std::map<uint64_t, CompositorBridgeParent*> CompositorMap;
|
||||
static StaticAutoPtr<CompositorMap> sCompositorMap;
|
||||
|
||||
void CompositorBridgeParent::Setup() {
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(!sCompositorMap);
|
||||
sCompositorMap = new CompositorMap;
|
||||
}
|
||||
|
||||
void CompositorBridgeParent::FinishShutdown() {
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
if (sCompositorMap) {
|
||||
MOZ_ASSERT(sCompositorMap->empty());
|
||||
sCompositorMap = nullptr;
|
||||
}
|
||||
|
||||
// TODO: this should be empty by now...
|
||||
StaticMonitorAutoLock lock(sIndirectLayerTreesLock);
|
||||
sIndirectLayerTrees.clear();
|
||||
|
|
@ -246,7 +217,6 @@ CompositorBridgeParent::CompositorBridgeParent(
|
|||
mUseExternalSurfaceSize(aUseExternalSurfaceSize),
|
||||
mEGLSurfaceSize(aSurfaceSize),
|
||||
mOptions(aOptions),
|
||||
mCompositorBridgeID(0),
|
||||
mRootLayerTreeID{0},
|
||||
mInnerWindowId(aInnerWindowId),
|
||||
mCompositorScheduler(nullptr),
|
||||
|
|
@ -309,14 +279,6 @@ void CompositorBridgeParent::Initialize() {
|
|||
|
||||
mPaused = mOptions.InitiallyPaused();
|
||||
|
||||
mCompositorBridgeID = 0;
|
||||
// FIXME: This holds on the the fact that right now the only thing that
|
||||
// can destroy this instance is initialized on the compositor thread after
|
||||
// this task has been processed.
|
||||
MOZ_ASSERT(CompositorThread());
|
||||
CompositorThread()->Dispatch(NewRunnableFunction(
|
||||
"AddCompositorRunnable", &AddCompositor, this, &mCompositorBridgeID));
|
||||
|
||||
{ // scope lock
|
||||
StaticMonitorAutoLock lock(sIndirectLayerTreesLock);
|
||||
sIndirectLayerTrees[mRootLayerTreeID].mParent = this;
|
||||
|
|
@ -524,8 +486,6 @@ void CompositorBridgeParent::ActorDestroy(ActorDestroyReason why) {
|
|||
|
||||
StopAndClearResources();
|
||||
|
||||
RemoveCompositor(mCompositorBridgeID);
|
||||
|
||||
{ // scope lock
|
||||
StaticMonitorAutoLock lock(sIndirectLayerTreesLock);
|
||||
sIndirectLayerTrees.erase(mRootLayerTreeID);
|
||||
|
|
@ -874,29 +834,6 @@ void CompositorBridgeParent::SetFixedLayerMargins(ScreenIntCoord aTop,
|
|||
ScheduleComposition(wr::RenderReasons::RESIZE);
|
||||
}
|
||||
|
||||
void CompositorBridgeParent::AddCompositor(CompositorBridgeParent* compositor,
|
||||
uint64_t* outID) {
|
||||
AssertIsInCompositorThread();
|
||||
|
||||
static uint64_t sNextID = 1;
|
||||
|
||||
++sNextID;
|
||||
(*sCompositorMap)[sNextID] = compositor;
|
||||
*outID = sNextID;
|
||||
}
|
||||
|
||||
CompositorBridgeParent* CompositorBridgeParent::RemoveCompositor(uint64_t id) {
|
||||
AssertIsInCompositorThread();
|
||||
|
||||
CompositorMap::iterator it = sCompositorMap->find(id);
|
||||
if (it == sCompositorMap->end()) {
|
||||
return nullptr;
|
||||
}
|
||||
CompositorBridgeParent* retval = it->second;
|
||||
sCompositorMap->erase(it);
|
||||
return retval;
|
||||
}
|
||||
|
||||
void CompositorBridgeParent::NotifyVsync(const VsyncEvent& aVsync,
|
||||
const LayersId& aLayersId) {
|
||||
MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_GPU);
|
||||
|
|
|
|||
|
|
@ -576,20 +576,6 @@ class CompositorBridgeParent final : public CompositorBridgeParentBase,
|
|||
MOZ_GUARDED_BY(sIndirectLayerTreesLock);
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Add a compositor to the global compositor map.
|
||||
*/
|
||||
static void AddCompositor(CompositorBridgeParent* compositor, uint64_t* id);
|
||||
/**
|
||||
* Remove a compositor from the global compositor map.
|
||||
*/
|
||||
static CompositorBridgeParent* RemoveCompositor(uint64_t id);
|
||||
|
||||
/**
|
||||
* Creates the global compositor map.
|
||||
*/
|
||||
static void Setup();
|
||||
|
||||
/**
|
||||
* Remaning cleanups after the compositore thread is gone.
|
||||
*/
|
||||
|
|
@ -624,7 +610,6 @@ class CompositorBridgeParent final : public CompositorBridgeParentBase,
|
|||
|
||||
CompositorOptions mOptions;
|
||||
|
||||
uint64_t mCompositorBridgeID;
|
||||
LayersId mRootLayerTreeID;
|
||||
|
||||
RefPtr<APZCTreeManager> mApzcTreeManager;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ CompositorThreadHolder::CreateCompositorThread() {
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
CompositorBridgeParent::Setup();
|
||||
ImageBridgeParent::Setup();
|
||||
|
||||
return compositorThread.forget();
|
||||
|
|
|
|||
Loading…
Reference in a new issue