diff options
author | Fabien Sanglard <sanglardf@google.com> | 2017-03-10 17:15:43 -0800 |
---|---|---|
committer | Fabien Sanglard <sanglardf@google.com> | 2017-03-17 09:52:12 -0700 |
commit | bf4da3df5e4c70f22c7361f91e61730af11386d2 (patch) | |
tree | 9a89d44d2656c4361cc8d8da789e1d2da79220b5 /configstore | |
parent | 9928f3b29aeebbe301403de2ed40d31f030bbf0c (diff) | |
download | android_hardware_interfaces-bf4da3df5e4c70f22c7361f91e61730af11386d2.tar.gz android_hardware_interfaces-bf4da3df5e4c70f22c7361f91e61730af11386d2.tar.bz2 android_hardware_interfaces-bf4da3df5e4c70f22c7361f91e61730af11386d2.zip |
Create hasSyncFramework property for SF
Change-Id: I15ef44cd5f901c339902672366d68d1815c3668e
Diffstat (limited to 'configstore')
-rw-r--r-- | configstore/1.0/ISurfaceFlingerConfigs.hal | 6 | ||||
-rw-r--r-- | configstore/1.0/default/SurfaceFlingerConfigs.cpp | 10 | ||||
-rw-r--r-- | configstore/1.0/default/SurfaceFlingerConfigs.h | 1 | ||||
-rw-r--r-- | configstore/1.0/default/surfaceflinger.mk | 4 |
4 files changed, 21 insertions, 0 deletions
diff --git a/configstore/1.0/ISurfaceFlingerConfigs.hal b/configstore/1.0/ISurfaceFlingerConfigs.hal index 1eaa4e90e..43c96eef9 100644 --- a/configstore/1.0/ISurfaceFlingerConfigs.hal +++ b/configstore/1.0/ISurfaceFlingerConfigs.hal @@ -90,4 +90,10 @@ interface ISurfaceFlingerConfigs { * Must be equals to min(max_width, max_height). */ maxVirtualDisplaySize() generates (OptionalUInt64 value); + + /* + * Indicates if Sync framework is available. Sync framework provides fence + * mechanism which significantly reduces buffer processing latency. + */ + hasSyncFramework() generates(OptionalBool value); }; diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.0/default/SurfaceFlingerConfigs.cpp index 6b44b7141..e8872e8da 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.0/default/SurfaceFlingerConfigs.cpp @@ -59,6 +59,16 @@ Return<void> SurfaceFlingerConfigs::hasWideColorDisplay(hasWideColorDisplay_cb _ return Void(); } +Return<void> SurfaceFlingerConfigs::hasSyncFramework(hasSyncFramework_cb _hidl_cb) { + bool value = true; +#ifdef RUNNING_WITHOUT_SYNC_FRAMEWORK + value = false; +#endif + _hidl_cb({true, value}); + LOG(INFO) << "SurfaceFlinger hasSyncFramework: " << value; + return Void(); +} + Return<void> SurfaceFlingerConfigs::hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) { bool value = false; #ifdef HAS_HDR_DISPLAY diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.h b/configstore/1.0/default/SurfaceFlingerConfigs.h index a4738e308..bea1ab1f5 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.h +++ b/configstore/1.0/default/SurfaceFlingerConfigs.h @@ -33,6 +33,7 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return<void> presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) override; Return<void> useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) override; Return<void> maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) override; + Return<void> hasSyncFramework(hasSyncFramework_cb _hidl_cb) override; // Methods from ::android::hidl::base::V1_0::IBase follow. diff --git a/configstore/1.0/default/surfaceflinger.mk b/configstore/1.0/default/surfaceflinger.mk index 0db5134dc..6e63fdc3e 100644 --- a/configstore/1.0/default/surfaceflinger.mk +++ b/configstore/1.0/default/surfaceflinger.mk @@ -42,3 +42,7 @@ endif ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) endif + +ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) + LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK +endif |