diff options
-rw-r--r-- | services/surfaceflinger/BufferLayer.cpp | 7 | ||||
-rw-r--r-- | services/surfaceflinger/BufferQueueLayer.cpp | 15 | ||||
-rw-r--r-- | services/surfaceflinger/BufferQueueLayer.h | 1 | ||||
-rw-r--r-- | services/surfaceflinger/BufferStateLayer.cpp | 13 | ||||
-rw-r--r-- | services/surfaceflinger/BufferStateLayer.h | 1 |
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 |