diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 776b71e2ce5e8b8d0b530497ba038a6884da93f9..39645e53fc57926934e95ac4b690c1892e13ebe5 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -509,6 +509,9 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI property_get("debug.sf.dim_in_gamma_in_enhanced_screenshots", value, 0); mDimInGammaSpaceForEnhancedScreenshots = atoi(value); + property_get("ro.sf.force_hwc_brightness", value, "0"); + mForceHwcBrightness = atoi(value); + mIgnoreHwcPhysicalDisplayOrientation = base::GetBoolProperty("debug.sf.ignore_hwc_physical_display_orientation"s, false); @@ -2019,7 +2022,8 @@ status_t SurfaceFlinger::getDisplayBrightnessSupport(const sp<IBinder>& displayT if (!displayId) { return NAME_NOT_FOUND; } - *outSupport = getHwComposer().hasDisplayCapability(*displayId, DisplayCapability::BRIGHTNESS); + *outSupport = mForceHwcBrightness ? true : + getHwComposer().hasDisplayCapability(*displayId, DisplayCapability::BRIGHTNESS); return NO_ERROR; } diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 7c2d164ac972c7f2d2ad821fe2b6fe63266fb337..8b647c392a0cad3a61f455c92abad8f3e1e0bd12 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -1421,6 +1421,7 @@ private: scheduler::PresentLatencyTracker mPresentLatencyTracker GUARDED_BY(kMainThreadContext); bool mLumaSampling = true; + bool mForceHwcBrightness = false; sp<RegionSamplingThread> mRegionSamplingThread; sp<FpsReporter> mFpsReporter; sp<TunnelModeEnabledReporter> mTunnelModeEnabledReporter;