summaryrefslogtreecommitdiffstats
path: root/chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-26 13:57:00 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-11-02 11:31:01 +0000
commit1943b3c2a1dcee36c233724fc4ee7613d71b9cf6 (patch)
tree8c1b5f12357025c197da5427ae02cfdc2f3570d6 /chromium/cc/trees/layer_tree_host_unittest_copyrequest.cc
parent21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (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.cc83
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,