Remove useFramebufferCache parameter in drawLayers()
GLESRenderEngine used it, but GLESRenderEngine is no more.
Bug: 199918329
Test: builds
Change-Id: Id4fcc15d802523faa548ccea0bbd94cffea1b272
diff --git a/libs/renderengine/RenderEngine.cpp b/libs/renderengine/RenderEngine.cpp
index a8e92c6..3e1ac33 100644
--- a/libs/renderengine/RenderEngine.cpp
+++ b/libs/renderengine/RenderEngine.cpp
@@ -68,13 +68,11 @@
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 ce2c7d7..a7f1df9 100644
--- a/libs/renderengine/benchmark/RenderEngineBench.cpp
+++ b/libs/renderengine/benchmark/RenderEngineBench.cpp
@@ -104,10 +104,6 @@
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 @@
};
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 @@
// 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 80aa4c6..b992d82 100644
--- a/libs/renderengine/include/renderengine/RenderEngine.h
+++ b/libs/renderengine/include/renderengine/RenderEngine.h
@@ -145,9 +145,6 @@
// @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 @@
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 @@
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 7881190..160006d 100644
--- a/libs/renderengine/include/renderengine/mock/RenderEngine.h
+++ b/libs/renderengine/include/renderengine/mock/RenderEngine.h
@@ -42,14 +42,14 @@
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 f6b9183..e1887a8 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
};
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 @@
};
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 @@
};
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 2225d5f..ababa82 100644
--- a/libs/renderengine/skia/SkiaRenderEngine.cpp
+++ b/libs/renderengine/skia/SkiaRenderEngine.cpp
@@ -650,8 +650,7 @@
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 d4fc959..3db0c1b 100644
--- a/libs/renderengine/skia/SkiaRenderEngine.h
+++ b/libs/renderengine/skia/SkiaRenderEngine.h
@@ -136,7 +136,6 @@
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 5eec305..7dde716 100644
--- a/libs/renderengine/tests/RenderEngineTest.cpp
+++ b/libs/renderengine/tests/RenderEngineTest.cpp
@@ -490,7 +490,7 @@
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 @@
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 @@
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 281a502..475dc15 100644
--- a/libs/renderengine/tests/RenderEngineThreadedTest.cpp
+++ b/libs/renderengine/tests/RenderEngineThreadedTest.cpp
@@ -143,11 +143,11 @@
.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 @@
.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 @@
.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 3bc9e6d..2cb66cb 100644
--- a/libs/renderengine/threaded/RenderEngineThreaded.cpp
+++ b/libs/renderengine/threaded/RenderEngineThreaded.cpp
@@ -243,29 +243,27 @@
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 a7ecab2..43ec011 100644
--- a/libs/renderengine/threaded/RenderEngineThreaded.h
+++ b/libs/renderengine/threaded/RenderEngineThreaded.h
@@ -55,7 +55,6 @@
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 @@
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);