diff options
| author | 2023-08-18 19:35:30 +0000 | |
|---|---|---|
| committer | 2023-08-18 19:35:30 +0000 | |
| commit | 3b2ad8c54d045eb0ae03f0ed8d8519fddc99c46b (patch) | |
| tree | f9b4da02c826683b5ab61a2aa176120d20e110d6 /services | |
| parent | b956058d7fcd3057cd0329b2098caa3c1977174d (diff) | |
| parent | f29700fb05dd225dc5b80dac5e4d80e074622e09 (diff) | |
Merge "Remove useFramebufferCache parameter in drawLayers()" into main
Diffstat (limited to 'services')
6 files changed, 74 insertions, 84 deletions
diff --git a/services/surfaceflinger/CompositionEngine/src/Output.cpp b/services/surfaceflinger/CompositionEngine/src/Output.cpp index 0b11e747ca..78c23daf48 100644 --- a/services/surfaceflinger/CompositionEngine/src/Output.cpp +++ b/services/surfaceflinger/CompositionEngine/src/Output.cpp @@ -1315,17 +1315,9 @@ std::optional<base::unique_fd> Output::composeSurfaces( }); const nsecs_t renderEngineStart = systemTime(); - // Only use the framebuffer cache when rendering to an internal display - // TODO(b/173560331): This is only to help mitigate memory leaks from virtual displays because - // right now we don't have a concrete eviction policy for output buffers: GLESRenderEngine - // bounds its framebuffer cache but Skia RenderEngine has no current policy. The best fix is - // probably to encapsulate the output buffer into a structure that dispatches resource cleanup - // over to RenderEngine, in which case this flag can be removed from the drawLayers interface. - const bool useFramebufferCache = outputState.layerFilter.toInternalDisplay; - auto fenceResult = renderEngine .drawLayers(clientCompositionDisplay, clientRenderEngineLayers, tex, - useFramebufferCache, std::move(fd)) + std::move(fd)) .get(); if (mClientCompositionRequestCache && fenceStatus(fenceResult) != NO_ERROR) { diff --git a/services/surfaceflinger/CompositionEngine/src/planner/CachedSet.cpp b/services/surfaceflinger/CompositionEngine/src/planner/CachedSet.cpp index 7547be94e3..579c6ba772 100644 --- a/services/surfaceflinger/CompositionEngine/src/planner/CachedSet.cpp +++ b/services/surfaceflinger/CompositionEngine/src/planner/CachedSet.cpp @@ -275,11 +275,9 @@ void CachedSet::render(renderengine::RenderEngine& renderEngine, TexturePool& te bufferFence.reset(texture->getReadyFence()->dup()); } - constexpr bool kUseFramebufferCache = false; - auto fenceResult = renderEngine .drawLayers(displaySettings, layerSettings, texture->get(), - kUseFramebufferCache, std::move(bufferFence)) + std::move(bufferFence)) .get(); if (fenceStatus(fenceResult) == NO_ERROR) { diff --git a/services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp b/services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp index ebf9a2b2e2..ee6998aef8 100644 --- a/services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +++ b/services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp @@ -3421,10 +3421,10 @@ TEST_F(OutputComposeSurfacesTest, handlesZeroCompositionRequests) { .WillRepeatedly(Return()); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, IsEmpty(), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, IsEmpty(), _, _)) .WillRepeatedly([&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { return ftl::yield<FenceResult>(Fence::NO_FENCE); }); @@ -3452,10 +3452,10 @@ TEST_F(OutputComposeSurfacesTest, buildsAndRendersRequestList) { })); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .WillRepeatedly([&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { return ftl::yield<FenceResult>(Fence::NO_FENCE); }); @@ -3486,10 +3486,10 @@ TEST_F(OutputComposeSurfacesTest, })); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, true, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .WillRepeatedly([&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { return ftl::yield<FenceResult>(Fence::NO_FENCE); }); @@ -3515,7 +3515,7 @@ TEST_F(OutputComposeSurfacesTest, renderDuplicateClientCompositionRequestsWithou .WillRepeatedly(Return()); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .Times(2) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); @@ -3545,7 +3545,7 @@ TEST_F(OutputComposeSurfacesTest, skipDuplicateClientCompositionRequests) { .WillRepeatedly(Return()); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); EXPECT_CALL(mOutput, setExpensiveRenderingExpected(false)); @@ -3581,10 +3581,10 @@ TEST_F(OutputComposeSurfacesTest, clientCompositionIfBufferChanges) { EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)) .WillOnce(Return(mOutputBuffer)) .WillOnce(Return(otherOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .WillRepeatedly([&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { return ftl::yield<FenceResult>(Fence::NO_FENCE); }); @@ -3616,9 +3616,9 @@ TEST_F(OutputComposeSurfacesTest, clientCompositionIfRequestChanges) { .WillRepeatedly(Return()); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r2), _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); - EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r3), _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, ElementsAre(r1, r3), _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); verify().execute().expectAFenceWasReturned(); @@ -3695,7 +3695,7 @@ struct OutputComposeSurfacesTest_UsesExpectedDisplaySettings : public OutputComp struct ExpectDisplaySettingsState : public CallOrderStateMachineHelper<TestType, ExpectDisplaySettingsState> { auto thenExpectDisplaySettingsUsed(renderengine::DisplaySettings settings) { - EXPECT_CALL(getInstance()->mRenderEngine, drawLayers(settings, _, _, false, _)) + EXPECT_CALL(getInstance()->mRenderEngine, drawLayers(settings, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); return nextState<ExecuteState>(); } @@ -3948,11 +3948,11 @@ struct OutputComposeSurfacesTest_HandlesProtectedContent : public OutputComposeS EXPECT_CALL(mOutput, appendRegionFlashRequests(RegionEq(kDebugRegion), _)) .WillRepeatedly(Return()); EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillRepeatedly([&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>&, const std::shared_ptr<renderengine::ExternalTexture>&, - const bool, base::unique_fd&&) -> ftl::Future<FenceResult> { + base::unique_fd&&) -> ftl::Future<FenceResult> { return ftl::yield<FenceResult>(Fence::NO_FENCE); }); } @@ -3987,7 +3987,7 @@ TEST_F(OutputComposeSurfacesTest_HandlesProtectedContent, ifNotEnabled) { EXPECT_CALL(*mRenderSurface, setProtected(true)); // Must happen after setting the protected content state. EXPECT_CALL(*mRenderSurface, dequeueBuffer(_)).WillRepeatedly(Return(mOutputBuffer)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); base::unique_fd fd; @@ -4046,7 +4046,7 @@ TEST_F(OutputComposeSurfacesTest_SetsExpensiveRendering, IfExepensiveOutputDatas InSequence seq; EXPECT_CALL(mOutput, setExpensiveRenderingExpected(true)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, false, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); base::unique_fd fd; diff --git a/services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp b/services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp index bd030d090f..d61d7ba574 100644 --- a/services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp +++ b/services/surfaceflinger/CompositionEngine/tests/planner/CachedSetTest.cpp @@ -353,7 +353,7 @@ TEST_F(CachedSetTest, renderUnsecureOutput) { const auto drawLayers = [&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { EXPECT_EQ(mOutputState.framebufferSpace.getContent(), displaySettings.physicalDisplay); EXPECT_EQ(mOutputState.layerStackSpace.getContent(), displaySettings.clip); @@ -369,7 +369,7 @@ TEST_F(CachedSetTest, renderUnsecureOutput) { .WillOnce(Return(clientComp1)); EXPECT_CALL(*layerFE2, prepareClientComposition(ClientCompositionTargetSettingsSecureEq(false))) .WillOnce(Return(clientComp2)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); mOutputState.isSecure = false; cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); expectReadyBuffer(cachedSet); @@ -402,7 +402,7 @@ TEST_F(CachedSetTest, renderSecureOutput) { const auto drawLayers = [&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { EXPECT_EQ(mOutputState.framebufferSpace.getContent(), displaySettings.physicalDisplay); EXPECT_EQ(mOutputState.layerStackSpace.getContent(), displaySettings.clip); @@ -419,7 +419,7 @@ TEST_F(CachedSetTest, renderSecureOutput) { .WillOnce(Return(clientComp1)); EXPECT_CALL(*layerFE2, prepareClientComposition(ClientCompositionTargetSettingsSecureEq(true))) .WillOnce(Return(clientComp2)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); mOutputState.isSecure = true; cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); expectReadyBuffer(cachedSet); @@ -452,7 +452,7 @@ TEST_F(CachedSetTest, renderWhitePoint) { const auto drawLayers = [&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { EXPECT_EQ(mOutputState.displayBrightnessNits, displaySettings.targetLuminanceNits); return ftl::yield<FenceResult>(Fence::NO_FENCE); @@ -466,7 +466,7 @@ TEST_F(CachedSetTest, renderWhitePoint) { prepareClientComposition(ClientCompositionTargetSettingsWhitePointEq( mOutputState.displayBrightnessNits))) .WillOnce(Return(clientComp2)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); mOutputState.isSecure = true; cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); expectReadyBuffer(cachedSet); @@ -502,7 +502,7 @@ TEST_F(CachedSetTest, renderWhitePointNoColorTransform) { const auto drawLayers = [&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>&, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { EXPECT_EQ(mOutputState.displayBrightnessNits, displaySettings.targetLuminanceNits); return ftl::yield<FenceResult>(Fence::NO_FENCE); @@ -516,7 +516,7 @@ TEST_F(CachedSetTest, renderWhitePointNoColorTransform) { prepareClientComposition(ClientCompositionTargetSettingsWhitePointEq( mOutputState.displayBrightnessNits))) .WillOnce(Return(clientComp2)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); mOutputState.isSecure = true; cachedSet.render(mRenderEngine, mTexturePool, mOutputState, false); expectReadyBuffer(cachedSet); @@ -551,7 +551,7 @@ TEST_F(CachedSetTest, rendersWithOffsetFramebufferContent) { const auto drawLayers = [&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { EXPECT_EQ(mOutputState.framebufferSpace.getContent(), displaySettings.physicalDisplay); EXPECT_EQ(mOutputState.layerStackSpace.getContent(), displaySettings.clip); @@ -566,7 +566,7 @@ TEST_F(CachedSetTest, rendersWithOffsetFramebufferContent) { EXPECT_CALL(*layerFE1, prepareClientComposition(_)).WillOnce(Return(clientComp1)); EXPECT_CALL(*layerFE2, prepareClientComposition(_)).WillOnce(Return(clientComp2)); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); expectReadyBuffer(cachedSet); @@ -815,7 +815,7 @@ TEST_F(CachedSetTest, addHolePunch) { const auto drawLayers = [&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { // If the highlight layer is enabled, it will increase the size by 1. // We're interested in the third layer either way. @@ -839,7 +839,7 @@ TEST_F(CachedSetTest, addHolePunch) { return ftl::yield<FenceResult>(Fence::NO_FENCE); }; - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); } @@ -875,7 +875,7 @@ TEST_F(CachedSetTest, addHolePunch_noBuffer) { const auto drawLayers = [&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { // If the highlight layer is enabled, it will increase the size by 1. // We're interested in the third layer either way. @@ -900,7 +900,7 @@ TEST_F(CachedSetTest, addHolePunch_noBuffer) { return ftl::yield<FenceResult>(Fence::NO_FENCE); }; - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); } @@ -1026,7 +1026,7 @@ TEST_F(CachedSetTest, addBlur) { const auto drawLayers = [&](const renderengine::DisplaySettings&, const std::vector<renderengine::LayerSettings>& layers, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> ftl::Future<FenceResult> { // If the highlight layer is enabled, it will increase the size by 1. // We're interested in the third layer either way. @@ -1039,7 +1039,7 @@ TEST_F(CachedSetTest, addBlur) { return ftl::yield<FenceResult>(Fence::NO_FENCE); }; - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).WillOnce(Invoke(drawLayers)); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).WillOnce(Invoke(drawLayers)); cachedSet.render(mRenderEngine, mTexturePool, mOutputState, true); } diff --git a/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp b/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp index 778a0a8c93..00590e66cb 100644 --- a/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp +++ b/services/surfaceflinger/CompositionEngine/tests/planner/FlattenerTest.cpp @@ -168,7 +168,7 @@ void FlattenerTest::initializeFlattener(const std::vector<const LayerState*>& la void FlattenerTest::expectAllLayersFlattened(const std::vector<const LayerState*>& layers) { // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -419,7 +419,7 @@ TEST_F(FlattenerTest, flattenLayers_BufferUpdateToFlatten) { // caleed for Layer2 and Layer3 layerState1->resetFramesSinceBufferUpdate(); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); EXPECT_EQ(getNonBufferHash(layers), @@ -442,7 +442,7 @@ TEST_F(FlattenerTest, flattenLayers_BufferUpdateToFlatten) { layerState1->incrementFramesSinceBufferUpdate(); mTime += 200ms; - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), @@ -494,7 +494,7 @@ TEST_F(FlattenerTest, flattenLayers_BufferUpdateForMiddleLayer) { // called for Layer1 and Layer2 layerState3->resetFramesSinceBufferUpdate(); - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); EXPECT_EQ(getNonBufferHash(layers), @@ -508,7 +508,7 @@ TEST_F(FlattenerTest, flattenLayers_BufferUpdateForMiddleLayer) { EXPECT_EQ(nullptr, overrideBuffer5); // Layers 1 and 2 will be flattened a new drawFrame would be called for Layer4 and Layer5 - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), @@ -537,7 +537,7 @@ TEST_F(FlattenerTest, flattenLayers_BufferUpdateForMiddleLayer) { layerState3->incrementFramesSinceBufferUpdate(); mTime += 200ms; - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), @@ -592,7 +592,7 @@ TEST_F(FlattenerTest, flattenLayers_pipRequiresRoundedCorners) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -603,7 +603,7 @@ TEST_F(FlattenerTest, flattenLayers_pipRequiresRoundedCorners) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -656,7 +656,7 @@ TEST_F(FlattenerTest, flattenLayers_pip) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -667,7 +667,7 @@ TEST_F(FlattenerTest, flattenLayers_pip) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -728,7 +728,7 @@ TEST_F(FlattenerTest, flattenLayers_holePunchSingleLayer) { // This will render a CachedSet of layer 0. Though it is just one layer, it satisfies the // exception that there would be a hole punch above it. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -736,7 +736,7 @@ TEST_F(FlattenerTest, flattenLayers_holePunchSingleLayer) { EXPECT_EQ(nullptr, overrideBuffer0); // This time we merge the CachedSet in and we should still have only two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_EQ(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -798,7 +798,7 @@ TEST_F(FlattenerTest, flattenLayers_holePunchSingleColorLayer) { // This will render a CachedSet of layer 0. Though it is just one layer, it satisfies the // exception that there would be a hole punch above it. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -806,7 +806,7 @@ TEST_F(FlattenerTest, flattenLayers_holePunchSingleColorLayer) { EXPECT_EQ(nullptr, overrideBuffer0); // This time we merge the CachedSet in and we should still have only two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_EQ(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -849,7 +849,7 @@ TEST_F(FlattenerTest, flattenLayers_flattensBlurBehindRunIfFirstRun) { layerState3->resetFramesSinceBufferUpdate(); // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -894,7 +894,7 @@ TEST_F(FlattenerTest, flattenLayers_doesNotFlattenBlurBehindRun) { layerState1->resetFramesSinceBufferUpdate(); // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillRepeatedly(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -947,7 +947,7 @@ TEST_F(FlattenerTest, flattenLayers_flattenSkipsLayerWithBlurBehind) { layerState1->resetFramesSinceBufferUpdate(); // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -995,7 +995,7 @@ TEST_F(FlattenerTest, flattenLayers_whenBlurLayerIsChanging_appliesBlurToInactiv layerStateWithBlurBehind->resetFramesSinceBufferUpdate(); // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -1037,7 +1037,7 @@ TEST_F(FlattenerTest, flattenLayers_renderCachedSets_doesNotRenderTwice) { // Mark the layers inactive mTime += 200ms; // layers would be flattened but the buffer would not be overridden - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); initializeOverrideBuffer(layers); @@ -1050,7 +1050,7 @@ TEST_F(FlattenerTest, flattenLayers_renderCachedSets_doesNotRenderTwice) { // Simulate attempting to render prior to merging the new cached set with the layer stack. // Here we should not try to re-render. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); // We provide the override buffer now that it's rendered @@ -1097,14 +1097,14 @@ TEST_F(FlattenerRenderSchedulingTest, flattenLayers_renderCachedSets_defersUpToM mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); for (size_t i = 0; i < kMaxDeferRenderAttempts; i++) { - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); mFlattener->renderCachedSets(mOutputState, std::chrono::steady_clock::now() - (kCachedSetRenderDuration + 10ms), true); } - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::chrono::steady_clock::now() - @@ -1139,7 +1139,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsLayersDisabledFromCaching) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1150,7 +1150,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsLayersDisabledFromCaching) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -1189,7 +1189,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsBT601_625) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1200,7 +1200,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsBT601_625) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -1239,7 +1239,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsHDR) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1250,7 +1250,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsHDR) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -1289,7 +1289,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsHDR2) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1300,7 +1300,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsHDR2) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -1342,7 +1342,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsColorLayers) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1354,7 +1354,7 @@ TEST_F(FlattenerTest, flattenLayers_skipsColorLayers) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); @@ -1394,7 +1394,7 @@ TEST_F(FlattenerTest, flattenLayers_includes_DISPLAY_DECORATION) { mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); // This will render a CachedSet. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)) + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)) .WillOnce(Return(ByMove(ftl::yield<FenceResult>(Fence::NO_FENCE)))); mFlattener->renderCachedSets(mOutputState, std::nullopt, true); @@ -1405,7 +1405,7 @@ TEST_F(FlattenerTest, flattenLayers_includes_DISPLAY_DECORATION) { // This time we merge the CachedSet in, so we have a new hash, and we should // only have two sets. - EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _, _)).Times(0); + EXPECT_CALL(mRenderEngine, drawLayers(_, _, _, _)).Times(0); initializeOverrideBuffer(layers); EXPECT_NE(getNonBufferHash(layers), mFlattener->flattenLayers(layers, getNonBufferHash(layers), mTime)); diff --git a/services/surfaceflinger/tests/unittests/CompositionTest.cpp b/services/surfaceflinger/tests/unittests/CompositionTest.cpp index bdbf243dd4..8e13c0d9df 100644 --- a/services/surfaceflinger/tests/unittests/CompositionTest.cpp +++ b/services/surfaceflinger/tests/unittests/CompositionTest.cpp @@ -328,7 +328,7 @@ struct BaseDisplayVariant { .WillRepeatedly([&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>&, const std::shared_ptr<renderengine::ExternalTexture>&, - const bool, base::unique_fd&&) -> std::future<FenceResult> { + base::unique_fd&&) -> std::future<FenceResult> { EXPECT_EQ(DEFAULT_DISPLAY_MAX_LUMINANCE, displaySettings.maxLuminance); EXPECT_EQ(Rect(DEFAULT_DISPLAY_WIDTH, DEFAULT_DISPLAY_HEIGHT), displaySettings.physicalDisplay); @@ -379,7 +379,7 @@ struct BaseDisplayVariant { .WillRepeatedly([&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>&, const std::shared_ptr<renderengine::ExternalTexture>&, - const bool, base::unique_fd&&) -> std::future<FenceResult> { + base::unique_fd&&) -> std::future<FenceResult> { EXPECT_EQ(DEFAULT_DISPLAY_MAX_LUMINANCE, displaySettings.maxLuminance); EXPECT_EQ(Rect(DEFAULT_DISPLAY_WIDTH, DEFAULT_DISPLAY_HEIGHT), displaySettings.physicalDisplay); @@ -578,7 +578,7 @@ struct BaseLayerProperties { EXPECT_CALL(*test->mRenderEngine, drawLayers) .WillOnce([&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layerSettings, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> std::future<FenceResult> { EXPECT_EQ(DEFAULT_DISPLAY_MAX_LUMINANCE, displaySettings.maxLuminance); EXPECT_EQ(Rect(DEFAULT_DISPLAY_WIDTH, DEFAULT_DISPLAY_HEIGHT), @@ -627,7 +627,7 @@ struct BaseLayerProperties { EXPECT_CALL(*test->mRenderEngine, drawLayers) .WillOnce([&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layerSettings, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> std::future<FenceResult> { EXPECT_EQ(DEFAULT_DISPLAY_MAX_LUMINANCE, displaySettings.maxLuminance); EXPECT_EQ(Rect(DEFAULT_DISPLAY_WIDTH, DEFAULT_DISPLAY_HEIGHT), @@ -709,7 +709,7 @@ struct CommonSecureLayerProperties : public BaseLayerProperties<LayerProperties> EXPECT_CALL(*test->mRenderEngine, drawLayers) .WillOnce([&](const renderengine::DisplaySettings& displaySettings, const std::vector<renderengine::LayerSettings>& layerSettings, - const std::shared_ptr<renderengine::ExternalTexture>&, const bool, + const std::shared_ptr<renderengine::ExternalTexture>&, base::unique_fd&&) -> std::future<FenceResult> { EXPECT_EQ(DEFAULT_DISPLAY_MAX_LUMINANCE, displaySettings.maxLuminance); EXPECT_EQ(Rect(DEFAULT_DISPLAY_WIDTH, DEFAULT_DISPLAY_HEIGHT), |