Loading services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -253,6 +253,13 @@ AidlComposer::AidlComposer(const std::string& serviceName) { AidlComposer::~AidlComposer() = default; bool AidlComposer::isSupported(OptionalFeature feature) const { switch (feature) { case OptionalFeature::RefreshRateSwitching: return true; } } std::vector<IComposer::Capability> AidlComposer::getCapabilities() { std::vector<Capability> capabilities; const auto status = mAidlComposer->getCapabilities(&capabilities); Loading services/surfaceflinger/DisplayHardware/AidlComposerHal.h +2 −1 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ public: explicit AidlComposer(const std::string& serviceName); ~AidlComposer() override; bool isSupported(OptionalFeature) const; std::vector<IComposer::Capability> getCapabilities() override; std::string dumpDebugInfo() override; Loading Loading @@ -178,7 +180,6 @@ public: Error setDisplayBrightness(Display display, float brightness) override; // Composer HAL 2.4 bool isVsyncPeriodSwitchSupported() override { return true; } Error getDisplayCapabilities(Display display, std::vector<DisplayCapability>* outCapabilities) override; V2_4::Error getDisplayConnectionType(Display display, Loading services/surfaceflinger/DisplayHardware/ComposerHal.h +6 −1 Original line number Diff line number Diff line Loading @@ -75,6 +75,12 @@ public: virtual ~Composer() = 0; enum class OptionalFeature { RefreshRateSwitching, }; virtual bool isSupported(OptionalFeature) const = 0; virtual std::vector<IComposer::Capability> getCapabilities() = 0; virtual std::string dumpDebugInfo() = 0; Loading Loading @@ -200,7 +206,6 @@ public: virtual Error setDisplayBrightness(Display display, float brightness) = 0; // Composer HAL 2.4 virtual bool isVsyncPeriodSwitchSupported() = 0; virtual Error getDisplayCapabilities(Display display, std::vector<DisplayCapability>* outCapabilities) = 0; virtual V2_4::Error getDisplayConnectionType( Loading services/surfaceflinger/DisplayHardware/HWC2.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ void Display::onLayerDestroyed(hal::HWLayerId layerId) { bool Display::isVsyncPeriodSwitchSupported() const { ALOGV("[%" PRIu64 "] isVsyncPeriodSwitchSupported()", mId); return mComposer.isVsyncPeriodSwitchSupported(); return mComposer.isSupported(android::Hwc2::Composer::OptionalFeature::RefreshRateSwitching); } Error Display::getChangedCompositionTypes(std::unordered_map<HWC2::Layer*, Composition>* outTypes) { Loading services/surfaceflinger/DisplayHardware/HWComposer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -159,8 +159,10 @@ void HWComposer::setCallback(HWC2::ComposerCallback* callback) { } mRegisteredCallback = true; const bool vsyncSwitchingSupported = mComposer->isSupported(Hwc2::Composer::OptionalFeature::RefreshRateSwitching); mComposer->registerCallback( sp<ComposerCallbackBridge>::make(callback, mComposer->isVsyncPeriodSwitchSupported())); sp<ComposerCallbackBridge>::make(callback, vsyncSwitchingSupported)); } bool HWComposer::getDisplayIdentificationData(hal::HWDisplayId hwcDisplayId, uint8_t* outPort, Loading Loading
services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -253,6 +253,13 @@ AidlComposer::AidlComposer(const std::string& serviceName) { AidlComposer::~AidlComposer() = default; bool AidlComposer::isSupported(OptionalFeature feature) const { switch (feature) { case OptionalFeature::RefreshRateSwitching: return true; } } std::vector<IComposer::Capability> AidlComposer::getCapabilities() { std::vector<Capability> capabilities; const auto status = mAidlComposer->getCapabilities(&capabilities); Loading
services/surfaceflinger/DisplayHardware/AidlComposerHal.h +2 −1 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ public: explicit AidlComposer(const std::string& serviceName); ~AidlComposer() override; bool isSupported(OptionalFeature) const; std::vector<IComposer::Capability> getCapabilities() override; std::string dumpDebugInfo() override; Loading Loading @@ -178,7 +180,6 @@ public: Error setDisplayBrightness(Display display, float brightness) override; // Composer HAL 2.4 bool isVsyncPeriodSwitchSupported() override { return true; } Error getDisplayCapabilities(Display display, std::vector<DisplayCapability>* outCapabilities) override; V2_4::Error getDisplayConnectionType(Display display, Loading
services/surfaceflinger/DisplayHardware/ComposerHal.h +6 −1 Original line number Diff line number Diff line Loading @@ -75,6 +75,12 @@ public: virtual ~Composer() = 0; enum class OptionalFeature { RefreshRateSwitching, }; virtual bool isSupported(OptionalFeature) const = 0; virtual std::vector<IComposer::Capability> getCapabilities() = 0; virtual std::string dumpDebugInfo() = 0; Loading Loading @@ -200,7 +206,6 @@ public: virtual Error setDisplayBrightness(Display display, float brightness) = 0; // Composer HAL 2.4 virtual bool isVsyncPeriodSwitchSupported() = 0; virtual Error getDisplayCapabilities(Display display, std::vector<DisplayCapability>* outCapabilities) = 0; virtual V2_4::Error getDisplayConnectionType( Loading
services/surfaceflinger/DisplayHardware/HWC2.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ void Display::onLayerDestroyed(hal::HWLayerId layerId) { bool Display::isVsyncPeriodSwitchSupported() const { ALOGV("[%" PRIu64 "] isVsyncPeriodSwitchSupported()", mId); return mComposer.isVsyncPeriodSwitchSupported(); return mComposer.isSupported(android::Hwc2::Composer::OptionalFeature::RefreshRateSwitching); } Error Display::getChangedCompositionTypes(std::unordered_map<HWC2::Layer*, Composition>* outTypes) { Loading
services/surfaceflinger/DisplayHardware/HWComposer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -159,8 +159,10 @@ void HWComposer::setCallback(HWC2::ComposerCallback* callback) { } mRegisteredCallback = true; const bool vsyncSwitchingSupported = mComposer->isSupported(Hwc2::Composer::OptionalFeature::RefreshRateSwitching); mComposer->registerCallback( sp<ComposerCallbackBridge>::make(callback, mComposer->isVsyncPeriodSwitchSupported())); sp<ComposerCallbackBridge>::make(callback, vsyncSwitchingSupported)); } bool HWComposer::getDisplayIdentificationData(hal::HWDisplayId hwcDisplayId, uint8_t* outPort, Loading