Loading configstore/1.0/ISurfaceFlingerConfigs.hal +6 −0 Original line number Original line Diff line number Diff line Loading @@ -84,4 +84,10 @@ interface ISurfaceFlingerConfigs { * GL composition. * GL composition. */ */ useHwcForRGBtoYUV() generates(OptionalBool value); useHwcForRGBtoYUV() generates(OptionalBool value); /* * Maximum dimension supported by HWC for virtual display. * Must be equals to min(max_width, max_height). */ maxVirtualDisplaySize() generates (OptionalUInt64 value); }; }; configstore/1.0/default/SurfaceFlingerConfigs.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -89,6 +89,18 @@ Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl return Void(); return Void(); } } Return<void> SurfaceFlingerConfigs::maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) { uint64_t maxSize = 0; #ifdef MAX_VIRTUAL_DISPLAY_DIMENSION maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION; _hidl_cb({true, maxSize}); LOG(INFO) << "SurfaceFlinger MaxVirtualDisplaySize: " << maxSize; #else _hidl_cb({false, maxSize}); #endif return Void(); } // Methods from ::android::hidl::base::V1_0::IBase follow. // Methods from ::android::hidl::base::V1_0::IBase follow. ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) { ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) { return new SurfaceFlingerConfigs(); return new SurfaceFlingerConfigs(); Loading configstore/1.0/default/SurfaceFlingerConfigs.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override; Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override; Return<void> presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) override; Return<void> presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) override; Return<void> useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) override; Return<void> useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) override; Return<void> maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) override; // Methods from ::android::hidl::base::V1_0::IBase follow. // Methods from ::android::hidl::base::V1_0::IBase follow. Loading configstore/1.0/default/surfaceflinger.mk +4 −0 Original line number Original line Diff line number Diff line Loading @@ -38,3 +38,7 @@ endif ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS endif endif ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) endif Loading
configstore/1.0/ISurfaceFlingerConfigs.hal +6 −0 Original line number Original line Diff line number Diff line Loading @@ -84,4 +84,10 @@ interface ISurfaceFlingerConfigs { * GL composition. * GL composition. */ */ useHwcForRGBtoYUV() generates(OptionalBool value); useHwcForRGBtoYUV() generates(OptionalBool value); /* * Maximum dimension supported by HWC for virtual display. * Must be equals to min(max_width, max_height). */ maxVirtualDisplaySize() generates (OptionalUInt64 value); }; };
configstore/1.0/default/SurfaceFlingerConfigs.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -89,6 +89,18 @@ Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl return Void(); return Void(); } } Return<void> SurfaceFlingerConfigs::maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) { uint64_t maxSize = 0; #ifdef MAX_VIRTUAL_DISPLAY_DIMENSION maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION; _hidl_cb({true, maxSize}); LOG(INFO) << "SurfaceFlinger MaxVirtualDisplaySize: " << maxSize; #else _hidl_cb({false, maxSize}); #endif return Void(); } // Methods from ::android::hidl::base::V1_0::IBase follow. // Methods from ::android::hidl::base::V1_0::IBase follow. ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) { ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) { return new SurfaceFlingerConfigs(); return new SurfaceFlingerConfigs(); Loading
configstore/1.0/default/SurfaceFlingerConfigs.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override; Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override; Return<void> presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) override; Return<void> presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) override; Return<void> useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) override; Return<void> useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) override; Return<void> maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) override; // Methods from ::android::hidl::base::V1_0::IBase follow. // Methods from ::android::hidl::base::V1_0::IBase follow. Loading
configstore/1.0/default/surfaceflinger.mk +4 −0 Original line number Original line Diff line number Diff line Loading @@ -38,3 +38,7 @@ endif ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS endif endif ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) endif