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

Commit c3849ec2 authored by Jim Shargo's avatar Jim Shargo
Browse files

bufferqueues: Remove support for passing GL fences into BQs

These are going away since they're prone to cause deadlocks,
overcomplicate the API, and have been superceded by normal fd-based
fences (that can be derived from GL fences on most platforms).

Bug: 339705065
Flag: EXEMPT refactor
Test: old tests

Change-Id: I212f20ae77ddba234d888d1837c9e4935ccffa2f
parent 91ece572
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -92,8 +92,7 @@ struct TestConsumerListener : public android::BnConsumerListener {
        sp<IGraphicBufferConsumer> consumer = mConsumer.promote();
        if (consumer != nullptr && consumer->acquireBuffer(&buffer, 0) == android::NO_ERROR) {
            ::usleep(kRenderDelayUs);
            consumer->releaseBuffer(buffer.mSlot, buffer.mFrameNumber,
                                    EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, buffer.mFence);
            consumer->releaseBuffer(buffer.mSlot, buffer.mFrameNumber, buffer.mFence);
        }
    }
    void onBuffersReleased() override {}
@@ -438,8 +437,7 @@ TEST_F(GraphicsTrackerTest, DropAndReleaseTest) {
    // Consume one buffer and release
    BufferItem item;
    ASSERT_EQ(OK, mConsumer->acquireBuffer(&item, 0));
    ASSERT_EQ(OK, mConsumer->releaseBuffer(item.mSlot, item.mFrameNumber,
            EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, item.mFence));
    ASSERT_EQ(OK, mConsumer->releaseBuffer(item.mSlot, item.mFrameNumber, item.mFence));
    // Nothing to consume
    ASSERT_NE(OK, mConsumer->acquireBuffer(&item, 0));

+1 −2
Original line number Diff line number Diff line
@@ -242,8 +242,7 @@ status_t FrameCaptureLayer::releaseBuffer(const BufferItem &bi) {
    ALOGV("releaseBuffer");
    Mutex::Autolock _lock(mLock);

    return mConsumer->releaseBuffer(bi.mSlot, bi.mFrameNumber,
            EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, bi.mFence);
    return mConsumer->releaseBuffer(bi.mSlot, bi.mFrameNumber, bi.mFence);
}

}  // namespace android
+1 −2
Original line number Diff line number Diff line
@@ -755,8 +755,7 @@ public:
                // consume buffer
                sp<IGraphicBufferConsumer> consumer = mConsumer.promote();
                if (consumer != nullptr && consumer->acquireBuffer(&buffer, 0) == NO_ERROR) {
                    consumer->releaseBuffer(buffer.mSlot, buffer.mFrameNumber,
                                            EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, buffer.mFence);
                    consumer->releaseBuffer(buffer.mSlot, buffer.mFrameNumber, buffer.mFence);
                }
            }

+1 −2
Original line number Diff line number Diff line
@@ -752,8 +752,7 @@ void MediaSync::returnBufferToInput_l(
    status_t status = mInput->attachBuffer(&consumerSlot, oldBuffer);
    ALOGE_IF(status != NO_ERROR, "attaching buffer to input failed (%d)", status);
    if (status == NO_ERROR) {
        status = mInput->releaseBuffer(consumerSlot, 0 /* frameNumber */,
                EGL_NO_DISPLAY, EGL_NO_SYNC_KHR, fence);
        status = mInput->releaseBuffer(consumerSlot, 0 /* frameNumber */, fence);
        ALOGE_IF(status != NO_ERROR, "releasing buffer to input failed (%d)", status);
    }

+1 −2
Original line number Diff line number Diff line
@@ -635,8 +635,7 @@ void DeprecatedCamera3StreamSplitter::decrementBufRefCountLocked(uint64_t id, si
        if (detach) {
            res = consumer->detachBuffer(consumerSlot);
        } else {
            res = consumer->releaseBuffer(consumerSlot, frameNumber, EGL_NO_DISPLAY,
                                          EGL_NO_SYNC_KHR, tracker_ptr->getMergedFence());
            res = consumer->releaseBuffer(consumerSlot, frameNumber, tracker_ptr->getMergedFence());
        }
    } else {
        SP_LOGE("%s: consumer has become null!", __FUNCTION__);
Loading