Loading libs/hwui/tests/unit/FrameBuilderTests.cpp +25 −6 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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: Loading Loading
libs/hwui/tests/unit/FrameBuilderTests.cpp +25 −6 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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: Loading