Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16b5d8a9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix composer@2.3 VTS tests." into qt-dev

parents 605a9f4d f13b3055
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@

#include <android/hardware/graphics/composer/2.3/IComposerClient.h>
#include <composer-hal/2.2/ComposerResources.h>
#include <composer-hal/2.3/ComposerClient.h>
#include <composer-hal/2.3/ComposerCommandEngine.h>
#include <composer-hal/2.3/ComposerHal.h>

+0 −4
Original line number Diff line number Diff line
@@ -221,10 +221,6 @@ class HwcHalImpl : public V2_2::passthrough::detail::HwcHalImpl<Hal> {

    Error getDisplayCapabilities(
        Display display, hidl_vec<IComposerClient::DisplayCapability>* 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) {
+9 −5
Original line number Diff line number Diff line
@@ -177,13 +177,17 @@ Error ComposerClient::getDisplayedContentSample(uint64_t display, uint64_t maxFr
    return error;
}

std::vector<IComposerClient::DisplayCapability> ComposerClient::getDisplayCapabilities(
    Display display) {
Error ComposerClient::getDisplayCapabilities(
        Display display, std::vector<IComposerClient::DisplayCapability>* outCapabilities) {
    std::vector<IComposerClient::DisplayCapability> 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) {
+3 −1
Original line number Diff line number Diff line
@@ -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<IComposerClient::DisplayCapability> getDisplayCapabilities(Display display);
    Error getDisplayCapabilities(
            Display display,
            std::vector<IComposerClient::DisplayCapability>* outDisplayCapabilities);

    std::vector<IComposerClient::PerFrameMetadataKey> getPerFrameMetadataKeys_2_3(Display display);

+14 −9
Original line number Diff line number Diff line
@@ -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(),
    std::vector<IComposerClient::DisplayCapability> 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<IComposerClient::DisplayCapability> 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<IComposerClient::DisplayCapability> 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);