Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/CachedSet.h +0 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ public: void addLayer(const LayerState*, std::chrono::steady_clock::time_point lastUpdate); std::chrono::steady_clock::time_point getLastUpdate() const { return mLastUpdate; } NonBufferHash getFingerprint() const { return mFingerprint; } size_t getLayerCount() const { return mLayers.size(); } const Layer& getFirstLayer() const { return mLayers[0]; } const Rect& getBounds() const { return mBounds; } Loading services/surfaceflinger/CompositionEngine/src/planner/Flattener.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -45,7 +45,10 @@ bool isSameStack(const std::vector<const LayerState*>& incomingLayers, } for (size_t i = 0; i < incomingLayers.size(); i++) { if (incomingLayers[i]->getDifferingFields(*(existingLayers[i])) != LayerStateField::None) { // Checking the IDs here is very strict, but we do this as otherwise we may mistakenly try // to access destroyed OutputLayers later on. if (incomingLayers[i]->getId() != existingLayers[i]->getId() || incomingLayers[i]->getDifferingFields(*(existingLayers[i])) != LayerStateField::None) { return false; } } Loading Loading @@ -236,7 +239,8 @@ bool Flattener::mergeWithCachedSets(const std::vector<const LayerState*>& layers auto currentLayerIter = mLayers.begin(); auto incomingLayerIter = layers.begin(); while (incomingLayerIter != layers.end()) { if (mNewCachedSet && mNewCachedSet->getFingerprint() == (*incomingLayerIter)->getHash()) { if (mNewCachedSet && mNewCachedSet->getFirstLayer().getState()->getId() == (*incomingLayerIter)->getId()) { if (mNewCachedSet->hasBufferUpdate()) { ALOGV("[%s] Dropping new cached set", __func__); ++mInvalidatedCachedSetAges[0]; Loading services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp +0 −3 Original line number Diff line number Diff line Loading @@ -109,7 +109,6 @@ void CachedSetTest::TearDown() { } void expectEqual(const CachedSet& cachedSet, const CachedSet::Layer& layer) { EXPECT_EQ(layer.getHash(), cachedSet.getFingerprint()); EXPECT_EQ(layer.getLastUpdate(), cachedSet.getLastUpdate()); EXPECT_EQ(layer.getDisplayFrame(), cachedSet.getBounds()); EXPECT_TRUE(layer.getVisibleRegion().hasSameRects(cachedSet.getVisibleRegion())); Loading Loading @@ -158,7 +157,6 @@ TEST_F(CachedSetTest, addLayer) { CachedSet cachedSet(layer1); cachedSet.addLayer(layer2.getState(), kStartTime + 10ms); EXPECT_EQ(layer1.getHash(), cachedSet.getFingerprint()); EXPECT_EQ(kStartTime, cachedSet.getLastUpdate()); EXPECT_EQ(Rect(0, 0, 2, 2), cachedSet.getBounds()); Region expectedRegion; Loading Loading @@ -247,7 +245,6 @@ TEST_F(CachedSetTest, append) { cachedSet1.addLayer(layer3.getState(), kStartTime + 10ms); cachedSet1.append(cachedSet2); EXPECT_EQ(layer1.getHash(), cachedSet1.getFingerprint()); EXPECT_EQ(kStartTime, cachedSet1.getLastUpdate()); EXPECT_EQ(Rect(0, 0, 3, 3), cachedSet1.getBounds()); Region expectedRegion; Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/CachedSet.h +0 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ public: void addLayer(const LayerState*, std::chrono::steady_clock::time_point lastUpdate); std::chrono::steady_clock::time_point getLastUpdate() const { return mLastUpdate; } NonBufferHash getFingerprint() const { return mFingerprint; } size_t getLayerCount() const { return mLayers.size(); } const Layer& getFirstLayer() const { return mLayers[0]; } const Rect& getBounds() const { return mBounds; } Loading
services/surfaceflinger/CompositionEngine/src/planner/Flattener.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -45,7 +45,10 @@ bool isSameStack(const std::vector<const LayerState*>& incomingLayers, } for (size_t i = 0; i < incomingLayers.size(); i++) { if (incomingLayers[i]->getDifferingFields(*(existingLayers[i])) != LayerStateField::None) { // Checking the IDs here is very strict, but we do this as otherwise we may mistakenly try // to access destroyed OutputLayers later on. if (incomingLayers[i]->getId() != existingLayers[i]->getId() || incomingLayers[i]->getDifferingFields(*(existingLayers[i])) != LayerStateField::None) { return false; } } Loading Loading @@ -236,7 +239,8 @@ bool Flattener::mergeWithCachedSets(const std::vector<const LayerState*>& layers auto currentLayerIter = mLayers.begin(); auto incomingLayerIter = layers.begin(); while (incomingLayerIter != layers.end()) { if (mNewCachedSet && mNewCachedSet->getFingerprint() == (*incomingLayerIter)->getHash()) { if (mNewCachedSet && mNewCachedSet->getFirstLayer().getState()->getId() == (*incomingLayerIter)->getId()) { if (mNewCachedSet->hasBufferUpdate()) { ALOGV("[%s] Dropping new cached set", __func__); ++mInvalidatedCachedSetAges[0]; Loading
services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp +0 −3 Original line number Diff line number Diff line Loading @@ -109,7 +109,6 @@ void CachedSetTest::TearDown() { } void expectEqual(const CachedSet& cachedSet, const CachedSet::Layer& layer) { EXPECT_EQ(layer.getHash(), cachedSet.getFingerprint()); EXPECT_EQ(layer.getLastUpdate(), cachedSet.getLastUpdate()); EXPECT_EQ(layer.getDisplayFrame(), cachedSet.getBounds()); EXPECT_TRUE(layer.getVisibleRegion().hasSameRects(cachedSet.getVisibleRegion())); Loading Loading @@ -158,7 +157,6 @@ TEST_F(CachedSetTest, addLayer) { CachedSet cachedSet(layer1); cachedSet.addLayer(layer2.getState(), kStartTime + 10ms); EXPECT_EQ(layer1.getHash(), cachedSet.getFingerprint()); EXPECT_EQ(kStartTime, cachedSet.getLastUpdate()); EXPECT_EQ(Rect(0, 0, 2, 2), cachedSet.getBounds()); Region expectedRegion; Loading Loading @@ -247,7 +245,6 @@ TEST_F(CachedSetTest, append) { cachedSet1.addLayer(layer3.getState(), kStartTime + 10ms); cachedSet1.append(cachedSet2); EXPECT_EQ(layer1.getHash(), cachedSet1.getFingerprint()); EXPECT_EQ(kStartTime, cachedSet1.getLastUpdate()); EXPECT_EQ(Rect(0, 0, 3, 3), cachedSet1.getBounds()); Region expectedRegion; Loading