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

Unified Diff: cc/output/overlay_unittest.cc

Issue 2543473004: cc: Move filters from RenderPassDrawQuad to RenderPass (Closed)
Patch Set: Rebase again 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
« no previous file with comments | « cc/output/overlay_processor.cc ('k') | cc/output/renderer_pixeltest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/overlay_unittest.cc
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 4472c9ec8f8977e40b8c1b08ab71a017d6c32d20..ae10a0441802886af23fbf9c9848ec811bc262ae 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -198,11 +198,9 @@ class OverlayOutputSurface : public OutputSurface {
std::unique_ptr<RenderPass> CreateRenderPass() {
int render_pass_id = 1;
gfx::Rect output_rect(0, 0, 256, 256);
- bool has_transparent_background = true;
std::unique_ptr<RenderPass> pass = RenderPass::Create();
- pass->SetAll(render_pass_id, output_rect, output_rect, gfx::Transform(),
- has_transparent_background);
+ pass->SetNew(render_pass_id, output_rect, output_rect, gfx::Transform());
SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
shared_state->opacity = 1.f;
@@ -414,9 +412,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();
@@ -437,9 +437,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();
@@ -461,9 +463,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();
@@ -481,9 +485,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();
@@ -508,9 +514,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.
@@ -535,9 +543,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();
@@ -578,9 +588,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());
}
@@ -598,9 +610,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);
@@ -624,9 +638,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);
@@ -647,9 +663,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());
}
@@ -662,9 +680,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());
}
@@ -677,9 +697,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());
}
@@ -691,9 +713,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());
}
@@ -705,9 +729,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());
}
@@ -720,9 +746,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());
}
@@ -735,9 +763,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());
}
@@ -751,9 +781,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);
@@ -770,9 +802,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);
@@ -787,9 +821,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());
}
@@ -803,9 +839,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);
}
@@ -820,9 +858,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);
}
@@ -837,9 +877,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);
}
@@ -855,9 +897,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());
}
@@ -873,9 +917,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());
}
@@ -889,9 +935,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());
}
@@ -907,9 +955,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());
}
@@ -923,9 +973,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());
}
@@ -936,9 +988,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());
}
@@ -949,9 +1003,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());
}
@@ -962,9 +1018,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());
}
@@ -975,9 +1033,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());
}
@@ -988,9 +1048,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());
}
@@ -1003,9 +1065,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());
@@ -1023,9 +1087,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.
@@ -1042,9 +1108,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_);
}
@@ -1065,9 +1133,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
@@ -1089,9 +1160,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_);
}
@@ -1110,9 +1184,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_);
@@ -1132,9 +1209,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());
@@ -1163,9 +1243,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());
@@ -1183,9 +1266,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;
@@ -1206,9 +1292,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());
@@ -1226,9 +1315,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());
@@ -1248,9 +1340,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());
@@ -1774,15 +1869,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_;
int render_pass_id_;
FilterOperations filters_;
FilterOperations background_filters_;
+ RenderPassFilterList render_pass_filters_;
+ RenderPassFilterList render_pass_background_filters_;
CALayerOverlayList ca_layer_list_;
OverlayCandidateList overlay_list_;
};
@@ -1790,8 +1888,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());
@@ -1809,10 +1906,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());
@@ -1820,20 +1917,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());
}
@@ -1841,20 +1938,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());
}
@@ -1862,18 +1960,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());
}
@@ -1887,8 +1984,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();
« no previous file with comments | « cc/output/overlay_processor.cc ('k') | cc/output/renderer_pixeltest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698