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

Commit 1444d586 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update physicalDisplay when rendering CachedSet to include offset."...

Merge "Update physicalDisplay when rendering CachedSet to include offset." into sc-dev am: 9d533913

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14187995

Change-Id: Id004f968df7b9dfb6ba8b9189b1a95650ffe7d72
parents 13d496ce 9d533913
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -159,7 +159,10 @@ void CachedSet::render(renderengine::RenderEngine& renderEngine,
    const ui::Transform::RotationFlags orientation =
            ui::Transform::toRotationFlags(outputState.framebufferSpace.orientation);
    renderengine::DisplaySettings displaySettings{
            .physicalDisplay = Rect(0, 0, mBounds.getWidth(), mBounds.getHeight()),
            .physicalDisplay =
                    Rect(-mBounds.left, -mBounds.top,
                         -mBounds.left + outputState.framebufferSpace.content.getWidth(),
                         -mBounds.top + outputState.framebufferSpace.content.getHeight()),
            .clip = viewport,
            .outputDataspace = outputDataspace,
            .orientation = orientation,
+7 −6
Original line number Diff line number Diff line
@@ -287,10 +287,11 @@ TEST_F(CachedSetTest, updateAge_BufferUpdate) {
}

TEST_F(CachedSetTest, render) {
    CachedSet::Layer& layer1 = *mTestLayers[0]->cachedSetLayer.get();
    sp<mock::LayerFE> layerFE1 = mTestLayers[0]->layerFE;
    CachedSet::Layer& layer2 = *mTestLayers[1]->cachedSetLayer.get();
    sp<mock::LayerFE> layerFE2 = mTestLayers[1]->layerFE;
    // Skip the 0th layer to ensure that the bounding box of the layers is offset from (0, 0)
    CachedSet::Layer& layer1 = *mTestLayers[1]->cachedSetLayer.get();
    sp<mock::LayerFE> layerFE1 = mTestLayers[1]->layerFE;
    CachedSet::Layer& layer2 = *mTestLayers[2]->cachedSetLayer.get();
    sp<mock::LayerFE> layerFE2 = mTestLayers[2]->layerFE;

    CachedSet cachedSet(layer1);
    cachedSet.append(CachedSet(layer2));
@@ -307,7 +308,7 @@ TEST_F(CachedSetTest, render) {
                                const std::vector<const renderengine::LayerSettings*>& layers,
                                const std::shared_ptr<renderengine::ExternalTexture>&, const bool,
                                base::unique_fd&&, base::unique_fd*) -> size_t {
        EXPECT_EQ(Rect(0, 0, 2, 2), displaySettings.physicalDisplay);
        EXPECT_EQ(Rect(-1, -1, 9, 4), displaySettings.physicalDisplay);
        EXPECT_EQ(mOutputState.layerStackSpace.content, displaySettings.clip);
        EXPECT_EQ(ui::Transform::toRotationFlags(mOutputState.framebufferSpace.orientation),
                  displaySettings.orientation);
@@ -324,7 +325,7 @@ TEST_F(CachedSetTest, render) {
    cachedSet.render(mRenderEngine, mOutputState);
    expectReadyBuffer(cachedSet);

    EXPECT_EQ(Rect(0, 0, 2, 2), cachedSet.getOutputSpace().content);
    EXPECT_EQ(Rect(1, 1, 3, 3), cachedSet.getOutputSpace().content);
    EXPECT_EQ(Rect(mOutputState.framebufferSpace.bounds.getWidth(),
                   mOutputState.framebufferSpace.bounds.getHeight()),
              cachedSet.getOutputSpace().bounds);