diff options
author | 2022-01-26 19:19:17 -0800 | |
---|---|---|
committer | 2022-02-08 18:53:39 -0800 | |
commit | de549d4fe45b5af63bed7ac93adeb9a2715464db (patch) | |
tree | 552f10cda7784dfc6a3ccd61625cb738075698cc | |
parent | 8fd90ad372a5f75ed23ca8a784432689939f67c2 (diff) |
SF: use aidl Capability
Bug: 198190384
Test: SF unit tests
Change-Id: I73fe0cc15dabdd4703de068a9cebd878d76e39d7
18 files changed, 98 insertions, 61 deletions
diff --git a/services/surfaceflinger/CompositionEngine/src/Display.cpp b/services/surfaceflinger/CompositionEngine/src/Display.cpp index 29c146b013..a3188f3772 100644 --- a/services/surfaceflinger/CompositionEngine/src/Display.cpp +++ b/services/surfaceflinger/CompositionEngine/src/Display.cpp @@ -39,6 +39,7 @@ #include "DisplayHardware/PowerAdvisor.h" +using aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::DisplayCapability; namespace android::compositionengine::impl { @@ -284,7 +285,7 @@ bool Display::getSkipColorTransform() const { DisplayCapability::SKIP_CLIENT_COLOR_TRANSFORM); } - return hwc.hasCapability(hal::Capability::SKIP_CLIENT_COLOR_TRANSFORM); + return hwc.hasCapability(Capability::SKIP_CLIENT_COLOR_TRANSFORM); } bool Display::anyLayersRequireClientComposition() const { diff --git a/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp b/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp index 125ce7468e..44d34a3447 100644 --- a/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp +++ b/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp @@ -41,6 +41,7 @@ #include <aidl/android/hardware/graphics/composer3/Composition.h> +using aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::Composition; namespace android::compositionengine { @@ -672,7 +673,7 @@ using DisplayGetSkipColorTransformTest = DisplayWithLayersTestCommon; using aidl::android::hardware::graphics::composer3::DisplayCapability; TEST_F(DisplayGetSkipColorTransformTest, checksCapabilityIfGpuDisplay) { - EXPECT_CALL(mHwComposer, hasCapability(hal::Capability::SKIP_CLIENT_COLOR_TRANSFORM)) + EXPECT_CALL(mHwComposer, hasCapability(Capability::SKIP_CLIENT_COLOR_TRANSFORM)) .WillOnce(Return(true)); auto args = getDisplayCreationArgsForGpuVirtualDisplay(); auto gpuDisplay{impl::createDisplay(mCompositionEngine, args)}; diff --git a/services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h b/services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h index 660f66438f..8ec8f00109 100644 --- a/services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h +++ b/services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h @@ -42,7 +42,8 @@ public: MOCK_METHOD1(setCallback, void(HWC2::ComposerCallback&)); MOCK_CONST_METHOD3(getDisplayIdentificationData, bool(hal::HWDisplayId, uint8_t*, DisplayIdentificationData*)); - MOCK_CONST_METHOD1(hasCapability, bool(hal::Capability)); + MOCK_CONST_METHOD1(hasCapability, + bool(aidl::android::hardware::graphics::composer3::Capability)); MOCK_CONST_METHOD2(hasDisplayCapability, bool(HalDisplayId, aidl::android::hardware::graphics::composer3::DisplayCapability)); diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp index b1057c3dd1..d10468ac6b 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp @@ -251,14 +251,14 @@ bool AidlComposer::isSupported(OptionalFeature feature) const { } } -std::vector<IComposer::Capability> AidlComposer::getCapabilities() { +std::vector<Capability> AidlComposer::getCapabilities() { std::vector<Capability> capabilities; const auto status = mAidlComposer->getCapabilities(&capabilities); if (!status.isOk()) { ALOGE("getCapabilities failed %s", status.getDescription().c_str()); return {}; } - return translate<IComposer::Capability>(capabilities); + return capabilities; } std::string AidlComposer::dumpDebugInfo() { diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h index 374a436141..a9f76061f6 100644 --- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.h @@ -60,7 +60,8 @@ public: bool isSupported(OptionalFeature) const; - std::vector<IComposer::Capability> getCapabilities() override; + std::vector<aidl::android::hardware::graphics::composer3::Capability> getCapabilities() + override; std::string dumpDebugInfo() override; void registerCallback(HWC2::ComposerCallback& callback) override; diff --git a/services/surfaceflinger/DisplayHardware/ComposerHal.h b/services/surfaceflinger/DisplayHardware/ComposerHal.h index fe55e6b657..5cc5a1286f 100644 --- a/services/surfaceflinger/DisplayHardware/ComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/ComposerHal.h @@ -31,6 +31,7 @@ #include <ui/GraphicBuffer.h> #include <utils/StrongPointer.h> +#include <aidl/android/hardware/graphics/composer3/Capability.h> #include <aidl/android/hardware/graphics/composer3/Color.h> #include <aidl/android/hardware/graphics/composer3/Composition.h> #include <aidl/android/hardware/graphics/composer3/DisplayCapability.h> @@ -93,7 +94,8 @@ public: virtual bool isSupported(OptionalFeature) const = 0; - virtual std::vector<IComposer::Capability> getCapabilities() = 0; + virtual std::vector<aidl::android::hardware::graphics::composer3::Capability> + getCapabilities() = 0; virtual std::string dumpDebugInfo() = 0; virtual void registerCallback(HWC2::ComposerCallback& callback) = 0; diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp index 05e3aefac4..b59b333f97 100644 --- a/services/surfaceflinger/DisplayHardware/HWC2.cpp +++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp @@ -39,6 +39,7 @@ using aidl::android::hardware::graphics::composer3::Color; using aidl::android::hardware::graphics::composer3::Composition; +using AidlCapability = aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::DisplayCapability; namespace android { @@ -73,7 +74,7 @@ Display::~Display() = default; namespace impl { Display::Display(android::Hwc2::Composer& composer, - const std::unordered_set<Capability>& capabilities, HWDisplayId id, + const std::unordered_set<AidlCapability>& capabilities, HWDisplayId id, DisplayType type) : mComposer(composer), mCapabilities(capabilities), mId(id), mType(type) { ALOGV("Created display %" PRIu64, id); @@ -470,7 +471,7 @@ Error Display::setPowerMode(PowerMode mode) } else if (error == Error::UNSUPPORTED) { std::scoped_lock lock(mDisplayCapabilitiesMutex); mDisplayCapabilities.emplace(); - if (mCapabilities.count(Capability::SKIP_CLIENT_COLOR_TRANSFORM)) { + if (mCapabilities.count(AidlCapability::SKIP_CLIENT_COLOR_TRANSFORM)) { mDisplayCapabilities->emplace(DisplayCapability::SKIP_CLIENT_COLOR_TRANSFORM); } bool dozeSupport = false; @@ -618,8 +619,9 @@ Layer::~Layer() = default; namespace impl { -Layer::Layer(android::Hwc2::Composer& composer, const std::unordered_set<Capability>& capabilities, - HWC2::Display& display, HWLayerId layerId) +Layer::Layer(android::Hwc2::Composer& composer, + const std::unordered_set<AidlCapability>& capabilities, HWC2::Display& display, + HWLayerId layerId) : mComposer(composer), mCapabilities(capabilities), mDisplay(&display), @@ -849,7 +851,7 @@ Error Layer::setSidebandStream(const native_handle_t* stream) return Error::BAD_DISPLAY; } - if (mCapabilities.count(Capability::SIDEBAND_STREAM) == 0) { + if (mCapabilities.count(AidlCapability::SIDEBAND_STREAM) == 0) { ALOGE("Attempted to call setSidebandStream without checking that the " "device supports sideband streams"); return Error::UNSUPPORTED; diff --git a/services/surfaceflinger/DisplayHardware/HWC2.h b/services/surfaceflinger/DisplayHardware/HWC2.h index 0a605a8515..b1839249d9 100644 --- a/services/surfaceflinger/DisplayHardware/HWC2.h +++ b/services/surfaceflinger/DisplayHardware/HWC2.h @@ -37,6 +37,7 @@ #include "ComposerHal.h" #include "Hal.h" +#include <aidl/android/hardware/graphics/composer3/Capability.h> #include <aidl/android/hardware/graphics/composer3/Color.h> #include <aidl/android/hardware/graphics/composer3/Composition.h> #include <aidl/android/hardware/graphics/composer3/DisplayCapability.h> @@ -169,8 +170,9 @@ class Layer; class Display : public HWC2::Display { public: - Display(android::Hwc2::Composer&, const std::unordered_set<hal::Capability>&, hal::HWDisplayId, - hal::DisplayType); + Display(android::Hwc2::Composer&, + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>&, + hal::HWDisplayId, hal::DisplayType); ~Display() override; // Required by HWC2 @@ -257,7 +259,8 @@ private: // this HWC2::Display, so these references are guaranteed to be valid for // the lifetime of this object. android::Hwc2::Composer& mComposer; - const std::unordered_set<hal::Capability>& mCapabilities; + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>& + mCapabilities; const hal::HWDisplayId mId; hal::DisplayType mType; @@ -329,8 +332,9 @@ namespace impl { class Layer : public HWC2::Layer { public: Layer(android::Hwc2::Composer& composer, - const std::unordered_set<hal::Capability>& capabilities, HWC2::Display& display, - hal::HWLayerId layerId); + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>& + capabilities, + HWC2::Display& display, hal::HWLayerId layerId); ~Layer() override; void onOwningDisplayDestroyed(); @@ -373,7 +377,8 @@ private: // this HWC2::Layer, so these references are guaranteed to be valid for // the lifetime of this object. android::Hwc2::Composer& mComposer; - const std::unordered_set<hal::Capability>& mCapabilities; + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>& + mCapabilities; HWC2::Display* mDisplay; hal::HWLayerId mId; diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp index 2696bd8207..0ed4ec9ccc 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp +++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp @@ -71,6 +71,8 @@ #define RETURN_IF_HWC_ERROR(error, displayId, ...) \ RETURN_IF_HWC_ERROR_FOR(__FUNCTION__, error, displayId, __VA_ARGS__) +using aidl::android::hardware::graphics::composer3::Capability; +using aidl::android::hardware::graphics::composer3::DisplayCapability; namespace hal = android::hardware::graphics::composer::hal; namespace android { @@ -118,13 +120,11 @@ bool HWComposer::getDisplayIdentificationData(hal::HWDisplayId hwcDisplayId, uin return true; } -bool HWComposer::hasCapability(hal::Capability capability) const { +bool HWComposer::hasCapability(Capability capability) const { return mCapabilities.count(capability) > 0; } -bool HWComposer::hasDisplayCapability( - HalDisplayId displayId, - aidl::android::hardware::graphics::composer3::DisplayCapability capability) const { +bool HWComposer::hasDisplayCapability(HalDisplayId displayId, DisplayCapability capability) const { RETURN_IF_INVALID_DISPLAY(displayId, false); return mDisplayData.at(displayId).hwcDisplay->hasCapability(capability); } @@ -952,7 +952,7 @@ void HWComposer::loadCapabilities() { static_assert(sizeof(hal::Capability) == sizeof(int32_t), "Capability size has changed"); auto capabilities = mComposer->getCapabilities(); for (auto capability : capabilities) { - mCapabilities.emplace(static_cast<hal::Capability>(capability)); + mCapabilities.emplace(capability); } } diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.h b/services/surfaceflinger/DisplayHardware/HWComposer.h index 29335d56e5..1376f5175e 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.h +++ b/services/surfaceflinger/DisplayHardware/HWComposer.h @@ -43,6 +43,7 @@ #include "HWC2.h" #include "Hal.h" +#include <aidl/android/hardware/graphics/composer3/Capability.h> #include <aidl/android/hardware/graphics/composer3/Composition.h> #include <aidl/android/hardware/graphics/composer3/DisplayCapability.h> @@ -110,7 +111,7 @@ public: virtual bool getDisplayIdentificationData(hal::HWDisplayId, uint8_t* outPort, DisplayIdentificationData* outData) const = 0; - virtual bool hasCapability(hal::Capability) const = 0; + virtual bool hasCapability(aidl::android::hardware::graphics::composer3::Capability) const = 0; virtual bool hasDisplayCapability( HalDisplayId, aidl::android::hardware::graphics::composer3::DisplayCapability) const = 0; @@ -277,7 +278,7 @@ public: bool getDisplayIdentificationData(hal::HWDisplayId, uint8_t* outPort, DisplayIdentificationData* outData) const override; - bool hasCapability(hal::Capability) const override; + bool hasCapability(aidl::android::hardware::graphics::composer3::Capability) const override; bool hasDisplayCapability( HalDisplayId, aidl::android::hardware::graphics::composer3::DisplayCapability) const override; @@ -447,7 +448,7 @@ private: std::unordered_map<HalDisplayId, DisplayData> mDisplayData; std::unique_ptr<android::Hwc2::Composer> mComposer; - std::unordered_set<hal::Capability> mCapabilities; + std::unordered_set<aidl::android::hardware::graphics::composer3::Capability> mCapabilities; std::unordered_map<std::string, bool> mSupportedLayerGenericMetadata; bool mRegisteredCallback = false; diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp index 746ac64865..25f03be899 100644 --- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp +++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp @@ -36,6 +36,7 @@ #include <algorithm> #include <cinttypes> +using aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::DisplayCapability; namespace android { @@ -168,6 +169,20 @@ Error unwrapRet(Return<Error>& ret) { return unwrapRet(ret, kDefaultError); } +template <typename To, typename From> +To translate(From x) { + return static_cast<To>(x); +} + +template <typename To, typename From> +std::vector<To> translate(const hidl_vec<From>& in) { + std::vector<To> out; + out.reserve(in.size()); + std::transform(in.begin(), in.end(), std::back_inserter(out), + [](From x) { return translate<To>(x); }); + return out; +} + } // anonymous namespace HidlComposer::HidlComposer(const std::string& serviceName) : mWriter(kWriterInitialSize) { @@ -225,10 +240,11 @@ bool HidlComposer::isSupported(OptionalFeature feature) const { } } -std::vector<IComposer::Capability> HidlComposer::getCapabilities() { - std::vector<IComposer::Capability> capabilities; - mComposer->getCapabilities( - [&](const auto& tmpCapabilities) { capabilities = tmpCapabilities; }); +std::vector<Capability> HidlComposer::getCapabilities() { + std::vector<Capability> capabilities; + mComposer->getCapabilities([&](const auto& tmpCapabilities) { + capabilities = translate<Capability>(tmpCapabilities); + }); return capabilities; } @@ -1101,15 +1117,6 @@ Error HidlComposer::setDisplayBrightness(Display display, float brightness, // Composer HAL 2.4 -namespace { -template <typename T> -void copyCapabilities(const T& tmpCaps, std::vector<DisplayCapability>* outCapabilities) { - outCapabilities->resize(tmpCaps.size()); - std::transform(tmpCaps.begin(), tmpCaps.end(), outCapabilities->begin(), - [](auto cap) { return static_cast<DisplayCapability>(cap); }); -} -} // anonymous namespace - Error HidlComposer::getDisplayCapabilities(Display display, std::vector<DisplayCapability>* outCapabilities) { if (!mClient_2_3) { @@ -1124,7 +1131,8 @@ Error HidlComposer::getDisplayCapabilities(Display display, if (error != V2_4::Error::NONE) { return; } - copyCapabilities(tmpCaps, outCapabilities); + *outCapabilities = + translate<DisplayCapability>(tmpCaps); }); } else { mClient_2_3 @@ -1134,7 +1142,7 @@ Error HidlComposer::getDisplayCapabilities(Display display, return; } - copyCapabilities(tmpCaps, outCapabilities); + *outCapabilities = translate<DisplayCapability>(tmpCaps); }); } diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.h b/services/surfaceflinger/DisplayHardware/HidlComposerHal.h index 1ffca6e0ae..0f155980c3 100644 --- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.h +++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.h @@ -169,7 +169,8 @@ public: bool isSupported(OptionalFeature) const; - std::vector<IComposer::Capability> getCapabilities() override; + std::vector<aidl::android::hardware::graphics::composer3::Capability> getCapabilities() + override; std::string dumpDebugInfo() override; void registerCallback(HWC2::ComposerCallback& callback) override; diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 5ccb5ebb8f..b76233c59f 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -163,6 +163,7 @@ #define NO_THREAD_SAFETY_ANALYSIS \ _Pragma("GCC error \"Prefer MAIN_THREAD macros or {Conditional,Timed,Unnecessary}Lock.\"") +using aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::DisplayCapability; namespace android { @@ -891,7 +892,7 @@ void SurfaceFlinger::init() { // Inform native graphics APIs whether the present timestamp is supported: const bool presentFenceReliable = - !getHwComposer().hasCapability(hal::Capability::PRESENT_FENCE_IS_NOT_RELIABLE); + !getHwComposer().hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE); mStartPropertySetThread = getFactory().createStartPropertySetThread(presentFenceReliable); if (mStartPropertySetThread->Start() != NO_ERROR) { @@ -955,7 +956,7 @@ status_t SurfaceFlinger::getSupportedFrameTimestamps( }; ConditionalLock _l(mStateLock, std::this_thread::get_id() != mMainThreadId); - if (!getHwComposer().hasCapability(hal::Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { + if (!getHwComposer().hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { outSupported->push_back(FrameEvent::DISPLAY_PRESENT); } return NO_ERROR; @@ -3377,7 +3378,7 @@ void SurfaceFlinger::initScheduler(const sp<DisplayDevice>& display) { features |= Feature::kTracePredictedVsync; } if (!base::GetBoolProperty("debug.sf.vsync_reactor_ignore_present_fences"s, false) && - !getHwComposer().hasCapability(hal::Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { + !getHwComposer().hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { features |= Feature::kPresentFences; } diff --git a/services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer.cpp b/services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer.cpp index 816d2f1f71..3c4ab95c50 100644 --- a/services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer.cpp +++ b/services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer.cpp @@ -44,6 +44,7 @@ namespace android::fuzz { using namespace android::hardware::graphics::common; using namespace android::hardware::graphics::composer; +namespace aidl = aidl::android::hardware::graphics::composer3; namespace hal = android::hardware::graphics::composer::hal; using Config = hal::V2_1::Config; using Display = hal::V2_1::Display; @@ -58,10 +59,11 @@ static constexpr hal::Transform kTransforms[] = {hal::Transform::FLIP_H, hal::Tr hal::Transform::ROT_90, hal::Transform::ROT_180, hal::Transform::ROT_270}; -static constexpr hal::Capability kCapability[] = {hal::Capability::INVALID, - hal::Capability::SIDEBAND_STREAM, - hal::Capability::SKIP_CLIENT_COLOR_TRANSFORM, - hal::Capability::PRESENT_FENCE_IS_NOT_RELIABLE}; +static constexpr aidl::Capability kCapability[] = {aidl::Capability::INVALID, + aidl::Capability::SIDEBAND_STREAM, + aidl::Capability::SKIP_CLIENT_COLOR_TRANSFORM, + aidl::Capability::PRESENT_FENCE_IS_NOT_RELIABLE, + aidl::Capability::SKIP_VALIDATE}; static constexpr hal::BlendMode kBlendModes[] = {hal::BlendMode::INVALID, hal::BlendMode::NONE, hal::BlendMode::PREMULTIPLIED, diff --git a/services/surfaceflinger/tests/unittests/CompositionTest.cpp b/services/surfaceflinger/tests/unittests/CompositionTest.cpp index 3716f59c26..16690757e9 100644 --- a/services/surfaceflinger/tests/unittests/CompositionTest.cpp +++ b/services/surfaceflinger/tests/unittests/CompositionTest.cpp @@ -61,6 +61,8 @@ using hal::IComposerClient; using hal::PowerMode; using hal::Transform; +using aidl::android::hardware::graphics::composer3::Capability; + using testing::_; using testing::AtLeast; using testing::DoAll; @@ -169,7 +171,7 @@ public: template <typename Case> void captureScreenComposition(); - std::unordered_set<hal::Capability> mDefaultCapabilities = {hal::Capability::SIDEBAND_STREAM}; + std::unordered_set<Capability> mDefaultCapabilities = {Capability::SIDEBAND_STREAM}; bool mDisplayOff = false; TestableSurfaceFlinger mFlinger; diff --git a/services/surfaceflinger/tests/unittests/HWComposerTest.cpp b/services/surfaceflinger/tests/unittests/HWComposerTest.cpp index 0069441499..5241604cd0 100644 --- a/services/surfaceflinger/tests/unittests/HWComposerTest.cpp +++ b/services/surfaceflinger/tests/unittests/HWComposerTest.cpp @@ -48,6 +48,7 @@ namespace { namespace V2_1 = hardware::graphics::composer::V2_1; namespace V2_4 = hardware::graphics::composer::V2_4; +namespace aidl = aidl::android::hardware::graphics::composer3; using Hwc2::Config; @@ -103,7 +104,7 @@ TEST_F(HWComposerSetCallbackTest, loadsLayerMetadataSupport) { const std::string kMetadata2Name = "com.example.metadata.2"; constexpr bool kMetadata2Mandatory = true; - EXPECT_CALL(*mHal, getCapabilities()).WillOnce(Return(std::vector<hal::Capability>{})); + EXPECT_CALL(*mHal, getCapabilities()).WillOnce(Return(std::vector<aidl::Capability>{})); EXPECT_CALL(*mHal, getLayerGenericMetadataKeys(_)) .WillOnce(DoAll(SetArgPointee<0>(std::vector<hal::LayerGenericMetadataKey>{ {kMetadata1Name, kMetadata1Mandatory}, @@ -124,7 +125,7 @@ TEST_F(HWComposerSetCallbackTest, loadsLayerMetadataSupport) { } TEST_F(HWComposerSetCallbackTest, handlesUnsupportedCallToGetLayerGenericMetadataKeys) { - EXPECT_CALL(*mHal, getCapabilities()).WillOnce(Return(std::vector<hal::Capability>{})); + EXPECT_CALL(*mHal, getCapabilities()).WillOnce(Return(std::vector<aidl::Capability>{})); EXPECT_CALL(*mHal, getLayerGenericMetadataKeys(_)) .WillOnce(Return(hardware::graphics::composer::V2_4::Error::UNSUPPORTED)); EXPECT_CALL(*mHal, registerCallback(_)); @@ -140,7 +141,7 @@ struct HWComposerLayerTest : public testing::Test { static constexpr hal::HWDisplayId kDisplayId = static_cast<hal::HWDisplayId>(1001); static constexpr hal::HWLayerId kLayerId = static_cast<hal::HWLayerId>(1002); - HWComposerLayerTest(const std::unordered_set<hal::Capability>& capabilities) + HWComposerLayerTest(const std::unordered_set<aidl::Capability>& capabilities) : mCapabilies(capabilities) { EXPECT_CALL(mDisplay, getId()).WillRepeatedly(Return(kDisplayId)); } @@ -151,7 +152,7 @@ struct HWComposerLayerTest : public testing::Test { } std::unique_ptr<Hwc2::mock::Composer> mHal{new StrictMock<Hwc2::mock::Composer>()}; - const std::unordered_set<hal::Capability> mCapabilies; + const std::unordered_set<aidl::Capability> mCapabilies; StrictMock<HWC2::mock::Display> mDisplay; HWC2::impl::Layer mLayer{*mHal, mCapabilies, mDisplay, kLayerId}; }; diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h index 4fe1e98dbe..8cadb3175a 100644 --- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h +++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h @@ -526,9 +526,11 @@ public: * preconditions and assert post-conditions. */ struct HWC2Display : public HWC2::impl::Display { - HWC2Display(Hwc2::Composer& composer, - const std::unordered_set<hal::Capability>& capabilities, hal::HWDisplayId id, - hal::DisplayType type) + HWC2Display( + Hwc2::Composer& composer, + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>& + capabilities, + hal::HWDisplayId id, hal::DisplayType type) : HWC2::impl::Display(composer, capabilities, id, type) {} ~HWC2Display() { // Prevents a call to disable vsyncs. @@ -589,7 +591,9 @@ public: return *this; } - auto& setCapabilities(const std::unordered_set<hal::Capability>* capabilities) { + auto& setCapabilities( + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>* + capabilities) { mCapabilities = capabilities; return *this; } @@ -605,7 +609,9 @@ public: using ::testing::Return; using ::testing::SetArgPointee; - static const std::unordered_set<hal::Capability> defaultCapabilities; + static const std::unordered_set< + aidl::android::hardware::graphics::composer3::Capability> + defaultCapabilities; if (mCapabilities == nullptr) mCapabilities = &defaultCapabilities; // Caution - Make sure that any values passed by reference here do @@ -682,7 +688,8 @@ public: int32_t mConfigGroup = DEFAULT_CONFIG_GROUP; hal::HWConfigId mActiveConfig = DEFAULT_ACTIVE_CONFIG; hal::PowerMode mPowerMode = DEFAULT_POWER_MODE; - const std::unordered_set<hal::Capability>* mCapabilities = nullptr; + const std::unordered_set<aidl::android::hardware::graphics::composer3::Capability>* + mCapabilities = nullptr; }; class FakeDisplayDeviceInjector { diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockComposer.h b/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockComposer.h index 0765d5b59c..ce9ec9609c 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockComposer.h +++ b/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockComposer.h @@ -50,7 +50,8 @@ public: ~Composer() override; MOCK_METHOD(bool, isSupported, (OptionalFeature), (const, override)); - MOCK_METHOD0(getCapabilities, std::vector<IComposer::Capability>()); + MOCK_METHOD0(getCapabilities, + std::vector<aidl::android::hardware::graphics::composer3::Capability>()); MOCK_METHOD0(dumpDebugInfo, std::string()); MOCK_METHOD1(registerCallback, void(HWC2::ComposerCallback&)); MOCK_METHOD0(resetCommands, void()); |