summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/sysprop
AgeCommit message (Collapse)Author
2025-03-03[SF] SysProp max_acquired_buffers ramindani
Test: atest libsurfaceflinger_unittest BUG: 378064629 Flag: EXEMPT SysProp is only used when configured Change-Id: I9bc4f9d5c4863dacc7a6a2b81178dec2794742db
2024-02-21Add default_teams John Reck
Test: n/a Change-Id: I6c2426303194df4b94f6181f4b5c71970bc5f7fd
2023-10-20SF: Add a sysprop for game default frame rate Andy Yu
Bug: 286084594 Test: SurfaceFlinger unit tests Change-Id: Icc3ed7642e45c8c28b063cbe1799e09c00a05e35
2023-07-25Remove the concept of target dataspace Alec Mouri
This is only needed for configuring colorspace agnostic dataspaces, but no device does that. For colorspace agnostic layers, it's sufficient to just use the colormode dataspace, with the possible exception of HDR where we can preserve some bespoke logic, so we can just get rid of target dataspaces and any associated plumbing. Bug: 292162273 Test: builds Test: libsurfaceflinger_unittest Test: libcompositionengine_test Change-Id: I319bb354e80e3ad1eaaacd896b897e6696f96588
2023-06-15Force HALs to explicitly enable legacy method for clearing buffer caches Brian Lindahl
Some HAL implementations can't support setLayerBuffer multiple times to clear the per-layer buffer caches. Therefore, default this behavior to disabled, and allow HALs to explcitily enable this behavior to obtain the necessary memory savings. Test: play videos with both true and false on both HIDL and AIDL Bug: 285561686 Change-Id: I928cef25e35cfc5337db4ceb8581bf5926b4fbe3
2023-06-05SF: Add ro.surface_flinger.min_acquired_buffers Lloyd Pique
This is a minimum count of buffers to indicate when computing the return value for ISurfaceComposer.getMaxAcquiredBufferCount(). The value is read from "ro.surface_flinger.min_acquired_buffers" if set, otherwise the default of value of 1 is used if not. Setting values larger than 1 affects how many buffers apps should allocate to keep the display pipeline busy. Bug: 239574096 Bug: 239575317 Test: Configuring "2" works. Test: atest libsurfaceflinger_unittest Change-Id: I4e3a441bdf94cddebb766e6bf73f7cdb82aacd0d
2023-02-02SF: cleanup frame rate override sysprops Ady Abraham
Bug: 260875485 Test: atest FrameRateOverrideHostTest Change-Id: Ic2b01c4e0db348274e34b3e7ddecfc60414892dc
2022-11-28SF: use SurfaceFlingerProperties for frame_rate_override_global Ady Abraham
This flag is accessed from DisplayManager in addition to SF, so add it to SurfaceFlingerProperties instead of hardcoded flag. Test: atest DisplayModeDirectorTests Bug: 241447632 Change-Id: I1951bc5e17ec0f6304ecb91aa83555b8cce5e73a
2022-11-04SF: Generalize frame rate override to any frame rate Ady Abraham
Add support to be able to override the frame rate of an app to any frame rate, as long as it is a divisor of the display refresh rate. Test: SF unit tests Bug: 241460058 Bug: 241447632 Change-Id: Ibf8fa600127d3d5672a4c2a58d0a93b190854cc1
2022-02-24Allow skipping camera layers for HDR callback John Reck
Bug: 218728138 Test: make; verified callback didn't change for youtube HDR Change-Id: I3ee4999d221052be5d8d093033b90bfe6b3aa87e
2021-10-28Remove dead code around use_frame_rate_api Marin Shalamanov
There's no se polixy for ro.surface_flinger.use_frame_rate_api and it cannot be used by vendors, so the code is dead. Removing it cos there isn't a use case for disabling this API. Bug: 199911262 Test: n/a Change-Id: I45aabf5ced73d565a5d7adc73971f3615dde0abe
2021-04-28Make sdr white point do a thing John Reck
Bug: 182312559 Test: SilkFX prototype changes Change-Id: Ieca0e4c8e2229d14aac460945702d23759d208e9
2021-02-25[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native Bob Badour
Added SPDX-license-identifier-Apache-2.0 to: cmds/atrace/Android.bp cmds/bugreport/Android.bp cmds/bugreportz/Android.bp cmds/cmd/Android.bp cmds/dumpstate/Android.bp cmds/dumpsys/Android.bp cmds/dumpsys/tests/Android.bp cmds/flatland/Android.mk cmds/idlcli/Android.bp cmds/installd/Android.bp cmds/installd/tests/Android.bp cmds/ip-up-vpn/Android.mk cmds/lshal/Android.bp cmds/lshal/libprocpartition/Android.bp cmds/rawbu/Android.bp cmds/rss_hwm_reset/Android.bp cmds/service/Android.bp cmds/servicemanager/Android.bp cmds/surfacereplayer/Android.bp cmds/surfacereplayer/proto/Android.bp cmds/surfacereplayer/replayer/Android.bp data/etc/Android.bp libs/adbd_auth/Android.bp libs/android_runtime_lazy/Android.bp libs/arect/Android.bp libs/attestation/Android.bp libs/attestation/tests/Android.bp libs/binder/Android.bp libs/binder/ndk/Android.bp libs/binder/ndk/tests/Android.bp libs/binder/parcel_fuzzer/Android.bp libs/binder/rust/Android.bp libs/binder/rust/tests/Android.bp libs/binder/tests/Android.bp libs/binder/tests/fuzzers/Android.bp libs/binderdebug/Android.bp libs/binderdebug/tests/Android.bp libs/binderthreadstate/1.0/Android.bp libs/binderthreadstate/Android.bp libs/bufferqueueconverter/Android.bp libs/cputimeinstate/Android.bp libs/diskusage/Android.bp libs/dumputils/Android.bp libs/fakeservicemanager/Android.bp libs/ftl/Android.bp libs/gralloc/types/Android.bp libs/gralloc/types/fuzzer/Android.bp libs/gralloc/types/tests/Android.bp libs/graphicsenv/Android.bp libs/gui/Android.bp libs/gui/sysprop/Android.bp libs/gui/tests/Android.bp libs/incidentcompanion/Android.bp libs/input/Android.bp libs/input/tests/Android.bp libs/math/Android.bp libs/math/tests/Android.bp libs/nativebase/Android.bp libs/nativedisplay/Android.bp libs/nativewindow/Android.bp libs/nativewindow/tests/Android.bp libs/renderengine/Android.bp libs/renderengine/tests/Android.bp libs/sensor/Android.bp libs/sensor/tests/Android.bp libs/sensorprivacy/Android.bp libs/ui/Android.bp libs/ui/tests/Android.bp libs/ui/tools/Android.bp libs/vibrator/Android.bp libs/vibrator/fuzzer/Android.bp libs/vr/libbroadcastring/Android.bp libs/vr/libbufferhub/Android.bp libs/vr/libbufferhubqueue/Android.bp libs/vr/libbufferhubqueue/benchmarks/Android.bp libs/vr/libbufferhubqueue/tests/Android.bp libs/vr/libdisplay/Android.bp libs/vr/libdvr/Android.bp libs/vr/libdvr/tests/Android.bp libs/vr/libdvrcommon/Android.bp libs/vr/libpdx/Android.bp libs/vr/libpdx/fuzz/Android.bp libs/vr/libpdx_default_transport/Android.bp libs/vr/libpdx_uds/Android.bp libs/vr/libperformance/Android.bp libs/vr/libvr_manager/Android.bp libs/vr/libvrflinger/Android.bp libs/vr/libvrflinger/tests/Android.bp libs/vr/libvrsensor/Android.bp opengl/libs/Android.bp opengl/tests/EGLTest/Android.bp opengl/tests/configdump/Android.bp opengl/tests/fillrate/Android.bp opengl/tests/filter/Android.bp opengl/tests/finish/Android.bp opengl/tests/gl2_basic/Android.bp opengl/tests/gl2_cameraeye/Android.bp opengl/tests/gl2_copyTexImage/Android.bp opengl/tests/gl2_java/Android.bp opengl/tests/gl2_jni/Android.bp opengl/tests/gl2_yuvtex/Android.bp opengl/tests/gl_basic/Android.bp opengl/tests/gl_jni/Android.bp opengl/tests/gl_perf/Android.bp opengl/tests/gl_perfapp/Android.bp opengl/tests/gl_yuvtex/Android.bp opengl/tests/gldual/Android.bp opengl/tests/gralloc/Android.bp opengl/tests/hwc/Android.bp opengl/tests/lib/Android.bp opengl/tests/lighting1709/Android.bp opengl/tests/linetex/Android.bp opengl/tests/swapinterval/Android.bp opengl/tests/testFramerate/Android.bp opengl/tests/testLatency/Android.bp opengl/tests/testPauseResume/Android.bp opengl/tests/testViewport/Android.bp opengl/tests/textures/Android.bp opengl/tests/tritex/Android.bp services/audiomanager/Android.bp services/automotive/display/Android.bp services/batteryservice/Android.bp services/displayservice/Android.bp services/gpuservice/Android.bp services/gpuservice/bpfprogs/Android.bp services/gpuservice/gpumem/Android.bp services/gpuservice/gpustats/Android.bp services/gpuservice/tests/unittests/Android.bp services/gpuservice/tracing/Android.bp services/inputflinger/Android.bp services/inputflinger/benchmarks/Android.bp services/inputflinger/dispatcher/Android.bp services/inputflinger/host/Android.bp services/inputflinger/reader/Android.bp services/inputflinger/reporter/Android.bp services/inputflinger/tests/Android.bp services/powermanager/Android.bp services/powermanager/benchmarks/Android.bp services/powermanager/tests/Android.bp services/schedulerservice/Android.bp services/sensorservice/Android.bp services/sensorservice/hidl/Android.bp services/sensorservice/tests/Android.bp services/stats/Android.bp services/surfaceflinger/Android.bp services/surfaceflinger/CompositionEngine/Android.bp services/surfaceflinger/FrameTimeline/Android.bp services/surfaceflinger/TimeStats/Android.bp services/surfaceflinger/TimeStats/timestatsproto/Android.bp services/surfaceflinger/layerproto/Android.bp services/surfaceflinger/sysprop/Android.bp services/surfaceflinger/tests/Android.bp services/surfaceflinger/tests/fakehwc/Android.bp services/surfaceflinger/tests/unittests/Android.bp services/surfaceflinger/tests/vsync/Android.bp services/surfaceflinger/tests/waitforvsync/Android.bp services/utils/Android.bp services/utils/tests/Android.bp services/vibratorservice/Android.bp services/vibratorservice/benchmarks/Android.bp services/vibratorservice/test/Android.bp services/vr/bufferhubd/Android.bp services/vr/hardware_composer/Android.bp services/vr/hardware_composer/aidl/Android.bp services/vr/virtual_touchpad/Android.bp vulkan/libvulkan/Android.bp vulkan/nulldrv/Android.bp vulkan/vkjson/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS legacy_notice to: Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT legacy_notice to: opengl/Android.bp opengl/tests/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD legacy_notice to: libs/vr/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: headers/Android.bp services/vr/Android.bp vulkan/Android.bp Added SPDX-license-identifier-BSD SPDX-license-identifier-MIT legacy_notice to: opengl/tests/angeles/Android.bp Added SPDX-license-identifier-MIT to: services/vr/performanced/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Icd397e38ca313ae4886bd92afa927d4633a75c4f
2021-02-25Merge "Revert "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native"" into sc-dev Bob Badour
2021-02-25Revert "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native" Bob Badour
This reverts commit f84491a4874f20653104f47622d7215521310526. This reverts commit 2e6718529b3f3b55d310db6738e71255e9b74dee. Change-Id: I1a9655335b856d6909b27929e00c0bde3186d893
2021-02-24SF: add a sysprop to control layer caching Ady Abraham
Bug: 158790260 Test: SF unit tests Change-Id: I7ce6e781a480ceeeefa515cdb20bb82b618f2291
2021-02-17[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native Bob Badour
Added SPDX-license-identifier-Apache-2.0 to: cmds/atrace/Android.bp cmds/bugreport/Android.bp cmds/bugreportz/Android.bp cmds/cmd/Android.bp cmds/dumpstate/Android.bp cmds/dumpsys/Android.bp cmds/dumpsys/tests/Android.bp cmds/flatland/Android.mk cmds/idlcli/Android.bp cmds/installd/Android.bp cmds/installd/tests/Android.bp cmds/ip-up-vpn/Android.mk cmds/lshal/Android.bp cmds/lshal/libprocpartition/Android.bp cmds/rawbu/Android.bp cmds/rss_hwm_reset/Android.bp cmds/service/Android.bp cmds/servicemanager/Android.bp cmds/surfacereplayer/Android.bp cmds/surfacereplayer/replayer/Android.bp libs/adbd_auth/Android.bp libs/android_runtime_lazy/Android.bp libs/arect/Android.bp libs/binder/Android.bp libs/binder/ndk/Android.bp libs/binder/ndk/tests/Android.bp libs/binder/parcel_fuzzer/Android.bp libs/binder/rust/Android.bp libs/binder/rust/tests/Android.bp libs/binder/tests/Android.bp libs/binder/tests/fuzzers/Android.bp libs/binderdebug/Android.bp libs/binderdebug/tests/Android.bp libs/binderthreadstate/1.0/Android.bp libs/binderthreadstate/Android.bp libs/bufferqueueconverter/Android.bp libs/cputimeinstate/Android.bp libs/diskusage/Android.bp libs/dumputils/Android.bp libs/fakeservicemanager/Android.bp libs/gralloc/types/Android.bp libs/gralloc/types/fuzzer/Android.bp libs/gralloc/types/tests/Android.bp libs/graphicsenv/Android.bp libs/gui/Android.bp libs/gui/sysprop/Android.bp libs/gui/tests/Android.bp libs/incidentcompanion/Android.bp libs/input/Android.bp libs/input/tests/Android.bp libs/math/Android.bp libs/math/tests/Android.bp libs/nativebase/Android.bp libs/nativedisplay/Android.bp libs/nativewindow/Android.bp libs/nativewindow/tests/Android.bp libs/renderengine/Android.bp libs/renderengine/tests/Android.bp libs/sensor/Android.bp libs/sensor/tests/Android.bp libs/sensorprivacy/Android.bp libs/ui/Android.bp libs/ui/tests/Android.bp libs/ui/tools/Android.bp libs/vibrator/Android.bp libs/vibrator/fuzzer/Android.bp libs/vr/libpdx/Android.bp libs/vr/libpdx/fuzz/Android.bp libs/vr/libvr_manager/Android.bp opengl/libs/Android.bp opengl/tests/EGLTest/Android.bp opengl/tests/fillrate/Android.bp opengl/tests/finish/Android.bp opengl/tests/gl2_basic/Android.bp opengl/tests/gl2_cameraeye/Android.bp opengl/tests/gl2_copyTexImage/Android.bp opengl/tests/gl2_java/Android.bp opengl/tests/gl2_jni/Android.bp opengl/tests/gl2_yuvtex/Android.bp opengl/tests/gl_jni/Android.bp opengl/tests/gl_perf/Android.bp opengl/tests/gl_perfapp/Android.bp opengl/tests/gl_yuvtex/Android.bp opengl/tests/gldual/Android.bp opengl/tests/gralloc/Android.bp opengl/tests/hwc/Android.bp opengl/tests/lib/Android.bp opengl/tests/lighting1709/Android.bp opengl/tests/linetex/Android.bp opengl/tests/swapinterval/Android.bp opengl/tests/testFramerate/Android.bp opengl/tests/testLatency/Android.bp opengl/tests/testPauseResume/Android.bp opengl/tests/testViewport/Android.bp opengl/tests/textures/Android.bp services/audiomanager/Android.bp services/automotive/display/Android.bp services/batteryservice/Android.bp services/displayservice/Android.bp services/gpuservice/Android.bp services/gpuservice/bpfprogs/Android.bp services/gpuservice/gpumem/Android.bp services/gpuservice/gpustats/Android.bp services/gpuservice/tests/unittests/Android.bp services/gpuservice/tracing/Android.bp services/inputflinger/Android.bp services/inputflinger/benchmarks/Android.bp services/inputflinger/dispatcher/Android.bp services/inputflinger/host/Android.bp services/inputflinger/reader/Android.bp services/inputflinger/reporter/Android.bp services/inputflinger/tests/Android.bp services/inputflinger/tests/fuzzers/Android.bp services/powermanager/Android.bp services/schedulerservice/Android.bp services/sensorservice/Android.bp services/sensorservice/hidl/Android.bp services/sensorservice/tests/Android.bp services/stats/Android.bp services/surfaceflinger/Android.bp services/surfaceflinger/CompositionEngine/Android.bp services/surfaceflinger/TimeStats/Android.bp services/surfaceflinger/TimeStats/timestatsproto/Android.bp services/surfaceflinger/layerproto/Android.bp services/surfaceflinger/sysprop/Android.bp services/surfaceflinger/tests/Android.bp services/surfaceflinger/tests/fakehwc/Android.bp services/surfaceflinger/tests/unittests/Android.bp services/surfaceflinger/tests/vsync/Android.bp services/surfaceflinger/tests/waitforvsync/Android.bp services/utils/Android.bp services/utils/tests/Android.bp services/vr/hardware_composer/Android.bp services/vr/virtual_touchpad/Android.bp vulkan/libvulkan/Android.bp vulkan/nulldrv/Android.bp vulkan/vkjson/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS legacy_notice to: Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT legacy_notice to: opengl/Android.bp opengl/tests/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD legacy_notice to: libs/vr/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: headers/Android.bp services/vr/Android.bp vulkan/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS to: cmds/surfacereplayer/proto/Android.bp libs/vr/libbroadcastring/Android.bp libs/vr/libbufferhub/Android.bp libs/vr/libbufferhubqueue/Android.bp libs/vr/libbufferhubqueue/benchmarks/Android.bp libs/vr/libbufferhubqueue/tests/Android.bp libs/vr/libdisplay/Android.bp libs/vr/libdvr/Android.bp libs/vr/libdvr/tests/Android.bp libs/vr/libdvrcommon/Android.bp libs/vr/libpdx_default_transport/Android.bp libs/vr/libpdx_uds/Android.bp libs/vr/libperformance/Android.bp libs/vr/libvrflinger/Android.bp libs/vr/libvrflinger/tests/Android.bp libs/vr/libvrsensor/Android.bp opengl/tests/configdump/Android.bp opengl/tests/filter/Android.bp opengl/tests/gl_basic/Android.bp opengl/tests/tritex/Android.bp services/vr/bufferhubd/Android.bp services/vr/hardware_composer/aidl/Android.bp Added SPDX-license-identifier-BSD SPDX-license-identifier-MIT legacy_notice to: opengl/tests/angeles/Android.bp Added SPDX-license-identifier-MIT to: services/vr/performanced/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ib1de8cd7b87446de45d79db15cd90b93a591846d Merged-in: Ib1de8cd7b87446de45d79db15cd90b93a591846d
2021-01-08SurfaceFlinger: add a sysprop to control frame rate override Ady Abraham
Adding 'ro.surface_flinger.enable_frame_rate_override' to control whether frame rate override feature should be enabled or not. Bug: 170502573 Bug: 176940141 Test: atest FrameRateOverrideHostTest Change-Id: Id7b7a405c6493606af4149d77a4c3d90afc9a5b7
2020-10-13[SF] Update DeviceProductInfo on hotplug reconnect Marin Shalamanov
This change populates DeviceProductInfo on hotplug, even if we are in legacy multi-display mode. This behaviour is guarded by sysprop ro.surface_flinger.update_edid_on_hotplug_reconnect which is turned off by default. Bug: 160952291 Test: 1. connect display 2. adb shell dumpsys SurfaceFlinger | grep deviceProductInfo 3. connect different display 4. adb shell dumpsys SurfaceFlinger | grep deviceProductInfo 5. make sure DeviceProductInfo has changed. Change-Id: I94751f678b1dd1196727ad38ab5e398fb6cf0393
2020-09-15Merge "Freeze SurfaceFlingerProperties API" Treehugger Robot
2020-09-14Freeze SurfaceFlingerProperties API Inseob Kim
Bug: 145259948 Test: m SurfaceFlingerProperties-check-api Change-Id: I2f80ff2aa27377ab1cfa7d9611b7fc77328b5777
2020-09-11SurfaceFlingerProperties: Use proper prop scope Luca Stefani
* System scope is deperecated, Public scope should be used instead Test: m Change-Id: I758f41c4c6ec31f6781ebe87f8317063763f7134
2020-06-30Merge "SurfaceFlingerProperties: Use proper prop scope" am: f9e1a4794a am: ↵ Inseob Kim
e667923c15 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1351060 Change-Id: I32fd1f662e93750fde1adb542eeecb144b09a9c9
2020-06-26SurfaceFlingerProperties: Use proper prop scope Luca Stefani
* System scope is deperecated, Public scope should be used instead Test: m Change-Id: I9fc658487397f1dfb2175d071736e0bc1eb3ad04
2020-03-23Add a flag for refresh rate switching Steven Thomas
Some devices don't do refresh rate switching, so we should take that into account when filtering display manager config settings and deciding scheduling behavior. This CL adds a sysprop that can be set to indicate if surface flinger should do refresh rate switching, and modifies surface flinger to have the correct behavior when we're not doing refresh rate switching. Bug: 147233255 Bug: 136592946 Bug: 138261472 Test: Ran through various 60/90 switching scenarios on a device with refresh rate switching. Test: Set the refresh rate switching sysprop to false, and confirmed we get a consistent 60Hz. Test: Inspected dumpsys output and confirmed it looks correct. In particular, refresh rate stats are output correctly. Test: Ran automated tests: RefreshRateConfigsTest, RefreshRateStatsTest, SchedulerTest. Change-Id: I54cd5be9d2c1b9abc8475c3ce39846cbe9f9fe53 Merged-In: I54cd5be9d2c1b9abc8475c3ce39846cbe9f9fe53
2020-03-09Allow GPU composition to occur at a lower resolution Brian Lindahl
Add a vendor-specified system property to allow GPU fallback composition to occur at a lower resolution than the display mode resolution. Bug: 144574809 Test: Tested with sysprop disabled, and tested backport in Android Q with sysprop enabled. Unable to test on Android R due to device issues. Change-Id: I02948ce72f49d20416d0e4dd45a4cffe99e28820
2020-02-20sf: Update PowerAdvisor to talk to AIDL Power HAL Dan Stoza
Updates the PowerAdvisor to talk to the AIDL Power HAL, and hooks up the new DISPLAY_UPDATE_IMMINENT Boost present in that HAL. Test: libsurfaceflinger_unittest Test: libcompositionengine_test Test: Manual with ALOGV Bug: 132390048 Bug: 146453294 Change-Id: I3cb3e8d04303373de24b6dc150ce724aac89407c
2020-02-07SF: Flag guard setFrameRate() API Ana Krulec
- LayerHistory is now always created - Do not use LayerHistory when content detection flag is turned off. Bug: 148428554 Test: atest CtsGraphicsTestCases:SetFrameRateTest Test: Play YouTube video. When content detection flag is off, display runs at 90, otherwise at 60. Test: adb shell /data/.../libsurfaceflinger_unittest Change-Id: Iab8b79e16a5257c770d9ddd204cfe26d22de83b6
2020-02-07Merge "SurfaceFlinger: rename use_smart_90_for_video flag" Ady Abraham
2020-02-06SF: Remove refresh_rate_switching flag. With a fix. Ana Krulec
ag/9294789 introduce a flag to only allow refresh rate switching on the devices that have that flag set to true, because it broke devices that didn't support multiple refresh rates, and Android TV. LocalDisplayAdapter sets the refresh rate to default when booting the phone, so no need for that in SF anymore. Test: Turn off Smooth display (see b/148821456), device doesn't crash. Test: Install on devices that doesn't have multiple refresh rates. Test: Run SF unittests. Test: Turn on all the flags, and run through set of examples: Video playback stays at 60. Camera stays at 60. Maps play at 60. Low brightness stays at 90. Swappy successfully switches between 60 & 90. Test: Turn off all the flags, and rerun the examples from previous. If applications requested the change, the change is honored, otherwise we stay at default (set by DM). Test: Ask Android TV team to test the patch. Bug: 148427603 Bug: 148821456 Change-Id: I5bb964572d93e5cb78d7b75054b900917be563b0
2020-02-06SurfaceFlinger: rename use_smart_90_for_video flag Ady Abraham
Rename use_smart_90_for_video -> use_content_detection_for_refresh_rate to better describe what it controls. Test: Play video and observe the refresh rate Change-Id: I5ae03073bd670d0b3bc7f2861cbf3ec0d28efbe7
2020-02-04Revert "Revert "Revert "SF: Remove refresh_rate_switching flag.""" Ana Krulec
This reverts commit aa52b007cb5c96d6124a293ca80c430c7051f7f3. Reason for revert: The original revert cause a failure: b/148821456. So the revert was created. Which caused a build failure b/148835312. Reverting the original change and fixing the test (that caused build failure) with it. Bug: 148835312 Bug: 148821456 Bug: 148835894 Test: build, install on coral. Test: adb shell /data/nativetest64/libsurfaceflinger_unittest/libsurfaceflinger_unittest Change-Id: I48964c7c27ef53e8fb03d959ef85ee2ec64e1ed1
2020-02-04Revert "Revert "SF: Remove refresh_rate_switching flag."" Christoffer Quist Adamsen
This reverts commit 2a215191be4854fcb4b2836929a955157eae52d1. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=hawk-userdebug&lkgb=6180052&lkbb=6180424&fkbb=6180072, bug b/148835312. Bug: 148835312 Change-Id: Ie8e5d4c683ab7f10051e355a62941bdb37a196b7
2020-02-04Revert "SF: Remove refresh_rate_switching flag." Ady Abraham
This reverts commit 8c6f3f6bd0c5edce7aa9bfd61b64dd2e7dc43deb. Reason for revert: Crashes on ToT (b/148822765, b/148821456) Change-Id: If1bc13b33321727244c3b0f15a0e7b30665d1c43
2020-01-31SF: Remove refresh_rate_switching flag. Ana Krulec
ag/9294789 introduce a flag to only allow refresh rate switching on the devices that have that flag set to true, because it broke devices that didn't support multiple refresh rates, and Android TV. LocalDisplayAdapter sets the refresh rate to default when booting the phone, so no need for that in SF anymore. Test: Install on devices that doesn't have multiple refresh rates. Test: Run SF unittests. Test: Turn on all the flags, and run through set of examples: Video playback stays at 60. Camera stays at 60. Maps play at 60. Low brightness stays at 90. Swappy successfully switches between 60 & 90. Test: Turn off all the flags, and rerun the examples from previous. If applications requested the change, the change is honored, otherwise we stay at default (set by DM). Test: Ask Android TV team to test the patch. Bug: 148427603 Change-Id: I44085e91a74902d102bcf9f1491164cdb50650cc
2020-01-20Add support for background blurs Lucas Dupin
Bug: 141640413 Fixes: 146384234 Test: adb shell setprop debug.sf.disableBlurs 1 Test: adb shell setprop debug.sf.gaussianBlur 0 Test: adb shell setprop ro.surface_flinger.supports_background_blur 1 Test: ./SurfaceFlinger_test --gtest_filter=Layer*Tests/Layer*Test.SetBackgroundBlur* Test: ./librenderengine_test --gtest_filter=*BlurBackground*" Test: atest SurfaceFlinger_test:SurfaceInterceptorTest#InterceptBackgroundBlurRadiusUpdateWorks Change-Id: I5194c910fe7062f33e70943867012539e6c6626a
2019-11-24Merge "Update SurfaceFlingerProperties scope" am: 945fa5c957 am: 4d15954900 Inseob Kim
am: 2c7032c8a9 Change-Id: Ib0094668b58ea3a8c4b360d8cb427a2dc54b6b33
2019-11-24Merge "Update SurfaceFlingerProperties scope" Inseob Kim
am: 945fa5c957 Change-Id: I5223ee4a53b15abe13d62c6020bde4f275015e9c
2019-11-16Update SurfaceFlingerProperties scope Luca Stefani
System scope is deprecated Test: manual, no build warnings Change-Id: I2db77a7cea19b5d9e9393bc5709b60608d696023
2019-09-12[DO NOT MERGE] Fix aosp_arm64-eng (checkbuild). Ian Kasprzak
Update SurfaceFlingerProperties-current.txt to be compatible. BUG: 140906153 Test: Local build with checkbuild Change-Id: Ia25c7546bab0abb05c6189e9f7b8d5e0ae7d9b92
2019-09-12Add a flag for refresh rate switching Steven Thomas
Some devices don't do refresh rate switching, so we should take that into account when filtering display manager config settings and deciding scheduling behavior. This CL adds a sysprop that can be set to indicate if surface flinger should do refresh rate switching, and modifies surface flinger to have the correct behavior when we're not doing refresh rate switching. Bug: 136592946 Bug: 138261472 Test: Ran through various 60/90 switching scenarios on a device with refresh rate switching. Test: Set the refresh rate switching sysprop to false, and confirmed we get a consistent 60Hz. Test: Inspected dumpsys output and confirmed it looks correct. In particular, refresh rate stats are output correctly. Test: Ran automated tests: RefreshRateConfigsTest, RefreshRateStatsTest, SchedulerTest. Change-Id: I54cd5be9d2c1b9abc8475c3ce39846cbe9f9fe53
2019-09-08Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master Xin Li
Bug: 135460123 Change-Id: I02a643052e3023ac029cdec76ee24dfa99d82b29 Merged-In: Ied9a812f235e2a5146381b0ac8c602db1c6035f5
2019-08-22resolve merge conflicts of 94c54dcee6a9728d63cef63c215d3ebd2de83831 to ↵ Inseob Kim
qt-r1-dev-plus-aosp Bug: None Test: I solemnly swear I tested this conflict resolution. Change-Id: Ifd302c6ebba81c6d79e74b28ff26ec7c07c1322e Merged-In: I7812db716ca42055caa70385c71a90de49fc1afc Merged-In: Ib285432d66fbe9ca99d94edb41b424937f04b26d
2019-08-20Implement sysprop_library API stability check Inseob Kim
sysprop_library now checks the API stability itself, cutting dependency on java_sdk_library. Under the directory {module_dir}/api, {module_name}-current.txt and {module_name}-latest.txt hold API signatures. When sysprop_library is built, or a user run "m {module_name}-check-api" command, API check is performed. First, current.txt must have exactly same signature with built sysprop_library module. Second, current.txt must be compatible with latest.txt. Build system emits a handy error message to generate/update those API files, in case of missing or mismatching. Also, a script file for freezing API files is introduced. Bug: 131637873 Test: 1) m && boot blueline Test: 2) m {sysprop_library} performs API check Test: 3) manual test for check-api, freezing api Change-Id: I7812db716ca42055caa70385c71a90de49fc1afc Merged-In: I7812db716ca42055caa70385c71a90de49fc1afc (cherry picked from commit 0bbb2a1e5a5d8a67591b731a2497dd0ce0305a26)
2019-08-20Change surfacefliger properties scopes to public Inseob Kim
For sysprop_library, System scope and Public scope are identical from now on, and only Public or Internal scope are suppose to be used. This changes existing system scopes to public, and has no effect on code level. Bug: 131637873 Test: mma Change-Id: Ib285432d66fbe9ca99d94edb41b424937f04b26d Merged-In: Ib285432d66fbe9ca99d94edb41b424937f04b26d (cherry picked from commit 44f34c55fc98247129b696109c4661570ab73dd2)
2019-08-02Implement sysprop_library API stability check Inseob Kim
sysprop_library now checks the API stability itself, cutting dependency on java_sdk_library. Under the directory {module_dir}/api, {module_name}-current.txt and {module_name}-latest.txt hold API signatures. When sysprop_library is built, or a user run "m {module_name}-check-api" command, API check is performed. First, current.txt must have exactly same signature with built sysprop_library module. Second, current.txt must be compatible with latest.txt. Build system emits a handy error message to generate/update those API files, in case of missing or mismatching. Also, a script file for freezing API files is introduced. Bug: 131637873 Test: 1) m && boot blueline Test: 2) m {sysprop_library} performs API check Test: 3) manual test for check-api, freezing api Change-Id: I7812db716ca42055caa70385c71a90de49fc1afc
2019-07-15SurfaceFlinger: add display power state timer Ady Abraham
Coming out of DOZE mode might result in unstable HWVsync which may confuse FPS detection logic to set the desired refresh rate. To mitigate that, this change introduces a new timer that will provide a grace period when coming out of DOZE while in this grace period refresh rate will stay in PERFORMANCE. Test: Toggle DOZE by hitting the power button and collect systrace Bug: 135550670 Change-Id: Ib8ec3c9550336d691dd3868405d20b98aa983302
2019-07-16SurfaceFlinger: add display power state timer Ady Abraham
Coming out of DOZE mode might result in unstable HWVsync which may confuse FPS detection logic to set the desired refresh rate. To mitigate that, this change introduces a new timer that will provide a grace period when coming out of DOZE while in this grace period refresh rate will stay in PERFORMANCE. Test: Toggle DOZE by hitting the power button and collect systrace Bug: 135550670 Change-Id: Ib8ec3c9550336d691dd3868405d20b98aa983302 Merged-In: Ib8ec3c9550336d691dd3868405d20b98aa983302
2019-07-08Merge "SF: enable device-specific dataspace for color space agnostic ↵ Thierry Strudel
surfaces" into qt-r1-dev am: ee07312a52 am: aa590417ff Change-Id: Ic238546d7c6cbde1fe950899669d4ec1d8710172
2019-07-04SF: enable device-specific dataspace for color space agnostic surfaces Yichi Chen
To reduce the DPU loading in color conversion, we enable device-specific dataspace for color space agnostic surfaces. Since the type of surfaces usually provide gray-level surfaces to users, it can be acceptable to ignore the color conversion on them. Bug: 134783740 Bug: 135140940 Test: Check ScreenDecorOverlays in expected dataspace Test: Play HDR video on B1 and C2 and check dataspace Change-Id: I7b11e11d2015eb5c8dfdc372e2c7ffcb40a2ac1d