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

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

Merge "Update physicalDisplay when rendering CachedSet to include offset." into sc-dev

parents 9f7a8b86 cf165b6a
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);