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

Commit 51185338 authored by Fabien Sanglard's avatar Fabien Sanglard Committed by Android (Google) Code Review
Browse files

Merge "Move TARGET_DISABLE_TRIPLE_BUFFERING to property"

parents 32872923 63a5fcd2
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -69,10 +69,6 @@ ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
endif

ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true)
    LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING
endif

ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true)
    LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS
endif
+3 −3
Original line number Diff line number Diff line
@@ -165,9 +165,9 @@ void Layer::onFirstRef() {
    mSurfaceFlingerConsumer->setContentsChangedListener(this);
    mSurfaceFlingerConsumer->setName(mName);

#ifndef TARGET_DISABLE_TRIPLE_BUFFERING
    if (mFlinger->isLayerTripleBufferingDisabled()) {
        mProducer->setMaxDequeuedBufferCount(2);
#endif
    }

    const sp<const DisplayDevice> hw(mFlinger->getDefaultDisplayDevice());
    updateTransformHint(hw);
+11 −9
Original line number Diff line number Diff line
@@ -189,6 +189,10 @@ SurfaceFlinger::SurfaceFlinger()
    property_get("debug.sf.disable_hwc_vds", value, "0");
    mUseHwcVirtualDisplays = !atoi(value);
    ALOGI_IF(!mUseHwcVirtualDisplays, "Disabling HWC virtual displays");

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

void SurfaceFlinger::onFirstRef()
@@ -2952,21 +2956,19 @@ void SurfaceFlinger::logFrameStats() {
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
}

/*static*/ void SurfaceFlinger::appendSfConfigString(String8& result)
void SurfaceFlinger::appendSfConfigString(String8& result) const
{
    static const char* config =
            " [sf"
    result.append(" [sf");
#ifdef HAS_CONTEXT_PRIORITY
            " HAS_CONTEXT_PRIORITY"
    result.append(" HAS_CONTEXT_PRIORITY");
#endif
#ifdef NEVER_DEFAULT_TO_ASYNC_MODE
            " NEVER_DEFAULT_TO_ASYNC_MODE"
    result.append(" NEVER_DEFAULT_TO_ASYNC_MODE");
#endif
#ifdef TARGET_DISABLE_TRIPLE_BUFFERING
            " TARGET_DISABLE_TRIPLE_BUFFERING"
    if (isLayerTripleBufferingDisabled())
        result.append(" DISABLE_TRIPLE_BUFFERING");
#endif
            "]";
    result.append(config);
    result.append("]");
}

void SurfaceFlinger::dumpStaticScreenStats(String8& result) const
+7 −1
Original line number Diff line number Diff line
@@ -438,7 +438,7 @@ private:
    void clearStatsLocked(const Vector<String16>& args, size_t& index, String8& result);
    void dumpAllLocked(const Vector<String16>& args, size_t& index, String8& result) const;
    bool startDdmConnection();
    static void appendSfConfigString(String8& result);
    void appendSfConfigString(String8& result) const;
    void checkScreenshot(size_t w, size_t s, size_t h, void const* vaddr,
            const sp<const DisplayDevice>& hw,
            uint32_t minLayerZ, uint32_t maxLayerZ);
@@ -453,6 +453,9 @@ private:
            std::vector<OccupancyTracker::Segment>&& history);
    void dumpBufferingStats(String8& result) const;

    bool isLayerTripleBufferingDisabled() const {
        return this->mLayerTripleBufferingDisabled;
    }
    /* ------------------------------------------------------------------------
     * Attributes
     */
@@ -526,6 +529,9 @@ private:
    SurfaceInterceptor mInterceptor;
    bool mUseHwcVirtualDisplays = true;

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

    // these are thread safe
    mutable MessageQueue mEventQueue;
    FrameTracker mAnimFrameTracker;
+11 −11
Original line number Diff line number Diff line
@@ -164,7 +164,6 @@ SurfaceFlinger::SurfaceFlinger()
{
    ALOGI("SurfaceFlinger is starting");

    // debugging stuff...
    char value[PROPERTY_VALUE_MAX];

    property_get("ro.bq.gpu_to_cpu_unsupported", value, "0");
@@ -187,6 +186,10 @@ SurfaceFlinger::SurfaceFlinger()
    property_get("debug.sf.disable_hwc_vds", value, "0");
    mUseHwcVirtualDisplays = !atoi(value);
    ALOGI_IF(!mUseHwcVirtualDisplays, "Disabling HWC virtual displays");

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

void SurfaceFlinger::onFirstRef()
@@ -2859,21 +2862,18 @@ void SurfaceFlinger::logFrameStats() {
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
}

/*static*/ void SurfaceFlinger::appendSfConfigString(String8& result)
void SurfaceFlinger::appendSfConfigString(String8& result) const
{
    static const char* config =
            " [sf"
    result.append(" [sf");
#ifdef HAS_CONTEXT_PRIORITY
            " HAS_CONTEXT_PRIORITY"
    result.append(" HAS_CONTEXT_PRIORITY");
#endif
#ifdef NEVER_DEFAULT_TO_ASYNC_MODE
            " NEVER_DEFAULT_TO_ASYNC_MODE"
#endif
#ifdef TARGET_DISABLE_TRIPLE_BUFFERING
            " TARGET_DISABLE_TRIPLE_BUFFERING"
    result.append(" NEVER_DEFAULT_TO_ASYNC_MODE");
#endif
            "]";
    result.append(config);
    if (isLayerTripleBufferingDisabled())
        result.append(" DISABLE_TRIPLE_BUFFERING");
    result.append("]");
}

void SurfaceFlinger::dumpStaticScreenStats(String8& result) const