diff --git a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h index 1b4079507a..3792c2e4a0 100644 --- a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h +++ b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h @@ -22,7 +22,6 @@ #include #include -#include #include #include diff --git a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h index e2bed95fae..4829e24daa 100644 --- a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h +++ b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h @@ -221,10 +221,6 @@ class HwcHalImpl : public V2_2::passthrough::detail::HwcHalImpl { Error getDisplayCapabilities( Display display, hidl_vec* outCapabilities) override { - if (!mDispatch.getDisplayCapabilities) { - return Error::UNSUPPORTED; - } - uint32_t count = 0; int32_t error = mDispatch.getDisplayCapabilities(mDevice, display, &count, nullptr); if (error != HWC2_ERROR_NONE) { diff --git a/graphics/composer/2.3/utils/vts/ComposerVts.cpp b/graphics/composer/2.3/utils/vts/ComposerVts.cpp index 4de85d6aa4..b7632097ab 100644 --- a/graphics/composer/2.3/utils/vts/ComposerVts.cpp +++ b/graphics/composer/2.3/utils/vts/ComposerVts.cpp @@ -177,13 +177,17 @@ Error ComposerClient::getDisplayedContentSample(uint64_t display, uint64_t maxFr return error; } -std::vector ComposerClient::getDisplayCapabilities( - Display display) { +Error ComposerClient::getDisplayCapabilities( + Display display, std::vector* outCapabilities) { std::vector capabilities; - mClient->getDisplayCapabilities( - display, [&](const auto&, const auto& tmpCapabilities) { capabilities = tmpCapabilities; }); + Error error = Error::NONE; + mClient->getDisplayCapabilities(display, + [&](const auto& tmpError, const auto& tmpCapabilities) { + error = tmpError; + *outCapabilities = tmpCapabilities; + }); - return capabilities; + return error; } bool ComposerClient::getDisplayBrightnessSupport(Display display) { diff --git a/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h b/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h index a0e764d5e6..0d4e5b8d5b 100644 --- a/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h +++ b/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h @@ -95,7 +95,9 @@ class ComposerClient : public V2_2::vts::ComposerClient { bool getClientTargetSupport_2_3(Display display, uint32_t width, uint32_t height, PixelFormat format, Dataspace dataspace); - std::vector getDisplayCapabilities(Display display); + Error getDisplayCapabilities( + Display display, + std::vector* outDisplayCapabilities); std::vector getPerFrameMetadataKeys_2_3(Display display); diff --git a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp index b983e42d16..56b2e337ae 100644 --- a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp +++ b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp @@ -565,16 +565,19 @@ TEST_F(GraphicsComposerHidlTest, GetDisplayedContentSample) { * Test some constraints. */ TEST_F(GraphicsComposerHidlTest, getDisplayCapabilitiesBasic) { - auto capabilities = mComposerClient->getDisplayCapabilities(mPrimaryDisplay); - bool hasDozeSupport = std::find(capabilities.begin(), capabilities.end(), - IComposerClient::DisplayCapability::DOZE) != capabilities.end(); + std::vector capabilities; + const auto error = mComposerClient->getDisplayCapabilities(mPrimaryDisplay, &capabilities); + ASSERT_EQ(Error::NONE, error); + const bool hasDozeSupport = + std::find(capabilities.begin(), capabilities.end(), + IComposerClient::DisplayCapability::DOZE) != capabilities.end(); EXPECT_EQ(mComposerClient->getDozeSupport(mPrimaryDisplay), hasDozeSupport); } TEST_F(GraphicsComposerHidlTest, getDisplayCapabilitiesBadDisplay) { - mComposerClient->getRaw()->getDisplayCapabilities( - mInvalidDisplayId, - [&](const auto& tmpError, const auto&) { EXPECT_EQ(Error::BAD_DISPLAY, tmpError); }); + std::vector capabilities; + const auto error = mComposerClient->getDisplayCapabilities(mInvalidDisplayId, &capabilities); + EXPECT_EQ(Error::BAD_DISPLAY, error); } TEST_F(GraphicsComposerHidlTest, SetLayerPerFrameMetadataBlobs) { @@ -604,7 +607,9 @@ TEST_F(GraphicsComposerHidlTest, SetLayerPerFrameMetadataBlobs) { * Test that getDisplayBrightnessSupport works as expected. */ TEST_F(GraphicsComposerHidlTest, getDisplayBrightnessSupport) { - auto capabilities = mComposerClient->getDisplayCapabilities(mPrimaryDisplay); + std::vector capabilities; + const auto error = mComposerClient->getDisplayCapabilities(mPrimaryDisplay, &capabilities); + ASSERT_EQ(Error::NONE, error); bool brightnessSupport = std::find(capabilities.begin(), capabilities.end(), IComposerClient::DisplayCapability::BRIGHTNESS) != capabilities.end(); @@ -616,9 +621,9 @@ TEST_F(GraphicsComposerHidlTest, getDisplayBrightnessSupport) { */ TEST_F(GraphicsComposerHidlTest, setDisplayBrightness) { if (!mComposerClient->getDisplayBrightnessSupport(mPrimaryDisplay)) { - EXPECT_EQ(mComposerClient->getRaw()->setDisplayBrightness(mPrimaryDisplay, 0.5f), - Error::UNSUPPORTED); + EXPECT_EQ(mComposerClient->setDisplayBrightness(mPrimaryDisplay, 0.5f), Error::UNSUPPORTED); GTEST_SUCCEED() << "Brightness operations are not supported"; + return; } EXPECT_EQ(mComposerClient->setDisplayBrightness(mPrimaryDisplay, 0.0f), Error::NONE);