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

Commit c9b87569 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: 3bedba65

Change-Id: I5d447e4a8cdd4eac729dd29d2daf2acce3cf52fc
parents 40a733b2 3bedba65
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