Loading services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h +1 −3 Original line number Diff line number Diff line Loading @@ -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, Loading services/surfaceflinger/DisplayHardware/ComposerHal.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading services/surfaceflinger/DisplayHardware/ComposerHal.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading services/surfaceflinger/DisplayHardware/HWComposer.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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, Loading services/surfaceflinger/DisplayHardware/HWComposer.h +2 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading
services/surfaceflinger/CompositionEngine/tests/MockHWComposer.h +1 −3 Original line number Diff line number Diff line Loading @@ -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, Loading
services/surfaceflinger/DisplayHardware/ComposerHal.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
services/surfaceflinger/DisplayHardware/ComposerHal.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading
services/surfaceflinger/DisplayHardware/HWComposer.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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, Loading
services/surfaceflinger/DisplayHardware/HWComposer.h +2 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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