[legacy sf flag] - LayerRenderArea cleanup
LayerRenderArea no longer needs reparentForDrawing()
or flinger field after removing the legacy frontend.
Bug: b/330785038
Test: presubmit
Change-Id: I55828d7f342be55e1c4b7430d2a7cb4a251cad0c
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index e655a09..c237a7d 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -8080,29 +8080,24 @@
return;
}
- bool childrenOnly = args.childrenOnly;
RenderAreaFuture renderAreaFuture = ftl::defer([=, this]() FTL_FAKE_GUARD(kMainThreadContext)
-> std::unique_ptr<RenderArea> {
ui::Transform layerTransform;
Rect layerBufferSize;
- if (mLayerLifecycleManagerEnabled) {
- frontend::LayerSnapshot* snapshot =
- mLayerSnapshotBuilder.getSnapshot(parent->getSequence());
- if (!snapshot) {
- ALOGW("Couldn't find layer snapshot for %d", parent->getSequence());
- } else {
- layerTransform = snapshot->localTransform;
- layerBufferSize = snapshot->bufferSize;
- }
+ frontend::LayerSnapshot* snapshot =
+ mLayerSnapshotBuilder.getSnapshot(parent->getSequence());
+ if (!snapshot) {
+ ALOGW("Couldn't find layer snapshot for %d", parent->getSequence());
} else {
- layerTransform = parent->getTransform();
- layerBufferSize = parent->getBufferSize(parent->getDrawingState());
+ if (!args.childrenOnly) {
+ layerTransform = snapshot->localTransform.inverse();
+ }
+ layerBufferSize = snapshot->bufferSize;
}
- return std::make_unique<LayerRenderArea>(*this, parent, crop, reqSize, dataspace,
- childrenOnly, args.captureSecureLayers,
- layerTransform, layerBufferSize,
- args.hintForSeamlessTransition);
+ return std::make_unique<LayerRenderArea>(parent, crop, reqSize, dataspace,
+ args.captureSecureLayers, layerTransform,
+ layerBufferSize, args.hintForSeamlessTransition);
});
GetLayerSnapshotsFunction getLayerSnapshots;
if (mLayerLifecycleManagerEnabled) {
@@ -8255,11 +8250,9 @@
return ftl::yield<FenceResult>(base::unexpected(NO_ERROR)).share();
}
- ftl::SharedFuture<FenceResult> renderFuture;
- renderArea->render([&]() FTL_FAKE_GUARD(kMainThreadContext) {
- renderFuture = renderScreenImpl(renderArea, buffer, regionSampling, grayscale,
- isProtected, captureResults, layers);
- });
+ ftl::SharedFuture<FenceResult> renderFuture =
+ renderScreenImpl(renderArea, buffer, regionSampling, grayscale, isProtected,
+ captureResults, layers);
if (captureListener) {
// Defer blocking on renderFuture back to the Binder thread.