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

Commit 63a5fcd2 authored by Fabien Sanglard's avatar Fabien Sanglard
Browse files

Move TARGET_DISABLE_TRIPLE_BUFFERING to property

As part of the migration to Soong, Android.mk environment variables
must be moved to property which are checked at runtime.

Tests: Angler and Sailfish
Change-Id: I7c620656c6778b36fea78c3087fbd5d33cea96f8
parent c8e4c3d7
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -69,10 +69,6 @@ ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
endif
endif


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

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


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


    const sp<const DisplayDevice> hw(mFlinger->getDefaultDisplayDevice());
    const sp<const DisplayDevice> hw(mFlinger->getDefaultDisplayDevice());
    updateTransformHint(hw);
    updateTransformHint(hw);
+11 −9
Original line number Original line Diff line number Diff line
@@ -189,6 +189,10 @@ SurfaceFlinger::SurfaceFlinger()
    property_get("debug.sf.disable_hwc_vds", value, "0");
    property_get("debug.sf.disable_hwc_vds", value, "0");
    mUseHwcVirtualDisplays = !atoi(value);
    mUseHwcVirtualDisplays = !atoi(value);
    ALOGI_IF(!mUseHwcVirtualDisplays, "Disabling HWC virtual displays");
    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()
void SurfaceFlinger::onFirstRef()
@@ -2952,21 +2956,19 @@ void SurfaceFlinger::logFrameStats() {
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
}
}


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


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


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


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

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


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


    property_get("ro.bq.gpu_to_cpu_unsupported", value, "0");
    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");
    property_get("debug.sf.disable_hwc_vds", value, "0");
    mUseHwcVirtualDisplays = !atoi(value);
    mUseHwcVirtualDisplays = !atoi(value);
    ALOGI_IF(!mUseHwcVirtualDisplays, "Disabling HWC virtual displays");
    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()
void SurfaceFlinger::onFirstRef()
@@ -2859,21 +2862,18 @@ void SurfaceFlinger::logFrameStats() {
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
    mAnimFrameTracker.logAndResetStats(String8("<win-anim>"));
}
}


/*static*/ void SurfaceFlinger::appendSfConfigString(String8& result)
void SurfaceFlinger::appendSfConfigString(String8& result) const
{
{
    static const char* config =
    result.append(" [sf");
            " [sf"
#ifdef HAS_CONTEXT_PRIORITY
#ifdef HAS_CONTEXT_PRIORITY
            " HAS_CONTEXT_PRIORITY"
    result.append(" HAS_CONTEXT_PRIORITY");
#endif
#endif
#ifdef NEVER_DEFAULT_TO_ASYNC_MODE
#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"
#endif
#endif
            "]";
    if (isLayerTripleBufferingDisabled())
    result.append(config);
        result.append(" DISABLE_TRIPLE_BUFFERING");
    result.append("]");
}
}


void SurfaceFlinger::dumpStaticScreenStats(String8& result) const
void SurfaceFlinger::dumpStaticScreenStats(String8& result) const