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:
sotaro 2024-05-28 05:55:28 +00:00
parent 0662f101d5
commit e447c37ac7
3 changed files with 0 additions and 79 deletions

View file

@ -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);

View file

@ -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;

View file

@ -103,7 +103,6 @@ CompositorThreadHolder::CreateCompositorThread() {
return nullptr;
}
CompositorBridgeParent::Setup();
ImageBridgeParent::Setup();
return compositorThread.forget();