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

Commit e8e1468e authored by Carlos Martinez Romero's avatar Carlos Martinez Romero Committed by Android (Google) Code Review
Browse files

Merge "Clean up multiple warren_buffer flags." into main

parents 5c86437a d6ab5ea5
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -188,19 +188,11 @@ void BLASTBufferItemConsumer::resizeFrameEventHistory(size_t newSize) {
void BLASTBufferQueue::initialize() {
    std::lock_guard _lock{mMutex};
    createBufferQueue(&mProducer, &mConsumer);
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    mBufferItemConsumer =
            sp<BLASTBufferItemConsumer>::make(mProducer, mConsumer,
                                              GraphicBuffer::USAGE_HW_COMPOSER |
                                                      GraphicBuffer::USAGE_HW_TEXTURE,
                                              1, false, wp<BLASTBufferQueue>::fromExisting(this));
#else
    mBufferItemConsumer =
            sp<BLASTBufferItemConsumer>::make(mConsumer,
                                              GraphicBuffer::USAGE_HW_COMPOSER |
                                                      GraphicBuffer::USAGE_HW_TEXTURE,
                                              1, false, wp<BLASTBufferQueue>::fromExisting(this));
#endif //  COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    // since the adapter is in the client process, set dequeue timeout
    // explicitly so that dequeueBuffer will block
    mProducer->setDequeueTimeout(std::numeric_limits<int64_t>::max());
+0 −11
Original line number Diff line number Diff line
@@ -40,19 +40,10 @@ namespace android {
std::tuple<sp<BufferItemConsumer>, sp<Surface>> BufferItemConsumer::create(
        uint64_t consumerUsage, int bufferCount, bool controlledByApp,
        bool isConsumerSurfaceFlinger) {
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    sp<BufferItemConsumer> bufferItemConsumer =
            sp<BufferItemConsumer>::make(consumerUsage, bufferCount, controlledByApp,
                                         isConsumerSurfaceFlinger);
    return {bufferItemConsumer, bufferItemConsumer->getSurface()};
#else
    sp<IGraphicBufferProducer> igbp;
    sp<IGraphicBufferConsumer> igbc;
    BufferQueue::createBufferQueue(&igbp, &igbc, isConsumerSurfaceFlinger);
    sp<BufferItemConsumer> bufferItemConsumer =
            sp<BufferItemConsumer>::make(igbc, consumerUsage, bufferCount, controlledByApp);
    return {bufferItemConsumer, sp<Surface>::make(igbp, controlledByApp)};
#endif
}

sp<BufferItemConsumer> BufferItemConsumer::create(const sp<IGraphicBufferConsumer>& consumer,
@@ -61,7 +52,6 @@ sp<BufferItemConsumer> BufferItemConsumer::create(const sp<IGraphicBufferConsume
    return sp<BufferItemConsumer>::make(consumer, consumerUsage, bufferCount, controlledByApp);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
BufferItemConsumer::BufferItemConsumer(uint64_t consumerUsage, int bufferCount,
                                       bool controlledByApp, bool isConsumerSurfaceFlinger)
      : ConsumerBase(controlledByApp, isConsumerSurfaceFlinger) {
@@ -75,7 +65,6 @@ BufferItemConsumer::BufferItemConsumer(const sp<IGraphicBufferProducer>& produce
      : ConsumerBase(producer, consumer, controlledByApp) {
    initialize(consumerUsage, bufferCount);
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

BufferItemConsumer::BufferItemConsumer(
        const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
+0 −9
Original line number Diff line number Diff line
@@ -75,7 +75,6 @@ ConsumerBase::ConsumerBase(const sp<IGraphicBufferConsumer>& bufferQueue, bool c
    initialize(controlledByApp);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
ConsumerBase::ConsumerBase(bool controlledByApp, bool consumerIsSurfaceFlinger)
      :
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_UNLIMITED_SLOTS)
@@ -102,8 +101,6 @@ ConsumerBase::ConsumerBase(const sp<IGraphicBufferProducer>& producer,
    initialize(controlledByApp);
}

#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

void ConsumerBase::initialize(bool controlledByApp) {
    // Choose a name using the PID and a process-unique ID.
    mName = String8::format("unnamed-%d-%d", getpid(), createProcessUniqueId());
@@ -369,7 +366,6 @@ status_t ConsumerBase::detachBuffer(int slot) {
    return detachBufferLocked(slot);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)
status_t ConsumerBase::detachBuffer(const sp<GraphicBuffer>& buffer) {
    CB_LOGV("detachBuffer");
    Mutex::Autolock lock(mMutex);
@@ -389,7 +385,6 @@ status_t ConsumerBase::detachBuffer(const sp<GraphicBuffer>& buffer) {

    return detachBufferLocked(slotIndex);
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)

status_t ConsumerBase::addReleaseFence(const sp<GraphicBuffer> buffer, const sp<Fence>& fence) {
    CB_LOGV("addReleaseFence");
@@ -457,7 +452,6 @@ status_t ConsumerBase::setTransformHint(uint32_t hint) {
    return mConsumer->setTransformHint(hint);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
status_t ConsumerBase::setMaxBufferCount(int bufferCount) {
    Mutex::Autolock lock(mMutex);
    if (mAbandoned) {
@@ -475,7 +469,6 @@ status_t ConsumerBase::setMaxBufferCount(int bufferCount) {

    return mConsumer->setMaxBufferCount(bufferCount);
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

status_t ConsumerBase::setMaxAcquiredBufferCount(int maxAcquiredBuffers) {
    Mutex::Autolock lock(mMutex);
@@ -573,7 +566,6 @@ void ConsumerBase::dumpLocked(String8& result, const char* prefix) const {
    }
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
sp<Surface> ConsumerBase::getSurface() const {
    LOG_ALWAYS_FATAL_IF(mSurface == nullptr,
                        "It's illegal to get the surface of a Consumer that does not own it. This "
@@ -584,7 +576,6 @@ sp<Surface> ConsumerBase::getSurface() const {
sp<IGraphicBufferConsumer> ConsumerBase::getIGraphicBufferConsumer() const {
    return mConsumer;
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

status_t ConsumerBase::acquireBufferLocked(BufferItem *item,
        nsecs_t presentWhen, uint64_t maxFrameNumber) {
+0 −11
Original line number Diff line number Diff line
@@ -38,18 +38,9 @@ namespace android {
std::tuple<sp<CpuConsumer>, sp<Surface>> CpuConsumer::create(size_t maxLockedBuffers,
                                                             bool controlledByApp,
                                                             bool isConsumerSurfaceFlinger) {
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    sp<CpuConsumer> consumer =
            sp<CpuConsumer>::make(maxLockedBuffers, controlledByApp, isConsumerSurfaceFlinger);
    return {consumer, consumer->getSurface()};
#else
    sp<IGraphicBufferProducer> igbp;
    sp<IGraphicBufferConsumer> igbc;
    BufferQueue::createBufferQueue(&igbp, &igbc, isConsumerSurfaceFlinger);

    return {sp<CpuConsumer>::make(igbc, maxLockedBuffers, controlledByApp),
            sp<Surface>::make(igbp, controlledByApp)};
#endif
}

sp<CpuConsumer> CpuConsumer::create(const sp<IGraphicBufferConsumer>& bq, size_t maxLockedBuffers,
@@ -57,7 +48,6 @@ sp<CpuConsumer> CpuConsumer::create(const sp<IGraphicBufferConsumer>& bq, size_t
    return sp<CpuConsumer>::make(bq, maxLockedBuffers, controlledByApp);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
CpuConsumer::CpuConsumer(size_t maxLockedBuffers, bool controlledByApp,
                         bool isConsumerSurfaceFlinger)
      : ConsumerBase(controlledByApp, isConsumerSurfaceFlinger),
@@ -69,7 +59,6 @@ CpuConsumer::CpuConsumer(size_t maxLockedBuffers, bool controlledByApp,
    mConsumer->setConsumerUsageBits(GRALLOC_USAGE_SW_READ_OFTEN);
    mConsumer->setMaxAcquiredBufferCount(static_cast<int32_t>(maxLockedBuffers));
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

CpuConsumer::CpuConsumer(const sp<IGraphicBufferConsumer>& bq, size_t maxLockedBuffers,
                         bool controlledByApp)
+0 −22
Original line number Diff line number Diff line
@@ -105,34 +105,16 @@ static bool hasEglProtectedContent() {
std::tuple<sp<GLConsumer>, sp<Surface>> GLConsumer::create(uint32_t tex, uint32_t textureTarget,
                                                           bool useFenceSync,
                                                           bool isControlledByApp) {
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    sp<GLConsumer> consumer =
            sp<GLConsumer>::make(tex, textureTarget, useFenceSync, isControlledByApp);
    return {consumer, consumer->getSurface()};
#else
    sp<IGraphicBufferProducer> igbp;
    sp<IGraphicBufferConsumer> igbc;
    BufferQueue::createBufferQueue(&igbp, &igbc);

    return {sp<GLConsumer>::make(igbc, tex, textureTarget, useFenceSync, isControlledByApp),
            sp<Surface>::make(igbp, isControlledByApp)};
#endif
}

std::tuple<sp<GLConsumer>, sp<Surface>> GLConsumer::create(uint32_t textureTarget,
                                                           bool useFenceSync,
                                                           bool isControlledByApp) {
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    sp<GLConsumer> consumer = sp<GLConsumer>::make(textureTarget, useFenceSync, isControlledByApp);
    return {consumer, consumer->getSurface()};
#else
    sp<IGraphicBufferProducer> igbp;
    sp<IGraphicBufferConsumer> igbc;
    BufferQueue::createBufferQueue(&igbp, &igbc);

    return {sp<GLConsumer>::make(igbc, textureTarget, useFenceSync, isControlledByApp),
            sp<Surface>::make(igbp, isControlledByApp)};
#endif
}

sp<GLConsumer> GLConsumer::create(const sp<IGraphicBufferConsumer>& bq, uint32_t tex,
@@ -146,7 +128,6 @@ sp<GLConsumer> GLConsumer::create(const sp<IGraphicBufferConsumer>& bq, uint32_t
    return sp<GLConsumer>::make(bq, textureTarget, useFenceSync, isControlledByApp);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
GLConsumer::GLConsumer(uint32_t tex, uint32_t texTarget, bool useFenceSync, bool isControlledByApp)
      : ConsumerBase(isControlledByApp, /* isConsumerSurfaceFlinger */ false),
        mCurrentCrop(Rect::EMPTY_RECT),
@@ -175,7 +156,6 @@ GLConsumer::GLConsumer(uint32_t tex, uint32_t texTarget, bool useFenceSync, bool

    mConsumer->setConsumerUsageBits(DEFAULT_USAGE_FLAGS);
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

GLConsumer::GLConsumer(const sp<IGraphicBufferConsumer>& bq, uint32_t tex, uint32_t texTarget,
                       bool useFenceSync, bool isControlledByApp)
@@ -208,7 +188,6 @@ GLConsumer::GLConsumer(const sp<IGraphicBufferConsumer>& bq, uint32_t tex, uint3
    mConsumer->setConsumerUsageBits(DEFAULT_USAGE_FLAGS);
}

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
GLConsumer::GLConsumer(uint32_t texTarget, bool useFenceSync, bool isControlledByApp)
      : ConsumerBase(isControlledByApp, /* isConsumerSurfaceFlinger */ false),
        mCurrentCrop(Rect::EMPTY_RECT),
@@ -237,7 +216,6 @@ GLConsumer::GLConsumer(uint32_t texTarget, bool useFenceSync, bool isControlledB

    mConsumer->setConsumerUsageBits(DEFAULT_USAGE_FLAGS);
}
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)

GLConsumer::GLConsumer(const sp<IGraphicBufferConsumer>& bq, uint32_t texTarget, bool useFenceSync,
                       bool isControlledByApp)
Loading