summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/surfaceflinger/BufferLayer.cpp7
-rw-r--r--services/surfaceflinger/BufferQueueLayer.cpp15
-rw-r--r--services/surfaceflinger/BufferQueueLayer.h1
-rw-r--r--services/surfaceflinger/BufferStateLayer.cpp13
-rw-r--r--services/surfaceflinger/BufferStateLayer.h1
5 files changed, 7 insertions, 30 deletions
diff --git a/services/surfaceflinger/BufferLayer.cpp b/services/surfaceflinger/BufferLayer.cpp
index 5f90566df2..54cd04fabb 100644
--- a/services/surfaceflinger/BufferLayer.cpp
+++ b/services/surfaceflinger/BufferLayer.cpp
@@ -294,6 +294,7 @@ void BufferLayer::preparePerFrameCompositionState() {
auto* compositionState = editCompositionState();
if (compositionState->sidebandStream.get()) {
compositionState->compositionType = Hwc2::IComposerClient::Composition::SIDEBAND;
+ return;
} else {
// Normal buffer layers
compositionState->hdrMetadata = mBufferInfo.mHdrMetadata;
@@ -301,6 +302,12 @@ void BufferLayer::preparePerFrameCompositionState() {
? Hwc2::IComposerClient::Composition::CURSOR
: Hwc2::IComposerClient::Composition::DEVICE;
}
+
+ compositionState->buffer = mBufferInfo.mBuffer;
+ compositionState->bufferSlot = (mBufferInfo.mBufferSlot == BufferQueue::INVALID_BUFFER_SLOT)
+ ? 0
+ : mBufferInfo.mBufferSlot;
+ compositionState->acquireFence = mBufferInfo.mFence;
}
bool BufferLayer::onPreComposition(nsecs_t refreshStartTime) {
diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp
index c84b15d70d..f4e630e4d8 100644
--- a/services/surfaceflinger/BufferQueueLayer.cpp
+++ b/services/surfaceflinger/BufferQueueLayer.cpp
@@ -365,21 +365,6 @@ status_t BufferQueueLayer::updateFrameNumber(nsecs_t latchTime) {
return NO_ERROR;
}
-void BufferQueueLayer::preparePerFrameCompositionState() {
- BufferLayer::preparePerFrameCompositionState();
-
- auto* compositionState = editCompositionState();
- if (compositionState->compositionType == Hwc2::IComposerClient::Composition::SIDEBAND) {
- return;
- }
-
- compositionState->buffer = mBufferInfo.mBuffer;
- compositionState->bufferSlot = (mBufferInfo.mBufferSlot == BufferQueue::INVALID_BUFFER_SLOT)
- ? 0
- : mBufferInfo.mBufferSlot;
- compositionState->acquireFence = mBufferInfo.mFence;
-}
-
// -----------------------------------------------------------------------
// Interface implementation for BufferLayerConsumer::ContentsChangedListener
// -----------------------------------------------------------------------
diff --git a/services/surfaceflinger/BufferQueueLayer.h b/services/surfaceflinger/BufferQueueLayer.h
index ea7f203337..16b4b6e25c 100644
--- a/services/surfaceflinger/BufferQueueLayer.h
+++ b/services/surfaceflinger/BufferQueueLayer.h
@@ -82,7 +82,6 @@ private:
status_t updateActiveBuffer() override;
status_t updateFrameNumber(nsecs_t latchTime) override;
- void preparePerFrameCompositionState() override;
sp<Layer> createClone() override;
void onFrameAvailable(const BufferItem& item);
diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp
index 3e651713e4..a121ce0672 100644
--- a/services/surfaceflinger/BufferStateLayer.cpp
+++ b/services/surfaceflinger/BufferStateLayer.cpp
@@ -631,19 +631,6 @@ status_t BufferStateLayer::updateFrameNumber(nsecs_t latchTime) {
return NO_ERROR;
}
-void BufferStateLayer::preparePerFrameCompositionState() {
- BufferLayer::preparePerFrameCompositionState();
-
- auto* compositionState = editCompositionState();
- if (compositionState->compositionType == Hwc2::IComposerClient::Composition::SIDEBAND) {
- return;
- }
-
- compositionState->buffer = mBufferInfo.mBuffer;
- compositionState->bufferSlot = mBufferInfo.mBufferSlot;
- compositionState->acquireFence = mBufferInfo.mFence;
-}
-
void BufferStateLayer::HwcSlotGenerator::bufferErased(const client_cache_t& clientCacheId) {
std::lock_guard lock(mMutex);
if (!clientCacheId.isValid()) {
diff --git a/services/surfaceflinger/BufferStateLayer.h b/services/surfaceflinger/BufferStateLayer.h
index 753a74250b..5873a7314f 100644
--- a/services/surfaceflinger/BufferStateLayer.h
+++ b/services/surfaceflinger/BufferStateLayer.h
@@ -138,7 +138,6 @@ private:
status_t updateActiveBuffer() override;
status_t updateFrameNumber(nsecs_t latchTime) override;
- void preparePerFrameCompositionState() override;
sp<Layer> createClone() override;
// Crop that applies to the buffer