Loading graphics/composer/aidl/include/android/hardware/graphics/composer3/ComposerClientWriter.h +2 −1 Original line number Diff line number Diff line Loading @@ -297,7 +297,8 @@ class ComposerClientWriter final { DisplayCommand& getDisplayCommand(int64_t display) { if (!mDisplayCommand.has_value() || mDisplayCommand->display != display) { LOG_ALWAYS_FATAL_IF(display != mDisplay); LOG_ALWAYS_FATAL_IF(display != mDisplay, "Expected display %" PRId64 ", got %" PRId64, mDisplay, display); flushLayerCommand(); flushDisplayCommand(); mDisplayCommand.emplace(); Loading graphics/composer/aidl/libhwc_aidl_test/ComposerClientWrapper.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -62,8 +62,9 @@ ScopedAStatus ComposerClientWrapper::createClient() { return mComposerClient->registerCallback(mComposerCallback); } bool ComposerClientWrapper::tearDown(ComposerClientWriter* writer) { return verifyComposerCallbackParams() && destroyAllLayers(writer); bool ComposerClientWrapper::tearDown( std::unordered_map<int64_t, ComposerClientWriter*> displayWriters) { return verifyComposerCallbackParams() && destroyAllLayers(displayWriters); } std::pair<ScopedAStatus, int32_t> ComposerClientWrapper::getInterfaceVersion() const { Loading Loading @@ -663,12 +664,16 @@ bool ComposerClientWrapper::getDisplayConfigurationSupported() const { return interfaceVersion >= 3; } bool ComposerClientWrapper::destroyAllLayers(ComposerClientWriter* writer) { bool ComposerClientWrapper::destroyAllLayers( std::unordered_map<int64_t, ComposerClientWriter*> displayWriters) { std::unordered_map<int64_t, DisplayResource> physicalDisplays; while (!mDisplayResources.empty()) { const auto& it = mDisplayResources.begin(); const auto& [display, resource] = *it; ComposerClientWriter* writer = displayWriters.count(display) > 0 ? displayWriters.at(display) : nullptr; while (!resource.layers.empty()) { auto layer = *resource.layers.begin(); const auto status = destroyLayer(display, layer, writer); Loading graphics/composer/aidl/libhwc_aidl_test/include/ComposerClientWrapper.h +3 −3 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ class ComposerClientWrapper { ScopedAStatus createClient(); bool tearDown(ComposerClientWriter*); bool tearDown(std::unordered_map<int64_t, ComposerClientWriter*> displayWriters); std::pair<ScopedAStatus, int32_t> getInterfaceVersion() const; Loading Loading @@ -218,7 +218,7 @@ class ComposerClientWrapper { void removeLayerFromDisplayResources(int64_t display, int64_t layer); bool destroyAllLayers(ComposerClientWriter*); bool destroyAllLayers(std::unordered_map<int64_t, ComposerClientWriter*> displayWriters); bool verifyComposerCallbackParams(); Loading @@ -242,7 +242,7 @@ class ComposerClientWrapper { class DisplayWrapper { public: DisplayWrapper(int64_t displayId) explicit DisplayWrapper(int64_t displayId) : mDisplayId(displayId), mDisplayWidth(0), mDisplayHeight(0) {} int64_t getDisplayId() const { return mDisplayId; } Loading graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,9 @@ class GraphicsCompositionTestBase : public ::testing::Test { void TearDown() override { ASSERT_FALSE(mDisplays.empty()); ASSERT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); ASSERT_TRUE(mComposerClient->tearDown(mWriter.get())); std::unordered_map<int64_t, ComposerClientWriter*> displayWriters; displayWriters.emplace(getPrimaryDisplayId(), mWriter.get()); ASSERT_TRUE(mComposerClient->tearDown(displayWriters)); mComposerClient.reset(); const auto errors = mReader.takeErrors(); ASSERT_TRUE(mReader.takeErrors().empty()); Loading Loading
graphics/composer/aidl/include/android/hardware/graphics/composer3/ComposerClientWriter.h +2 −1 Original line number Diff line number Diff line Loading @@ -297,7 +297,8 @@ class ComposerClientWriter final { DisplayCommand& getDisplayCommand(int64_t display) { if (!mDisplayCommand.has_value() || mDisplayCommand->display != display) { LOG_ALWAYS_FATAL_IF(display != mDisplay); LOG_ALWAYS_FATAL_IF(display != mDisplay, "Expected display %" PRId64 ", got %" PRId64, mDisplay, display); flushLayerCommand(); flushDisplayCommand(); mDisplayCommand.emplace(); Loading
graphics/composer/aidl/libhwc_aidl_test/ComposerClientWrapper.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -62,8 +62,9 @@ ScopedAStatus ComposerClientWrapper::createClient() { return mComposerClient->registerCallback(mComposerCallback); } bool ComposerClientWrapper::tearDown(ComposerClientWriter* writer) { return verifyComposerCallbackParams() && destroyAllLayers(writer); bool ComposerClientWrapper::tearDown( std::unordered_map<int64_t, ComposerClientWriter*> displayWriters) { return verifyComposerCallbackParams() && destroyAllLayers(displayWriters); } std::pair<ScopedAStatus, int32_t> ComposerClientWrapper::getInterfaceVersion() const { Loading Loading @@ -663,12 +664,16 @@ bool ComposerClientWrapper::getDisplayConfigurationSupported() const { return interfaceVersion >= 3; } bool ComposerClientWrapper::destroyAllLayers(ComposerClientWriter* writer) { bool ComposerClientWrapper::destroyAllLayers( std::unordered_map<int64_t, ComposerClientWriter*> displayWriters) { std::unordered_map<int64_t, DisplayResource> physicalDisplays; while (!mDisplayResources.empty()) { const auto& it = mDisplayResources.begin(); const auto& [display, resource] = *it; ComposerClientWriter* writer = displayWriters.count(display) > 0 ? displayWriters.at(display) : nullptr; while (!resource.layers.empty()) { auto layer = *resource.layers.begin(); const auto status = destroyLayer(display, layer, writer); Loading
graphics/composer/aidl/libhwc_aidl_test/include/ComposerClientWrapper.h +3 −3 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ class ComposerClientWrapper { ScopedAStatus createClient(); bool tearDown(ComposerClientWriter*); bool tearDown(std::unordered_map<int64_t, ComposerClientWriter*> displayWriters); std::pair<ScopedAStatus, int32_t> getInterfaceVersion() const; Loading Loading @@ -218,7 +218,7 @@ class ComposerClientWrapper { void removeLayerFromDisplayResources(int64_t display, int64_t layer); bool destroyAllLayers(ComposerClientWriter*); bool destroyAllLayers(std::unordered_map<int64_t, ComposerClientWriter*> displayWriters); bool verifyComposerCallbackParams(); Loading @@ -242,7 +242,7 @@ class ComposerClientWrapper { class DisplayWrapper { public: DisplayWrapper(int64_t displayId) explicit DisplayWrapper(int64_t displayId) : mDisplayId(displayId), mDisplayWidth(0), mDisplayHeight(0) {} int64_t getDisplayId() const { return mDisplayId; } Loading
graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,9 @@ class GraphicsCompositionTestBase : public ::testing::Test { void TearDown() override { ASSERT_FALSE(mDisplays.empty()); ASSERT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); ASSERT_TRUE(mComposerClient->tearDown(mWriter.get())); std::unordered_map<int64_t, ComposerClientWriter*> displayWriters; displayWriters.emplace(getPrimaryDisplayId(), mWriter.get()); ASSERT_TRUE(mComposerClient->tearDown(displayWriters)); mComposerClient.reset(); const auto errors = mReader.takeErrors(); ASSERT_TRUE(mReader.takeErrors().empty()); Loading