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

Commit 9bc061a6 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7579269 from 6a80d3f1 to sc-v2-release

Change-Id: I3096760c9139d6e18fd7726608971a7094e13976
parents 8d419778 6a80d3f1
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -47,9 +47,7 @@ public:

    MOCK_CONST_METHOD0(getMaxVirtualDisplayCount, size_t());
    MOCK_CONST_METHOD0(getMaxVirtualDisplayDimension, size_t());
    MOCK_METHOD4(allocateVirtualDisplay,
                 bool(HalVirtualDisplayId, ui::Size, ui::PixelFormat*,
                      std::optional<PhysicalDisplayId>));
    MOCK_METHOD3(allocateVirtualDisplay, bool(HalVirtualDisplayId, ui::Size, ui::PixelFormat*));
    MOCK_METHOD2(allocatePhysicalDisplay, void(hal::HWDisplayId, PhysicalDisplayId));
    MOCK_METHOD1(createLayer, std::shared_ptr<HWC2::Layer>(HalDisplayId));
    MOCK_METHOD5(getDeviceCompositionChanges,
+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ uint32_t Composer::getMaxVirtualDisplayCount()
}

Error Composer::createVirtualDisplay(uint32_t width, uint32_t height, PixelFormat* format,
                                     std::optional<Display>, Display* outDisplay) {
                                     Display* outDisplay) {
    const uint32_t bufferSlotCount = 1;
    Error error = kDefaultError;
    if (mClient_2_2) {
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ public:

    virtual uint32_t getMaxVirtualDisplayCount() = 0;
    virtual Error createVirtualDisplay(uint32_t width, uint32_t height, PixelFormat*,
                                       std::optional<Display> mirror, Display* outDisplay) = 0;
                                       Display* outDisplay) = 0;
    virtual Error destroyVirtualDisplay(Display display) = 0;

    virtual Error acceptDisplayChanges(Display display) = 0;
@@ -342,7 +342,7 @@ public:

    uint32_t getMaxVirtualDisplayCount() override;
    Error createVirtualDisplay(uint32_t width, uint32_t height, PixelFormat* format,
                               std::optional<Display> mirror, Display* outDisplay) override;
                               Display* outDisplay) override;
    Error destroyVirtualDisplay(Display display) override;

    Error acceptDisplayChanges(Display display) override;
+2 −8
Original line number Diff line number Diff line
@@ -245,8 +245,7 @@ size_t HWComposer::getMaxVirtualDisplayDimension() const {
}

bool HWComposer::allocateVirtualDisplay(HalVirtualDisplayId displayId, ui::Size resolution,
                                        ui::PixelFormat* format,
                                        std::optional<PhysicalDisplayId> mirror) {
                                        ui::PixelFormat* format) {
    if (!resolution.isValid()) {
        ALOGE("%s: Invalid resolution %dx%d", __func__, resolution.width, resolution.height);
        return false;
@@ -262,14 +261,9 @@ bool HWComposer::allocateVirtualDisplay(HalVirtualDisplayId displayId, ui::Size
        return false;
    }

    std::optional<hal::HWDisplayId> hwcMirrorId;
    if (mirror) {
        hwcMirrorId = fromPhysicalDisplayId(*mirror);
    }

    hal::HWDisplayId hwcDisplayId;
    const auto error = static_cast<hal::Error>(
            mComposer->createVirtualDisplay(width, height, format, hwcMirrorId, &hwcDisplayId));
            mComposer->createVirtualDisplay(width, height, format, &hwcDisplayId));
    RETURN_IF_HWC_ERROR_FOR("createVirtualDisplay", error, displayId, false);

    auto display = std::make_unique<HWC2::impl::Display>(*mComposer.get(), mCapabilities,
+2 −7
Original line number Diff line number Diff line
@@ -113,11 +113,7 @@ public:

    // Attempts to allocate a virtual display on the HWC. The maximum number of virtual displays
    // supported by the HWC can be queried in advance, but allocation may fail for other reasons.
    // For virtualized compositors, the PhysicalDisplayId is a hint that this virtual display is
    // a mirror of a physical display, and that the screen should be captured by the host rather
    // than guest compositor.
    virtual bool allocateVirtualDisplay(HalVirtualDisplayId, ui::Size, ui::PixelFormat*,
                                        std::optional<PhysicalDisplayId> mirror) = 0;
    virtual bool allocateVirtualDisplay(HalVirtualDisplayId, ui::Size, ui::PixelFormat*) = 0;

    virtual void allocatePhysicalDisplay(hal::HWDisplayId, PhysicalDisplayId) = 0;

@@ -265,8 +261,7 @@ public:
    size_t getMaxVirtualDisplayCount() const override;
    size_t getMaxVirtualDisplayDimension() const override;

    bool allocateVirtualDisplay(HalVirtualDisplayId, ui::Size, ui::PixelFormat*,
                                std::optional<PhysicalDisplayId>) override;
    bool allocateVirtualDisplay(HalVirtualDisplayId, ui::Size, ui::PixelFormat*) override;

    // Called from SurfaceFlinger, when the state for a new physical display needs to be recreated.
    void allocatePhysicalDisplay(hal::HWDisplayId, PhysicalDisplayId) override;
Loading