diff --git a/configstore/1.0/ISurfaceFlingerConfigs.hal b/configstore/1.0/ISurfaceFlingerConfigs.hal index dcc9bbb618..5f975bd7dc 100644 --- a/configstore/1.0/ISurfaceFlingerConfigs.hal +++ b/configstore/1.0/ISurfaceFlingerConfigs.hal @@ -108,4 +108,10 @@ interface ISurfaceFlingerConfigs { * FramebufferSurface. */ maxFrameBufferAcquiredBuffers() generates(OptionalInt64 value); + + /** + * Returns true if surface flinger should start + * hardware.graphics.allocator@2.0::IAllocator service. + */ + startGraphicsAllocatorService() generates(OptionalBool value); }; diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.0/default/SurfaceFlingerConfigs.cpp index 70bd803476..9c134ef70a 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.0/default/SurfaceFlingerConfigs.cpp @@ -112,6 +112,16 @@ Return SurfaceFlingerConfigs::useVrFlinger(useVrFlinger_cb _hidl_cb) { return Void(); } +Return SurfaceFlingerConfigs::startGraphicsAllocatorService( + startGraphicsAllocatorService_cb _hidl_cb) { + bool value = false; +#ifdef START_GRAPHICS_ALLOCATOR_SERVICE + value = true; +#endif + _hidl_cb({true, value}); + return Void(); +} + } // namespace implementation } // namespace V1_0 } // namespace configstore diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.h b/configstore/1.0/default/SurfaceFlingerConfigs.h index 930051115c..17a424ec5c 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.h +++ b/configstore/1.0/default/SurfaceFlingerConfigs.h @@ -35,6 +35,8 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return hasSyncFramework(hasSyncFramework_cb _hidl_cb) override; Return useVrFlinger(useVrFlinger_cb _hidl_cb) override; Return maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) override; + Return startGraphicsAllocatorService( + startGraphicsAllocatorService_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 9e3d4d40f5..3ce768a63e 100644 --- a/configstore/1.0/default/surfaceflinger.mk +++ b/configstore/1.0/default/surfaceflinger.mk @@ -50,3 +50,7 @@ endif ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) endif + +ifneq ($(SF_START_GRAPHICS_ALLOCATOR_SERVICE),) + LOCAL_CFLAGS += -DSTART_GRAPHICS_ALLOCATOR_SERVICE +endif