diff options
17 files changed, 112 insertions, 153 deletions
diff --git a/libs/renderengine/RenderEngine.cpp b/libs/renderengine/RenderEngine.cpp index a8e92c6807..3e1ac33d57 100644 --- a/libs/renderengine/RenderEngine.cpp +++ b/libs/renderengine/RenderEngine.cpp @@ -68,13 +68,11 @@ void RenderEngine::validateOutputBufferUsage(const sp<GraphicBuffer>& buffer) { ftl::Future<FenceResult> RenderEngine::drawLayers(const DisplaySettings& display, const std::vector<LayerSettings>& layers, const std::shared_ptr<ExternalTexture>& buffer, - const bool useFramebufferCache, base::unique_fd&& bufferFence) { const auto resultPromise = std::make_shared<std::promise<FenceResult>>(); std::future<FenceResult> resultFuture = resultPromise->get_future(); updateProtectedContext(layers, buffer); - drawLayersInternal(std::move(resultPromise), display, layers, buffer, useFramebufferCache, - std::move(bufferFence)); + drawLayersInternal(std::move(resultPromise), display, layers, buffer, std::move(bufferFence)); return resultFuture; } diff --git a/libs/renderengine/benchmark/RenderEngineBench.cpp b/libs/renderengine/benchmark/RenderEngineBench.cpp index ce2c7d7b6b..a7f1df9a9b 100644 --- a/libs/renderengine/benchmark/RenderEngineBench.cpp +++ b/libs/renderengine/benchmark/RenderEngineBench.cpp @@ -104,10 +104,6 @@ std::pair<uint32_t, uint32_t> getDisplaySize() { return std::pair<uint32_t, uint32_t>(width, height); } -// This value doesn't matter, as it's not read. TODO(b/199918329): Once we remove -// GLESRenderEngine we can remove this, too. -static constexpr const bool kUseFrameBufferCache = false; - static std::unique_ptr<RenderEngine> createRenderEngine(RenderEngine::RenderEngineType type) { auto args = RenderEngineCreationArgs::Builder() .setPixelFormat(static_cast<int>(ui::PixelFormat::RGBA_8888)) @@ -168,10 +164,7 @@ static std::shared_ptr<ExternalTexture> copyBuffer(RenderEngine& re, }; auto layers = std::vector<LayerSettings>{layer}; - sp<Fence> waitFence = - re.drawLayers(display, layers, texture, kUseFrameBufferCache, base::unique_fd()) - .get() - .value(); + sp<Fence> waitFence = re.drawLayers(display, layers, texture, base::unique_fd()).get().value(); waitFence->waitForever(LOG_TAG); return texture; } @@ -200,10 +193,8 @@ static void benchDrawLayers(RenderEngine& re, const std::vector<LayerSettings>& // This loop starts and stops the timer. for (auto _ : benchState) { - sp<Fence> waitFence = re.drawLayers(display, layers, outputBuffer, kUseFrameBufferCache, - base::unique_fd()) - .get() - .value(); + sp<Fence> waitFence = + re.drawLayers(display, layers, outputBuffer, base::unique_fd()).get().value(); waitFence->waitForever(LOG_TAG); } diff --git a/libs/renderengine/include/renderengine/RenderEngine.h b/libs/renderengine/include/renderengine/RenderEngine.h index 80aa4c61e6..b992d82fdb 100644 --- a/libs/renderengine/include/renderengine/RenderEngine.h +++ b/libs/renderengine/include/renderengine/RenderEngine.h @@ -145,9 +145,6 @@ public: // @param layers The layers to draw onto the display, in Z-order. // @param buffer The buffer which will be drawn to. This buffer will be // ready once drawFence fires. - // @param useFramebufferCache True if the framebuffer cache should be used. - // If an implementation does not cache output framebuffers, then this - // parameter does nothing. // @param bufferFence Fence signalling that the buffer is ready to be drawn // to. // @return A future object of FenceResult indicating whether drawing was @@ -155,7 +152,6 @@ public: virtual ftl::Future<FenceResult> drawLayers(const DisplaySettings& display, const std::vector<LayerSettings>& layers, const std::shared_ptr<ExternalTexture>& buffer, - const bool useFramebufferCache, base::unique_fd&& bufferFence); // Clean-up method that should be called on the main thread after the @@ -244,8 +240,7 @@ protected: virtual void drawLayersInternal( const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, const DisplaySettings& display, const std::vector<LayerSettings>& layers, - const std::shared_ptr<ExternalTexture>& buffer, const bool useFramebufferCache, - base::unique_fd&& bufferFence) = 0; + const std::shared_ptr<ExternalTexture>& buffer, base::unique_fd&& bufferFence) = 0; }; struct RenderEngineCreationArgs { diff --git a/libs/renderengine/include/renderengine/mock/RenderEngine.h b/libs/renderengine/include/renderengine/mock/RenderEngine.h index 78811908d6..160006d5e6 100644 --- a/libs/renderengine/include/renderengine/mock/RenderEngine.h +++ b/libs/renderengine/include/renderengine/mock/RenderEngine.h @@ -42,14 +42,14 @@ public: MOCK_METHOD1(useProtectedContext, void(bool)); MOCK_METHOD0(cleanupPostRender, void()); MOCK_CONST_METHOD0(canSkipPostRenderCleanup, bool()); - MOCK_METHOD5(drawLayers, + MOCK_METHOD4(drawLayers, ftl::Future<FenceResult>(const DisplaySettings&, const std::vector<LayerSettings>&, - const std::shared_ptr<ExternalTexture>&, const bool, + const std::shared_ptr<ExternalTexture>&, base::unique_fd&&)); - MOCK_METHOD6(drawLayersInternal, + MOCK_METHOD5(drawLayersInternal, void(const std::shared_ptr<std::promise<FenceResult>>&&, const DisplaySettings&, const std::vector<LayerSettings>&, const std::shared_ptr<ExternalTexture>&, - const bool, base::unique_fd&&)); + base::unique_fd&&)); MOCK_METHOD0(getContextPriority, int()); MOCK_METHOD0(supportsBackgroundBlur, bool()); MOCK_METHOD1(onActiveDisplaySizeChanged, void(ui::Size)); diff --git a/libs/renderengine/skia/Cache.cpp b/libs/renderengine/skia/Cache.cpp index f6b91839a3..e1887a882a 100644 --- a/libs/renderengine/skia/Cache.cpp +++ b/libs/renderengine/skia/Cache.cpp @@ -29,8 +29,6 @@ namespace android::renderengine::skia { namespace { -// Warming shader cache, not framebuffer cache. -constexpr bool kUseFrameBufferCache = false; // clang-format off // Any non-identity matrix will do. @@ -116,8 +114,7 @@ static void drawShadowLayers(SkiaRenderEngine* renderengine, const DisplaySettin caster.geometry.positionTransform = transform; auto layers = std::vector<LayerSettings>{layer, caster}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, - base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } } @@ -154,8 +151,7 @@ static void drawImageLayers(SkiaRenderEngine* renderengine, const DisplaySetting for (auto alpha : {half(.2f), half(1.0f)}) { layer.alpha = alpha; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, - base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } } } @@ -183,8 +179,7 @@ static void drawSolidLayers(SkiaRenderEngine* renderengine, const DisplaySetting for (float roundedCornersRadius : {0.0f, 50.f}) { layer.geometry.roundedCornersRadius = {roundedCornersRadius, roundedCornersRadius}; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, - base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } } } @@ -207,8 +202,7 @@ static void drawBlurLayers(SkiaRenderEngine* renderengine, const DisplaySettings for (int radius : {9, 60}) { layer.backgroundBlurRadius = radius; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, - base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } } @@ -254,8 +248,7 @@ static void drawClippedLayers(SkiaRenderEngine* renderengine, const DisplaySetti for (float alpha : {0.5f, 1.f}) { layer.alpha = alpha; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, - base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } } } @@ -292,7 +285,7 @@ static void drawPIPImageLayer(SkiaRenderEngine* renderengine, const DisplaySetti }; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } static void drawHolePunchLayer(SkiaRenderEngine* renderengine, const DisplaySettings& display, @@ -321,7 +314,7 @@ static void drawHolePunchLayer(SkiaRenderEngine* renderengine, const DisplaySett }; auto layers = std::vector<LayerSettings>{layer}; - renderengine->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, base::unique_fd()); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()); } // @@ -436,9 +429,7 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine) { }; auto layers = std::vector<LayerSettings>{layer}; // call get() to make it synchronous - renderengine - ->drawLayers(display, layers, dstTexture, kUseFrameBufferCache, base::unique_fd()) - .get(); + renderengine->drawLayers(display, layers, dstTexture, base::unique_fd()).get(); const nsecs_t timeAfter = systemTime(); const float compileTimeMs = static_cast<float>(timeAfter - timeBefore) / 1.0E6; diff --git a/libs/renderengine/skia/SkiaRenderEngine.cpp b/libs/renderengine/skia/SkiaRenderEngine.cpp index 2225d5f818..ababa8289a 100644 --- a/libs/renderengine/skia/SkiaRenderEngine.cpp +++ b/libs/renderengine/skia/SkiaRenderEngine.cpp @@ -650,8 +650,7 @@ private: void SkiaRenderEngine::drawLayersInternal( const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, const DisplaySettings& display, const std::vector<LayerSettings>& layers, - const std::shared_ptr<ExternalTexture>& buffer, const bool /*useFramebufferCache*/, - base::unique_fd&& bufferFence) { + const std::shared_ptr<ExternalTexture>& buffer, base::unique_fd&& bufferFence) { ATRACE_FORMAT("%s for %s", __func__, display.namePlusId.c_str()); std::lock_guard<std::mutex> lock(mRenderingMutex); diff --git a/libs/renderengine/skia/SkiaRenderEngine.h b/libs/renderengine/skia/SkiaRenderEngine.h index d4fc959ba5..3db0c1b58b 100644 --- a/libs/renderengine/skia/SkiaRenderEngine.h +++ b/libs/renderengine/skia/SkiaRenderEngine.h @@ -136,7 +136,6 @@ private: const DisplaySettings& display, const std::vector<LayerSettings>& layers, const std::shared_ptr<ExternalTexture>& buffer, - const bool useFramebufferCache, base::unique_fd&& bufferFence) override final; void dump(std::string& result) override final; diff --git a/libs/renderengine/tests/RenderEngineTest.cpp b/libs/renderengine/tests/RenderEngineTest.cpp index 5eec305096..7dde71632b 100644 --- a/libs/renderengine/tests/RenderEngineTest.cpp +++ b/libs/renderengine/tests/RenderEngineTest.cpp @@ -490,7 +490,7 @@ public: void invokeDraw(const renderengine::DisplaySettings& settings, const std::vector<renderengine::LayerSettings>& layers) { ftl::Future<FenceResult> future = - mRE->drawLayers(settings, layers, mBuffer, true, base::unique_fd()); + mRE->drawLayers(settings, layers, mBuffer, base::unique_fd()); ASSERT_TRUE(future.valid()); auto result = future.get(); @@ -1610,8 +1610,7 @@ TEST_P(RenderEngineTest, drawLayers_nullOutputBuffer) { layer.geometry.boundaries = fullscreenRect().toFloatRect(); BufferSourceVariant<ForceOpaqueBufferVariant>::fillColor(layer, 1.0f, 0.0f, 0.0f, this); layers.push_back(layer); - ftl::Future<FenceResult> future = - mRE->drawLayers(settings, layers, nullptr, true, base::unique_fd()); + ftl::Future<FenceResult> future = mRE->drawLayers(settings, layers, nullptr, base::unique_fd()); ASSERT_TRUE(future.valid()); auto result = future.get(); @@ -2263,14 +2262,14 @@ TEST_P(RenderEngineTest, cleanupPostRender_cleansUpOnce) { layers.push_back(layer); ftl::Future<FenceResult> futureOne = - mRE->drawLayers(settings, layers, mBuffer, true, base::unique_fd()); + mRE->drawLayers(settings, layers, mBuffer, base::unique_fd()); ASSERT_TRUE(futureOne.valid()); auto resultOne = futureOne.get(); ASSERT_TRUE(resultOne.ok()); auto fenceOne = resultOne.value(); ftl::Future<FenceResult> futureTwo = - mRE->drawLayers(settings, layers, mBuffer, true, base::unique_fd(fenceOne->dup())); + mRE->drawLayers(settings, layers, mBuffer, base::unique_fd(fenceOne->dup())); ASSERT_TRUE(futureTwo.valid()); auto resultTwo = futureTwo.get(); ASSERT_TRUE(resultTwo.ok()); diff --git a/libs/renderengine/tests/RenderEngineThreadedTest.cpp b/libs/renderengine/tests/RenderEngineThreadedTest.cpp index 281a502b06..475dc15788 100644 --- a/libs/renderengine/tests/RenderEngineThreadedTest.cpp +++ b/libs/renderengine/tests/RenderEngineThreadedTest.cpp @@ -143,11 +143,11 @@ TEST_F(RenderEngineThreadedTest, drawLayers) { .WillOnce([&](const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, 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&&) { resultPromise->set_value(Fence::NO_FENCE); }); ftl::Future<FenceResult> future = - mThreadedRE->drawLayers(settings, layers, buffer, false, std::move(bufferFence)); + mThreadedRE->drawLayers(settings, layers, buffer, std::move(bufferFence)); ASSERT_TRUE(future.valid()); auto result = future.get(); ASSERT_TRUE(result.ok()); @@ -176,11 +176,11 @@ TEST_F(RenderEngineThreadedTest, drawLayers_protectedLayer) { .WillOnce([&](const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, 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&&) { resultPromise->set_value(Fence::NO_FENCE); }); ftl::Future<FenceResult> future = - mThreadedRE->drawLayers(settings, layers, buffer, false, std::move(bufferFence)); + mThreadedRE->drawLayers(settings, layers, buffer, std::move(bufferFence)); ASSERT_TRUE(future.valid()); auto result = future.get(); ASSERT_TRUE(result.ok()); @@ -204,11 +204,11 @@ TEST_F(RenderEngineThreadedTest, drawLayers_protectedOutputBuffer) { .WillOnce([&](const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, 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&&) { resultPromise->set_value(Fence::NO_FENCE); }); ftl::Future<FenceResult> future = - mThreadedRE->drawLayers(settings, layers, buffer, false, std::move(bufferFence)); + mThreadedRE->drawLayers(settings, layers, buffer, std::move(bufferFence)); ASSERT_TRUE(future.valid()); auto result = future.get(); ASSERT_TRUE(result.ok()); diff --git a/libs/renderengine/threaded/RenderEngineThreaded.cpp b/libs/renderengine/threaded/RenderEngineThreaded.cpp index 3bc9e6d7e0..2cb66cbebc 100644 --- a/libs/renderengine/threaded/RenderEngineThreaded.cpp +++ b/libs/renderengine/threaded/RenderEngineThreaded.cpp @@ -243,29 +243,27 @@ bool RenderEngineThreaded::canSkipPostRenderCleanup() const { void RenderEngineThreaded::drawLayersInternal( const std::shared_ptr<std::promise<FenceResult>>&& resultPromise, const DisplaySettings& display, const std::vector<LayerSettings>& layers, - const std::shared_ptr<ExternalTexture>& buffer, const bool useFramebufferCache, - base::unique_fd&& bufferFence) { + const std::shared_ptr<ExternalTexture>& buffer, base::unique_fd&& bufferFence) { resultPromise->set_value(Fence::NO_FENCE); return; } ftl::Future<FenceResult> RenderEngineThreaded::drawLayers( const DisplaySettings& display, const std::vector<LayerSettings>& layers, - const std::shared_ptr<ExternalTexture>& buffer, const bool useFramebufferCache, - base::unique_fd&& bufferFence) { + const std::shared_ptr<ExternalTexture>& buffer, base::unique_fd&& bufferFence) { ATRACE_CALL(); const auto resultPromise = std::make_shared<std::promise<FenceResult>>(); std::future<FenceResult> resultFuture = resultPromise->get_future(); int fd = bufferFence.release(); { std::lock_guard lock(mThreadMutex); - mFunctionCalls.push([resultPromise, display, layers, buffer, useFramebufferCache, - fd](renderengine::RenderEngine& instance) { - ATRACE_NAME("REThreaded::drawLayers"); - instance.updateProtectedContext(layers, buffer); - instance.drawLayersInternal(std::move(resultPromise), display, layers, buffer, - useFramebufferCache, base::unique_fd(fd)); - }); + mFunctionCalls.push( + [resultPromise, display, layers, buffer, fd](renderengine::RenderEngine& instance) { + ATRACE_NAME("REThreaded::drawLayers"); + instance.updateProtectedContext(layers, buffer); + instance.drawLayersInternal(std::move(resultPromise), display, layers, buffer, + base::unique_fd(fd)); + }); } mCondition.notify_one(); return resultFuture; diff --git a/libs/renderengine/threaded/RenderEngineThreaded.h b/libs/renderengine/threaded/RenderEngineThreaded.h index a7ecab2931..43ec011b73 100644 --- a/libs/renderengine/threaded/RenderEngineThreaded.h +++ b/libs/renderengine/threaded/RenderEngineThreaded.h @@ -55,7 +55,6 @@ public: ftl::Future<FenceResult> drawLayers(const DisplaySettings& display, const std::vector<LayerSettings>& layers, const std::shared_ptr<ExternalTexture>& buffer, - const bool useFramebufferCache, base::unique_fd&& bufferFence) override; int getContextPriority() override; @@ -72,7 +71,7 @@ protected: const DisplaySettings& display, const std::vector<LayerSettings>& layers, const std::shared_ptr<ExternalTexture>& buffer, - const bool useFramebufferCache, base::unique_fd&& bufferFence) override; + base::unique_fd&& bufferFence) override; private: void threadMain(CreateInstanceFactory factory); 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), |