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

Commit 47aa8d14 authored by John Reck's avatar John Reck
Browse files

Add tests for b/34598346

Test: unit test passes
Bug: 34598346
Change-Id: I7e5144aa875e42487718059cc06b86e32db28702
parent 553ae6ab
Loading
Loading
Loading
Loading
+25 −6
Original line number Diff line number Diff line
@@ -311,6 +311,7 @@ RENDERTHREAD_OPENGL_PIPELINE_TEST(FrameBuilder, deferRenderNodeScene) {
        TestUtils::syncHierarchyPropertiesAndDisplayList(node);
    }

    {
        FrameBuilder frameBuilder(SkRect::MakeWH(800, 600), 800, 600,
                sLightGeometry, Caches::getInstance());
        frameBuilder.deferRenderNodeScene(nodes, contentDrawBounds);
@@ -320,6 +321,24 @@ RENDERTHREAD_OPENGL_PIPELINE_TEST(FrameBuilder, deferRenderNodeScene) {
        EXPECT_EQ(4, renderer.getIndex());
    }

    for (auto& node : nodes) {
        EXPECT_FALSE(node->nothingToDraw());
        node->setStagingDisplayList(nullptr, nullptr);
        node->destroyHardwareResources(nullptr);
        EXPECT_TRUE(node->nothingToDraw());
    }

    {
        // Validate no crashes if any nodes are missing DisplayLists
        FrameBuilder frameBuilder(SkRect::MakeWH(800, 600), 800, 600,
                sLightGeometry, Caches::getInstance());
        frameBuilder.deferRenderNodeScene(nodes, contentDrawBounds);

        FailRenderer renderer;
        frameBuilder.replayBakedOps<TestDispatcher>(renderer);
    }
}

RENDERTHREAD_OPENGL_PIPELINE_TEST(FrameBuilder, empty_noFbo0) {
    class EmptyNoFbo0TestRenderer : public TestRendererBase {
    public: