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

Commit fa8dc0f6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove legacy disable triple buffering config" into sc-dev

parents b05e9028 debd1cbc
Loading
Loading
Loading
Loading
+3 −5
Original line number Original line Diff line number Diff line
@@ -130,8 +130,7 @@ void BLASTBufferItemConsumer::onSidebandStreamChanged() {
}
}


BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceControl>& surface,
BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceControl>& surface,
                                   int width, int height, int32_t format,
                                   int width, int height, int32_t format)
                                   bool enableTripleBuffering)
      : mName(name),
      : mName(name),
        mSurfaceControl(surface),
        mSurfaceControl(surface),
        mSize(width, height),
        mSize(width, height),
@@ -143,9 +142,8 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont
    // explicitly so that dequeueBuffer will block
    // explicitly so that dequeueBuffer will block
    mProducer->setDequeueTimeout(std::numeric_limits<int64_t>::max());
    mProducer->setDequeueTimeout(std::numeric_limits<int64_t>::max());


    if (enableTripleBuffering) {
    // safe default, most producers are expected to override this
    mProducer->setMaxDequeuedBufferCount(2);
    mProducer->setMaxDequeuedBufferCount(2);
    }
    mBufferItemConsumer = new BLASTBufferItemConsumer(mConsumer,
    mBufferItemConsumer = new BLASTBufferItemConsumer(mConsumer,
                                                      GraphicBuffer::USAGE_HW_COMPOSER |
                                                      GraphicBuffer::USAGE_HW_COMPOSER |
                                                              GraphicBuffer::USAGE_HW_TEXTURE,
                                                              GraphicBuffer::USAGE_HW_TEXTURE,
+1 −1
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@ class BLASTBufferQueue
{
{
public:
public:
    BLASTBufferQueue(const std::string& name, const sp<SurfaceControl>& surface, int width,
    BLASTBufferQueue(const std::string& name, const sp<SurfaceControl>& surface, int width,
                     int height, int32_t format, bool enableTripleBuffering = true);
                     int height, int32_t format);


    sp<IGraphicBufferProducer> getIGraphicBufferProducer() const {
    sp<IGraphicBufferProducer> getIGraphicBufferProducer() const {
        return mProducer;
        return mProducer;
+1 −4
Original line number Original line Diff line number Diff line
@@ -521,11 +521,8 @@ void BufferQueueLayer::onFirstRef() {
    mConsumer->setContentsChangedListener(mContentsChangedListener);
    mConsumer->setContentsChangedListener(mContentsChangedListener);
    mConsumer->setName(String8(mName.data(), mName.size()));
    mConsumer->setName(String8(mName.data(), mName.size()));


    // BufferQueueCore::mMaxDequeuedBufferCount is default to 1
    if (!mFlinger->isLayerTripleBufferingDisabled()) {
    mProducer->setMaxDequeuedBufferCount(2);
    mProducer->setMaxDequeuedBufferCount(2);
}
}
}


status_t BufferQueueLayer::setDefaultBufferProperties(uint32_t w, uint32_t h, PixelFormat format) {
status_t BufferQueueLayer::setDefaultBufferProperties(uint32_t w, uint32_t h, PixelFormat format) {
    uint32_t const maxSurfaceDims =
    uint32_t const maxSurfaceDims =
+0 −7
Original line number Original line Diff line number Diff line
@@ -441,10 +441,6 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI
    mUseHwcVirtualDisplays = atoi(value);
    mUseHwcVirtualDisplays = atoi(value);
    ALOGI_IF(mUseHwcVirtualDisplays, "Enabling HWC virtual displays");
    ALOGI_IF(mUseHwcVirtualDisplays, "Enabling HWC virtual displays");


    property_get("ro.sf.disable_triple_buffer", value, "0");
    mLayerTripleBufferingDisabled = atoi(value);
    ALOGI_IF(mLayerTripleBufferingDisabled, "Disabling Triple Buffering");

    property_get("ro.surface_flinger.supports_background_blur", value, "0");
    property_get("ro.surface_flinger.supports_background_blur", value, "0");
    bool supportsBlurs = atoi(value);
    bool supportsBlurs = atoi(value);
    mSupportsBlur = supportsBlurs;
    mSupportsBlur = supportsBlurs;
@@ -4551,9 +4547,6 @@ void SurfaceFlinger::logFrameStats() {
void SurfaceFlinger::appendSfConfigString(std::string& result) const {
void SurfaceFlinger::appendSfConfigString(std::string& result) const {
    result.append(" [sf");
    result.append(" [sf");


    if (isLayerTripleBufferingDisabled())
        result.append(" DISABLE_TRIPLE_BUFFERING");

    StringAppendF(&result, " PRESENT_TIME_OFFSET=%" PRId64, dispSyncPresentTimeOffset);
    StringAppendF(&result, " PRESENT_TIME_OFFSET=%" PRId64, dispSyncPresentTimeOffset);
    StringAppendF(&result, " FORCE_HWC_FOR_RBG_TO_YUV=%d", useHwcForRgbToYuv);
    StringAppendF(&result, " FORCE_HWC_FOR_RBG_TO_YUV=%d", useHwcForRgbToYuv);
    StringAppendF(&result, " MAX_VIRT_DISPLAY_DIM=%" PRIu64, maxVirtualDisplaySize);
    StringAppendF(&result, " MAX_VIRT_DISPLAY_DIM=%" PRIu64, maxVirtualDisplaySize);
+0 −7
Original line number Original line Diff line number Diff line
@@ -1094,10 +1094,6 @@ private:
    void dumpOffscreenLayers(std::string& result) EXCLUDES(mStateLock);
    void dumpOffscreenLayers(std::string& result) EXCLUDES(mStateLock);
    void dumpPlannerInfo(const DumpArgs& args, std::string& result) const REQUIRES(mStateLock);
    void dumpPlannerInfo(const DumpArgs& args, std::string& result) const REQUIRES(mStateLock);


    bool isLayerTripleBufferingDisabled() const {
        return this->mLayerTripleBufferingDisabled;
    }

    status_t doDump(int fd, const DumpArgs& args, bool asProto);
    status_t doDump(int fd, const DumpArgs& args, bool asProto);


    status_t dumpCritical(int fd, const DumpArgs&, bool asProto);
    status_t dumpCritical(int fd, const DumpArgs&, bool asProto);
@@ -1251,9 +1247,6 @@ private:


    TransactionCallbackInvoker mTransactionCallbackInvoker;
    TransactionCallbackInvoker mTransactionCallbackInvoker;


    // Restrict layers to use two buffers in their bufferqueues.
    bool mLayerTripleBufferingDisabled = false;

    // these are thread safe
    // these are thread safe
    std::unique_ptr<MessageQueue> mEventQueue;
    std::unique_ptr<MessageQueue> mEventQueue;
    FrameTracker mAnimFrameTracker;
    FrameTracker mAnimFrameTracker;