Loading graphics/composer/aidl/vts/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ cc_test { "libarect", "libbase", "libfmq", "libgmock", "libgtest", "libmath", "librenderengine", Loading graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +36 −26 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <android/hardware/graphics/composer3/ComposerClientWriter.h> #include <binder/ProcessState.h> #include <cutils/ashmem.h> #include <gmock/gmock.h> #include <gtest/gtest.h> #include <ui/Fence.h> #include <ui/GraphicBuffer.h> Loading @@ -47,6 +48,8 @@ #undef LOG_TAG #define LOG_TAG "VtsHalGraphicsComposer3_TargetTest" using testing::Ge; namespace aidl::android::hardware::graphics::composer3::vts { using namespace std::chrono_literals; Loading Loading @@ -1399,14 +1402,6 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigsIsSubsetOfGetDisplayConfigur } } TEST_P(GraphicsComposerAidlV3Test, GetMaxLayerPictureProfiles) { for (const auto& display : mDisplays) { const auto& [status, maxPorfiles] = mComposerClient->getMaxLayerPictureProfiles(display.getDisplayId()); EXPECT_TRUE(status.isOk()); } } // Tests for Command. class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { protected: Loading Loading @@ -3239,19 +3234,44 @@ TEST_P(GraphicsComposerAidlCommandV3Test, frameIntervalChangeAtPresentFrame) { }); } TEST_P(GraphicsComposerAidlCommandV3Test, getMaxLayerPictureProfiles_success) { class GraphicsComposerAidlCommandV4Test : public GraphicsComposerAidlCommandTest { protected: void SetUp() override { GraphicsComposerAidlTest::SetUp(); if (getInterfaceVersion() <= 3) { GTEST_SKIP() << "Device interface version is expected to be >= 4"; } } }; TEST_P(GraphicsComposerAidlCommandV4Test, getMaxLayerPictureProfiles_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { continue; } const auto& [status, maxProfiles] = mComposerClient->getMaxLayerPictureProfiles(getPrimaryDisplayId()); mComposerClient->getMaxLayerPictureProfiles(displayId); EXPECT_TRUE(status.isOk()); EXPECT_THAT(maxProfiles, Ge(0)); } } TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { TEST_P(GraphicsComposerAidlCommandV4Test, getMaxLayerPictureProfiles_unsupported) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { continue; } const auto& [status, maxProfiles] = mComposerClient->getMaxLayerPictureProfiles(displayId); EXPECT_FALSE(status.isOk()); EXPECT_NO_FATAL_FAILURE( assertServiceSpecificError(status, IComposerClient::EX_UNSUPPORTED)); } } TEST_P(GraphicsComposerAidlCommandV4Test, setDisplayPictureProfileId_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3262,7 +3282,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { const auto layer = createOnScreenLayer(display); const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); ASSERT_NE(nullptr, buffer->handle); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setDisplayPictureProfileId(displayId, PictureProfileId(1)); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); Loading @@ -3271,7 +3291,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { } } TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_success) { TEST_P(GraphicsComposerAidlCommandV4Test, setLayerPictureProfileId_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3289,14 +3309,14 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_success) { ASSERT_NE(nullptr, buffer->handle); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setLayerPictureProfileId(displayId, layer, PictureProfileId(1)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); } } TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooManyProfiles) { TEST_P(GraphicsComposerAidlCommandV4Test, setLayerPictureProfileId_failsWithTooManyProfiles) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3315,7 +3335,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooM ASSERT_NE(nullptr, buffer->handle); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setLayerPictureProfileId(displayId, layer, PictureProfileId(profileId)); } execute(); Loading @@ -3325,16 +3345,6 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooM } } class GraphicsComposerAidlCommandV4Test : public GraphicsComposerAidlCommandTest { protected: void SetUp() override { GraphicsComposerAidlTest::SetUp(); if (getInterfaceVersion() <= 3) { GTEST_SKIP() << "Device interface version is expected to be >= 4"; } } }; TEST_P(GraphicsComposerAidlCommandV4Test, SetUnsupportedLayerLuts) { auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = Loading Loading
graphics/composer/aidl/vts/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ cc_test { "libarect", "libbase", "libfmq", "libgmock", "libgtest", "libmath", "librenderengine", Loading
graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +36 −26 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <android/hardware/graphics/composer3/ComposerClientWriter.h> #include <binder/ProcessState.h> #include <cutils/ashmem.h> #include <gmock/gmock.h> #include <gtest/gtest.h> #include <ui/Fence.h> #include <ui/GraphicBuffer.h> Loading @@ -47,6 +48,8 @@ #undef LOG_TAG #define LOG_TAG "VtsHalGraphicsComposer3_TargetTest" using testing::Ge; namespace aidl::android::hardware::graphics::composer3::vts { using namespace std::chrono_literals; Loading Loading @@ -1399,14 +1402,6 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigsIsSubsetOfGetDisplayConfigur } } TEST_P(GraphicsComposerAidlV3Test, GetMaxLayerPictureProfiles) { for (const auto& display : mDisplays) { const auto& [status, maxPorfiles] = mComposerClient->getMaxLayerPictureProfiles(display.getDisplayId()); EXPECT_TRUE(status.isOk()); } } // Tests for Command. class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { protected: Loading Loading @@ -3239,19 +3234,44 @@ TEST_P(GraphicsComposerAidlCommandV3Test, frameIntervalChangeAtPresentFrame) { }); } TEST_P(GraphicsComposerAidlCommandV3Test, getMaxLayerPictureProfiles_success) { class GraphicsComposerAidlCommandV4Test : public GraphicsComposerAidlCommandTest { protected: void SetUp() override { GraphicsComposerAidlTest::SetUp(); if (getInterfaceVersion() <= 3) { GTEST_SKIP() << "Device interface version is expected to be >= 4"; } } }; TEST_P(GraphicsComposerAidlCommandV4Test, getMaxLayerPictureProfiles_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { continue; } const auto& [status, maxProfiles] = mComposerClient->getMaxLayerPictureProfiles(getPrimaryDisplayId()); mComposerClient->getMaxLayerPictureProfiles(displayId); EXPECT_TRUE(status.isOk()); EXPECT_THAT(maxProfiles, Ge(0)); } } TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { TEST_P(GraphicsComposerAidlCommandV4Test, getMaxLayerPictureProfiles_unsupported) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { continue; } const auto& [status, maxProfiles] = mComposerClient->getMaxLayerPictureProfiles(displayId); EXPECT_FALSE(status.isOk()); EXPECT_NO_FATAL_FAILURE( assertServiceSpecificError(status, IComposerClient::EX_UNSUPPORTED)); } } TEST_P(GraphicsComposerAidlCommandV4Test, setDisplayPictureProfileId_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3262,7 +3282,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { const auto layer = createOnScreenLayer(display); const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); ASSERT_NE(nullptr, buffer->handle); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setDisplayPictureProfileId(displayId, PictureProfileId(1)); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); Loading @@ -3271,7 +3291,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setDisplayPictureProfileId_success) { } } TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_success) { TEST_P(GraphicsComposerAidlCommandV4Test, setLayerPictureProfileId_success) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3289,14 +3309,14 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_success) { ASSERT_NE(nullptr, buffer->handle); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setLayerPictureProfileId(displayId, layer, PictureProfileId(1)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); } } TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooManyProfiles) { TEST_P(GraphicsComposerAidlCommandV4Test, setLayerPictureProfileId_failsWithTooManyProfiles) { for (auto& display : mDisplays) { int64_t displayId = display.getDisplayId(); if (!hasDisplayCapability(displayId, DisplayCapability::PICTURE_PROCESSING)) { Loading @@ -3315,7 +3335,7 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooM ASSERT_NE(nullptr, buffer->handle); writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); // TODO(b/337330263): Lookup profile IDs from PictureProfileService // TODO(b/337330263): Lookup profile IDs from MediaQualityManager writer.setLayerPictureProfileId(displayId, layer, PictureProfileId(profileId)); } execute(); Loading @@ -3325,16 +3345,6 @@ TEST_P(GraphicsComposerAidlCommandV3Test, setLayerPictureProfileId_failsWithTooM } } class GraphicsComposerAidlCommandV4Test : public GraphicsComposerAidlCommandTest { protected: void SetUp() override { GraphicsComposerAidlTest::SetUp(); if (getInterfaceVersion() <= 3) { GTEST_SKIP() << "Device interface version is expected to be >= 4"; } } }; TEST_P(GraphicsComposerAidlCommandV4Test, SetUnsupportedLayerLuts) { auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = Loading