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

Commit 8d0b9f4e authored by Steve Kondik's avatar Steve Kondik
Browse files

Allow dithering to be controlled by a system property.

Change-Id: I2509e0341b436759efd64550e3865539f4d6abb6
parent e80d8761
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -183,10 +183,14 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h,
#else
    mNeedsBlending = (info.h_alpha - info.l_alpha) > 0;
#endif
    if (mFlinger->getUseDithering()) {
        // we use the red index
        int displayRedSize = displayInfo.getSize(PixelFormatInfo::INDEX_RED);
        int layerRedsize = info.getSize(PixelFormatInfo::INDEX_RED);
        mNeedsDithering = layerRedsize > displayRedSize;
    } else {
        mNeedsDithering = false;
    }

    mSurface = new SurfaceLayer(mFlinger, this);
    return NO_ERROR;
+7 −3
Original line number Diff line number Diff line
@@ -95,7 +95,8 @@ SurfaceFlinger::SurfaceFlinger()
        mLastTransactionTime(0),
        mBootFinished(false),
        mConsoleSignals(0),
        mSecureFrameBuffer(0)
        mSecureFrameBuffer(0),
        mUseDithering(true)
{
    init();
}
@@ -112,9 +113,12 @@ void SurfaceFlinger::init()
    mDebugBackground = atoi(value);
    property_get("debug.sf.render_effect", value, "0");
    mRenderEffect = atoi(value);
    property_get("persist.sys.use_dithering", value, "1");
    mUseDithering = atoi(value) == 1;

    LOGI_IF(mDebugRegion,       "showupdates enabled");
    LOGI_IF(mDebugBackground,   "showbackground enabled");
    LOGI_IF(mUseDithering,      "dithering enabled");

    // default calibration color set (disabled by default)
    property_get("debug.sf.render_color_red", value, "975");
+6 −4
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ public:
            inline int                  getRenderColorR() const { return mRenderColorR; }
            inline int                  getRenderColorG() const { return mRenderColorG; }
            inline int                  getRenderColorB() const { return mRenderColorB; }

            inline int                  getUseDithering() const { return mUseDithering; }

    status_t removeLayer(const sp<LayerBase>& layer);
    status_t addLayer(const sp<LayerBase>& layer);
@@ -432,6 +432,8 @@ private:

   // only written in the main thread, only read in other threads
   volatile     int32_t                     mSecureFrameBuffer;

                bool                        mUseDithering;
};

// ---------------------------------------------------------------------------