diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-10-26 13:57:00 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-11-02 11:31:01 +0000 |
commit | 1943b3c2a1dcee36c233724fc4ee7613d71b9cf6 (patch) | |
tree | 8c1b5f12357025c197da5427ae02cfdc2f3570d6 /chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc | |
parent | 21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (diff) |
BASELINE: Update Chromium to 94.0.4606.111
Change-Id: I924781584def20fc800bedf6ff41fdb96c438193
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc')
-rw-r--r-- | chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc | 83 |
1 files changed, 61 insertions, 22 deletions
diff --git a/chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc b/chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc index 5640d141a98..02c23624f96 100644 --- a/chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc +++ b/chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc @@ -95,7 +95,8 @@ class LayerTreeHostCopyRequestTestMultipleRequests switch (frame) { case 1: child->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce(&LayerTreeHostCopyRequestTestMultipleRequests:: CopyOutputCallback, base::Unretained(this), 0))); @@ -113,18 +114,21 @@ class LayerTreeHostCopyRequestTestMultipleRequests EXPECT_EQ(gfx::Size(10, 10).ToString(), callbacks_[0].ToString()); child->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce(&LayerTreeHostCopyRequestTestMultipleRequests:: CopyOutputCallback, base::Unretained(this), 1))); root->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce(&LayerTreeHostCopyRequestTestMultipleRequests:: CopyOutputCallback, base::Unretained(this), 2))); grand_child->RequestCopyOfOutput( std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce(&LayerTreeHostCopyRequestTestMultipleRequests:: CopyOutputCallback, base::Unretained(this), 3))); @@ -260,7 +264,8 @@ class LayerTreeHostCopyRequestCompletionCausesCommit switch (frame) { case 1: layer_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce(&LayerTreeHostCopyRequestCompletionCausesCommit:: CopyOutputCallback))); break; @@ -326,13 +331,15 @@ class LayerTreeHostCopyRequestTestLayerDestroyed case 1: main_destroyed_->RequestCopyOfOutput(std::make_unique< viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, base::Unretained(this), &main_destroyed_event_))); impl_destroyed_->RequestCopyOfOutput(std::make_unique< viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, base::Unretained(this), &impl_destroyed_event_))); @@ -437,7 +444,8 @@ class LayerTreeHostCopyRequestTestInHiddenSubtree void AddCopyRequest(Layer* layer) { layer->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestInHiddenSubtree::CopyOutputCallback, base::Unretained(this)))); @@ -563,7 +571,8 @@ class LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest PostSetNeedsCommitToMainThread(); copy_layer_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest:: CopyOutputCallback, @@ -670,7 +679,8 @@ class LayerTreeHostCopyRequestTestClippedOut PostSetNeedsCommitToMainThread(); copy_layer_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestClippedOut::CopyOutputCallback, base::Unretained(this)))); @@ -733,7 +743,8 @@ class LayerTreeHostCopyRequestTestScaledLayer std::unique_ptr<viz::CopyOutputRequest> request = std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestScaledLayer::CopyOutputCallback, base::Unretained(this))); @@ -786,7 +797,8 @@ class LayerTreeHostTestAsyncTwoReadbacksWithoutDraw void AddCopyRequest(Layer* layer) { layer->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostTestAsyncTwoReadbacksWithoutDraw::CopyOutputCallback, base::Unretained(this)))); @@ -913,7 +925,9 @@ class LayerTreeHostCopyRequestTestDeleteSharedImage std::unique_ptr<viz::CopyOutputResult> result) { EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); - EXPECT_EQ(result->format(), viz::CopyOutputResult::Format::RGBA_TEXTURE); + EXPECT_EQ(result->format(), viz::CopyOutputResult::Format::RGBA); + EXPECT_EQ(result->destination(), + viz::CopyOutputResult::Destination::kNativeTextures); EXPECT_NE(result->GetTextureResult(), nullptr); // Save the result for later. @@ -926,7 +940,8 @@ class LayerTreeHostCopyRequestTestDeleteSharedImage void InsertCopyRequest() { copy_layer_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_TEXTURE, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputResult::Destination::kNativeTextures, base::BindOnce(&LayerTreeHostCopyRequestTestDeleteSharedImage:: ReceiveCopyRequestOutputAndCommit, base::Unretained(this)))); @@ -1088,6 +1103,22 @@ class LayerTreeHostCopyRequestTestCountSharedImages } } + std::unique_ptr<TestLayerTreeFrameSink> CreateLayerTreeFrameSink( + const viz::RendererSettings& renderer_settings, + double refresh_rate, + scoped_refptr<viz::ContextProvider> compositor_context_provider, + scoped_refptr<viz::RasterContextProvider> worker_context_provider) + override { + // Since this test counts shared images and SkiaRenderer uses shared images + // for render passes, we need render pass allocation to be stable. + auto settings = renderer_settings; + settings.disable_render_pass_bypassing = true; + auto frame_sink = LayerTreeHostCopyRequestTest::CreateLayerTreeFrameSink( + settings, refresh_rate, std::move(compositor_context_provider), + std::move(worker_context_provider)); + return frame_sink; + } + void DisplayDidDrawAndSwapOnThread() override { auto* sii = display_context_provider_->SharedImageInterface(); switch (num_swaps_++) { @@ -1135,7 +1166,8 @@ class LayerTreeHostCopyRequestTestCreatesSharedImage void RequestCopy(Layer* layer) override { // Request a normal texture copy. This should create a new shared image. copy_layer_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_TEXTURE, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputResult::Destination::kNativeTextures, base::BindOnce( &LayerTreeHostCopyRequestTestCreatesSharedImage::CopyOutputCallback, base::Unretained(this)))); @@ -1143,21 +1175,25 @@ class LayerTreeHostCopyRequestTestCreatesSharedImage void CopyOutputCallback(std::unique_ptr<viz::CopyOutputResult> result) { EXPECT_FALSE(result->IsEmpty()); - EXPECT_EQ(result->format(), viz::CopyOutputResult::Format::RGBA_TEXTURE); + EXPECT_EQ(result->format(), viz::CopyOutputResult::Format::RGBA); + EXPECT_EQ(result->destination(), + viz::CopyOutputResult::Destination::kNativeTextures); ASSERT_NE(nullptr, result->GetTextureResult()); release_ = result->TakeTextureOwnership(); - EXPECT_TRUE(release_); + EXPECT_EQ(1u, release_.size()); } void AfterTest() override { - std::move(release_).Run(gpu::SyncToken(), false); + for (auto& release : release_) { + std::move(release).Run(gpu::SyncToken(), false); + } // Except the copy to have made a new shared image. EXPECT_EQ(num_shared_images_without_readback_ + 1, num_shared_images_with_readback_); } - viz::ReleaseCallback release_; + viz::CopyOutputResult::ReleaseCallbacks release_; }; INSTANTIATE_TEST_SUITE_P( @@ -1216,7 +1252,8 @@ class LayerTreeHostCopyRequestTestDestroyBeforeCopy // drawing to take place. std::unique_ptr<viz::CopyOutputRequest> request = std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_TEXTURE, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputResult::Destination::kNativeTextures, base::BindOnce(&LayerTreeHostCopyRequestTestDestroyBeforeCopy:: CopyOutputCallback, base::Unretained(this))); @@ -1308,7 +1345,8 @@ class LayerTreeHostCopyRequestTestShutdownBeforeCopy // drawing to take place. std::unique_ptr<viz::CopyOutputRequest> request = std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_TEXTURE, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputResult::Destination::kNativeTextures, base::BindOnce(&LayerTreeHostCopyRequestTestShutdownBeforeCopy:: CopyOutputCallback, base::Unretained(this))); @@ -1381,7 +1419,8 @@ class LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest // Send a copy request after the first commit. if (layer_tree_host()->SourceFrameNumber() == 1) { child_->RequestCopyOfOutput(std::make_unique<viz::CopyOutputRequest>( - viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP, + viz::CopyOutputRequest::ResultFormat::RGBA, + viz::CopyOutputRequest::ResultDestination::kSystemMemory, base::BindOnce( &LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest:: CopyOutputCallback, |