Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2c69e5c authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Automerger Merge Worker
Browse files

Merge "Use pixel format from buffer to determine opacity." into rvc-dev am:...

Merge "Use pixel format from buffer to determine opacity." into rvc-dev am: 3bedba65 am: 7d6541d3 am: 84c2b592

Change-Id: Idfc43908669794f74f4a93c219f06e1c10e412f6
parents 23c568d1 84c2b592
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ bool BufferLayer::isHdrY410() const {
    // pixel format is HDR Y410 masquerading as RGBA_1010102
    return (mBufferInfo.mDataspace == ui::Dataspace::BT2020_ITU_PQ &&
            mBufferInfo.mApi == NATIVE_WINDOW_API_MEDIA &&
            mBufferInfo.mBuffer->getPixelFormat() == HAL_PIXEL_FORMAT_RGBA_1010102);
            mBufferInfo.mPixelFormat == HAL_PIXEL_FORMAT_RGBA_1010102);
}

sp<compositionengine::LayerFE> BufferLayer::getCompositionEngineLayerFE() const {
@@ -374,6 +374,12 @@ bool BufferLayer::onPostComposition(sp<const DisplayDevice> displayDevice,
    return true;
}

void BufferLayer::gatherBufferInfo() {
    mBufferInfo.mPixelFormat =
            !mBufferInfo.mBuffer ? PIXEL_FORMAT_NONE : mBufferInfo.mBuffer->format;
    mBufferInfo.mFrameLatencyNeeded = true;
}

bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime,
                              nsecs_t expectedPresentTime) {
    ATRACE_CALL();
@@ -434,7 +440,6 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime,
    gatherBufferInfo();

    mRefreshPending = true;
    mBufferInfo.mFrameLatencyNeeded = true;
    if (oldBufferInfo.mBuffer == nullptr) {
        // the first time we receive a buffer, we need to trigger a
        // geometry invalidation.
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ protected:
        Region mSurfaceDamage;
        HdrMetadata mHdrMetadata;
        int mApi;
        PixelFormat mPixelFormat;
        PixelFormat mPixelFormat{PIXEL_FORMAT_NONE};
        bool mTransformToDisplayInverse{false};

        sp<GraphicBuffer> mBuffer;
+2 −3
Original line number Diff line number Diff line
@@ -525,8 +525,6 @@ status_t BufferQueueLayer::setDefaultBufferProperties(uint32_t w, uint32_t h, Pi
        return BAD_VALUE;
    }

    mFormat = format;

    setDefaultBufferSize(w, h);
    mConsumer->setDefaultBufferFormat(format);
    mConsumer->setConsumerUsageBits(getEffectiveUsage(0));
@@ -550,6 +548,8 @@ uint32_t BufferQueueLayer::getProducerStickyTransform() const {
}

void BufferQueueLayer::gatherBufferInfo() {
    BufferLayer::gatherBufferInfo();

    mBufferInfo.mDesiredPresentTime = mConsumer->getTimestamp();
    mBufferInfo.mFenceTime = mConsumer->getCurrentFenceTime();
    mBufferInfo.mFence = mConsumer->getCurrentFence();
@@ -560,7 +560,6 @@ void BufferQueueLayer::gatherBufferInfo() {
    mBufferInfo.mSurfaceDamage = mConsumer->getSurfaceDamage();
    mBufferInfo.mHdrMetadata = mConsumer->getCurrentHdrMetadata();
    mBufferInfo.mApi = mConsumer->getCurrentApi();
    mBufferInfo.mPixelFormat = mFormat;
    mBufferInfo.mTransformToDisplayInverse = mConsumer->getTransformToDisplayInverse();
}

+0 −2
Original line number Diff line number Diff line
@@ -132,8 +132,6 @@ private:
    sp<BufferLayerConsumer> mConsumer;
    sp<IGraphicBufferProducer> mProducer;

    PixelFormat mFormat{PIXEL_FORMAT_NONE};

    bool mUpdateTexImageFailed{false};

    uint64_t mPreviousBufferId = 0;
+2 −3
Original line number Diff line number Diff line
@@ -718,8 +718,9 @@ void BufferStateLayer::HwcSlotGenerator::eraseBufferLocked(const client_cache_t&
}

void BufferStateLayer::gatherBufferInfo() {
    const State& s(getDrawingState());
    BufferLayer::gatherBufferInfo();

    const State& s(getDrawingState());
    mBufferInfo.mDesiredPresentTime = s.desiredPresentTime;
    mBufferInfo.mFenceTime = std::make_shared<FenceTime>(s.acquireFence);
    mBufferInfo.mFence = s.acquireFence;
@@ -730,8 +731,6 @@ void BufferStateLayer::gatherBufferInfo() {
    mBufferInfo.mSurfaceDamage = s.surfaceDamageRegion;
    mBufferInfo.mHdrMetadata = s.hdrMetadata;
    mBufferInfo.mApi = s.api;
    mBufferInfo.mPixelFormat =
            !mBufferInfo.mBuffer ? PIXEL_FORMAT_NONE : mBufferInfo.mBuffer->format;
    mBufferInfo.mTransformToDisplayInverse = s.transformToDisplayInverse;
    mBufferInfo.mBufferSlot = mHwcSlotGenerator->getHwcCacheSlot(s.clientCacheId);
}
Loading