Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2445)

Unified Diff: cc/output/overlay_unittest.cc

Issue 2543473004: cc: Move filters from RenderPassDrawQuad to RenderPass (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/output/overlay_unittest.cc
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 141878f4cfe948674b8d6c2c20b0f9f8ae5c8c81..b048ff6900557d8dfc79e159bf7dac0b9f9e10eb 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -201,10 +201,8 @@ std::unique_ptr<RenderPass> CreateRenderPass() {
bool has_transparent_background = true;
std::unique_ptr<RenderPass> pass = RenderPass::Create();
- pass->SetAll(id,
- output_rect,
- output_rect,
- gfx::Transform(),
+ pass->SetAll(id, output_rect, output_rect, gfx::Transform(),
danakj 2016/12/01 01:50:46 maybe..setnew?
ajuma 2016/12/13 15:08:11 Done.
+ FilterOperations(), FilterOperations(),
has_transparent_background);
SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
@@ -417,9 +415,11 @@ TEST_F(FullscreenOverlayTest, SuccessfulOverlay) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
RenderPass* main_pass = pass.get();
@@ -440,9 +440,11 @@ TEST_F(FullscreenOverlayTest, ResourceSizeInPixelsFail) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(0U, candidate_list.size());
RenderPass* main_pass = pass.get();
@@ -464,9 +466,11 @@ TEST_F(FullscreenOverlayTest, OnTopFail) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(0U, candidate_list.size());
RenderPass* main_pass = pass.get();
@@ -484,9 +488,11 @@ TEST_F(FullscreenOverlayTest, NotCoveringFullscreenFail) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(0U, candidate_list.size());
RenderPass* main_pass = pass.get();
@@ -511,9 +517,11 @@ TEST_F(FullscreenOverlayTest, RemoveFullscreenQuadFromQuadList) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
// Check that the fullscreen quad is gone.
@@ -538,9 +546,11 @@ TEST_F(SingleOverlayOnTopTest, SuccessfulOverlay) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
RenderPass* main_pass = pass.get();
@@ -581,9 +591,11 @@ TEST_F(SingleOverlayOnTopTest, DamageRect) {
output_surface_plane.overlay_handled = true;
candidate_list.push_back(output_surface_plane);
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
DCHECK(damage_rect_.IsEmpty());
}
@@ -601,9 +613,11 @@ TEST_F(SingleOverlayOnTopTest, NoCandidates) {
RenderPass::CopyAll(pass_list, &original_pass_list);
OverlayCandidateList candidate_list;
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
overlay_processor_->ProcessForOverlays(
- resource_provider_.get(), pass_list.back().get(), &candidate_list,
- nullptr, &damage_rect_);
+ resource_provider_.get(), pass_list.back().get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
// There should be nothing new here.
CompareRenderPassLists(pass_list, original_pass_list);
@@ -627,9 +641,11 @@ TEST_F(SingleOverlayOnTopTest, OccludedCandidates) {
RenderPass::CopyAll(pass_list, &original_pass_list);
OverlayCandidateList candidate_list;
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
overlay_processor_->ProcessForOverlays(
- resource_provider_.get(), pass_list.back().get(), &candidate_list,
- nullptr, &damage_rect_);
+ resource_provider_.get(), pass_list.back().get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
// There should be nothing new here.
CompareRenderPassLists(pass_list, original_pass_list);
@@ -650,9 +666,11 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) {
// Check for potential candidates.
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -665,9 +683,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBlending) {
quad->needs_blending = true;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -680,9 +700,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) {
quad->background_color = SK_ColorBLACK;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -694,9 +716,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBlendMode) {
pass->shared_quad_state_list.back()->blend_mode = SkBlendMode::kScreen;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -708,9 +732,11 @@ TEST_F(SingleOverlayOnTopTest, RejectOpacity) {
pass->shared_quad_state_list.back()->opacity = 0.5f;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -723,9 +749,11 @@ TEST_F(SingleOverlayOnTopTest, RejectNonAxisAlignedTransform) {
->quad_to_target_transform.RotateAboutXAxis(45.f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -738,9 +766,11 @@ TEST_F(SingleOverlayOnTopTest, AllowClipped) {
pass->shared_quad_state_list.back()->clip_rect = kOverlayClipRect;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -754,9 +784,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVerticalFlip) {
pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f,
-1.0f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL,
candidate_list.back().transform);
@@ -773,9 +805,11 @@ TEST_F(SingleOverlayOnTopTest, AllowHorizontalFlip) {
2.0f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL,
candidate_list.back().transform);
@@ -790,9 +824,11 @@ TEST_F(SingleOverlayOnTopTest, AllowPositiveScaleTransform) {
pass->shared_quad_state_list.back()->quad_to_target_transform.Scale(2.0f,
1.0f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -806,9 +842,11 @@ TEST_F(SingleOverlayOnTopTest, Allow90DegreeRotation) {
->quad_to_target_transform.RotateAboutZAxis(90.f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform);
}
@@ -823,9 +861,11 @@ TEST_F(SingleOverlayOnTopTest, Allow180DegreeRotation) {
->quad_to_target_transform.RotateAboutZAxis(180.f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform);
}
@@ -840,9 +880,11 @@ TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) {
->quad_to_target_transform.RotateAboutZAxis(270.f);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform);
}
@@ -858,9 +900,11 @@ TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -876,9 +920,11 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentOnTop) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -892,9 +938,11 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentColorOnTop) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -910,9 +958,11 @@ TEST_F(SingleOverlayOnTopTest, RejectOpaqueColorOnTop) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -926,9 +976,11 @@ TEST_F(SingleOverlayOnTopTest, RejectTransparentColorOnTopWithoutBlending) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -939,9 +991,11 @@ TEST_F(SingleOverlayOnTopTest, RejectVideoSwapTransform) {
pass.get(), kSwapTransform);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(0U, candidate_list.size());
}
@@ -952,9 +1006,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoXMirrorTransform) {
pass.get(), kXMirrorTransform);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -965,9 +1021,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoBothMirrorTransform) {
pass.get(), kBothMirrorTransform);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -978,9 +1036,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoNormalTransform) {
pass.get(), kNormalTransform);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -991,9 +1051,11 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoYMirrorTransform) {
pass.get(), kYMirrorTransform);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(1U, candidate_list.size());
}
@@ -1006,9 +1068,11 @@ TEST_F(UnderlayTest, OverlayLayerUnderMainLayer) {
kOverlayBottomRightRect);
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(-1, candidate_list[0].plane_z_order);
EXPECT_EQ(2U, pass->quad_list.size());
@@ -1026,9 +1090,11 @@ TEST_F(UnderlayTest, AllowOnTop) {
pass->shared_quad_state_list.back(), pass.get());
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
ASSERT_EQ(1U, candidate_list.size());
EXPECT_EQ(-1, candidate_list[0].plane_z_order);
// The overlay quad should have changed to a SOLID_COLOR quad.
@@ -1045,9 +1111,11 @@ TEST_F(UnderlayTest, InitialUnderlayDamageNotSubtracted) {
damage_rect_ = kOverlayRect;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr, &damage_rect_);
EXPECT_EQ(kOverlayRect, damage_rect_);
}
@@ -1068,9 +1136,12 @@ TEST_F(UnderlayTest, DamageSubtractedForConsecutiveIdenticalUnderlays) {
pass->shared_quad_state_list.back(), pass.get());
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr,
+ &damage_rect_);
}
// The second time the same overlay rect is scheduled it will be subtracted
@@ -1092,9 +1163,12 @@ TEST_F(UnderlayTest, DamageNotSubtractedForNonIdenticalConsecutiveUnderlays) {
damage_rect_ = overlay_rects[i];
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr,
+ &damage_rect_);
EXPECT_EQ(overlay_rects[i], damage_rect_);
}
@@ -1113,9 +1187,12 @@ TEST_F(UnderlayTest, DamageNotSubtractedWhenQuadsAboveOverlap) {
damage_rect_ = kOverlayRect;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr,
+ &damage_rect_);
}
EXPECT_EQ(kOverlayRect, damage_rect_);
@@ -1135,9 +1212,12 @@ TEST_F(UnderlayTest, DamageSubtractedWhenQuadsAboveDontOverlap) {
damage_rect_ = kOverlayBottomRightRect;
OverlayCandidateList candidate_list;
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &candidate_list, nullptr,
- &damage_rect_);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &candidate_list, nullptr,
+ &damage_rect_);
}
EXPECT_TRUE(damage_rect_.IsEmpty());
@@ -1166,9 +1246,12 @@ TEST_F(CALayerOverlayTest, AllowNonAxisAlignedTransform) {
gfx::Rect damage_rect;
CALayerOverlayList ca_layer_list;
OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get()));
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &overlay_list, &ca_layer_list,
- &damage_rect);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, &ca_layer_list,
+ &damage_rect);
EXPECT_EQ(gfx::Rect(), damage_rect);
EXPECT_EQ(0U, overlay_list.size());
EXPECT_EQ(1U, ca_layer_list.size());
@@ -1186,9 +1269,12 @@ TEST_F(CALayerOverlayTest, ThreeDTransform) {
gfx::Rect damage_rect;
CALayerOverlayList ca_layer_list;
OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get()));
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &overlay_list, &ca_layer_list,
- &damage_rect);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, &ca_layer_list,
+ &damage_rect);
EXPECT_EQ(0U, overlay_list.size());
EXPECT_EQ(1U, ca_layer_list.size());
gfx::Transform expected_transform;
@@ -1209,9 +1295,12 @@ TEST_F(CALayerOverlayTest, AllowContainingClip) {
gfx::Rect damage_rect;
CALayerOverlayList ca_layer_list;
OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get()));
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &overlay_list, &ca_layer_list,
- &damage_rect);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, &ca_layer_list,
+ &damage_rect);
EXPECT_EQ(gfx::Rect(), damage_rect);
EXPECT_EQ(0U, overlay_list.size());
EXPECT_EQ(1U, ca_layer_list.size());
@@ -1229,9 +1318,12 @@ TEST_F(CALayerOverlayTest, NontrivialClip) {
gfx::Rect damage_rect;
CALayerOverlayList ca_layer_list;
OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get()));
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &overlay_list, &ca_layer_list,
- &damage_rect);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, &ca_layer_list,
+ &damage_rect);
EXPECT_EQ(gfx::Rect(), damage_rect);
EXPECT_EQ(0U, overlay_list.size());
EXPECT_EQ(1U, ca_layer_list.size());
@@ -1251,9 +1343,12 @@ TEST_F(CALayerOverlayTest, SkipTransparent) {
gfx::Rect damage_rect;
CALayerOverlayList ca_layer_list;
OverlayCandidateList overlay_list(BackbufferOverlayList(pass.get()));
- overlay_processor_->ProcessForOverlays(resource_provider_.get(), pass.get(),
- &overlay_list, &ca_layer_list,
- &damage_rect);
+ RenderPassFilterList render_pass_filters;
+ RenderPassFilterList render_pass_background_filters;
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass.get(), render_pass_filters,
+ render_pass_background_filters, &overlay_list, &ca_layer_list,
+ &damage_rect);
EXPECT_EQ(gfx::Rect(), damage_rect);
EXPECT_EQ(0U, overlay_list.size());
EXPECT_EQ(0U, ca_layer_list.size());
@@ -1778,15 +1873,18 @@ class CALayerOverlayRPDQTest : public CALayerOverlayTest {
void ProcessForOverlays() {
gfx::Rect damage_rect;
overlay_list_ = BackbufferOverlayList(pass_.get());
- overlay_processor_->ProcessForOverlays(resource_provider_.get(),
- pass_.get(), &overlay_list_,
- &ca_layer_list_, &damage_rect);
+ overlay_processor_->ProcessForOverlays(
+ resource_provider_.get(), pass_.get(), render_pass_filters_,
+ render_pass_background_filters_, &overlay_list_, &ca_layer_list_,
+ &damage_rect);
}
std::unique_ptr<RenderPass> pass_;
RenderPassDrawQuad* quad_;
RenderPassId render_pass_id_;
FilterOperations filters_;
FilterOperations background_filters_;
+ RenderPassFilterList render_pass_filters_;
+ RenderPassFilterList render_pass_background_filters_;
CALayerOverlayList ca_layer_list_;
OverlayCandidateList overlay_list_;
};
@@ -1794,8 +1892,7 @@ class CALayerOverlayRPDQTest : public CALayerOverlayTest {
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadNoFilters) {
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 1), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
@@ -1813,10 +1910,10 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadAllValidFilters) {
filters_.Append(FilterOperation::CreateBlurFilter(0.9f));
filters_.Append(FilterOperation::CreateDropShadowFilter(gfx::Point(10, 20),
1.0f, SK_ColorGREEN));
+ render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 1), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
@@ -1824,20 +1921,20 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadAllValidFilters) {
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadOpacityFilterScale) {
filters_.Append(FilterOperation::CreateOpacityFilter(0.8f));
+ render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 2), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 2), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
}
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBlurFilterScale) {
filters_.Append(FilterOperation::CreateBlurFilter(0.8f));
+ render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 2), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 2), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
}
@@ -1845,20 +1942,21 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBlurFilterScale) {
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadDropShadowFilterScale) {
filters_.Append(FilterOperation::CreateDropShadowFilter(gfx::Point(10, 20),
1.0f, SK_ColorGREEN));
+ render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 2), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 2), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
}
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBackgroundFilter) {
background_filters_.Append(FilterOperation::CreateGrayscaleFilter(0.1f));
+ render_pass_background_filters_.push_back(
+ std::make_pair(render_pass_id_, background_filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 1), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(0U, ca_layer_list_.size());
}
@@ -1866,18 +1964,17 @@ TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadBackgroundFilter) {
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadMask) {
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 1), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(1U, ca_layer_list_.size());
}
TEST_F(CALayerOverlayRPDQTest, RenderPassDrawQuadUnsupportedFilter) {
filters_.Append(FilterOperation::CreateZoomFilter(0.9f, 1));
+ render_pass_filters_.push_back(std::make_pair(render_pass_id_, filters_));
quad_->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 0, gfx::Vector2dF(), gfx::Size(),
- filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Vector2dF(1, 1), gfx::PointF());
ProcessForOverlays();
EXPECT_EQ(0U, ca_layer_list_.size());
}
@@ -1891,8 +1988,7 @@ TEST_F(CALayerOverlayRPDQTest, TooManyRenderPassDrawQuads) {
pass_->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
quad->SetNew(pass_->shared_quad_state_list.back(), kOverlayRect,
kOverlayRect, render_pass_id_, 2, gfx::Vector2dF(),
- gfx::Size(), filters_, gfx::Vector2dF(1, 1), gfx::PointF(),
- background_filters_);
+ gfx::Size(), gfx::Vector2dF(1, 1), gfx::PointF());
}
ProcessForOverlays();

Powered by Google App Engine
This is Rietveld 408576698