diff options
author | oshima <oshima@chromium.org> | 2015-10-27 16:18:26 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-27 23:19:50 +0000 |
commit | 6a01f994b36782395119772fc72cce1d74104db9 (patch) | |
tree | 08d9583567d635a87af033fda1d9507cf02a618e /cc | |
parent | 10b945fdc76c0627e8863c2f8bce42dc563cae8d (diff) | |
download | chromium_src-6a01f994b36782395119772fc72cce1d74104db9.zip chromium_src-6a01f994b36782395119772fc72cce1d74104db9.tar.gz chromium_src-6a01f994b36782395119772fc72cce1d74104db9.tar.bz2 |
Revert of Avoid Copying damage rect when using Overlays (patchset #12 id:220001 of https://codereview.chromium.org/1330563004/ )
Reason for revert:
The reason for revert:
use-of-uninitiailzed value is reported on msan bot.
Filed crbug.com/548452
[ RUN ] SandwichTest.MultiQuadOverlay
==7008==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x7f1d2774a400 in cc::OverlayProcessor::ProcessForOverlays(cc::ResourceProvider*, cc::ScopedPtrVector\u003Ccc::RenderPass>*, std::__1::vector\u003Ccc::OverlayCandidate, std::__1::allocator\u003Ccc::OverlayCandidate> >*, gfx::Rect*) cc/output/overlay_processor.cc:45:13
#1 0x7f1d259f6e5e in cc::(anonymous namespace)::SandwichTest_MultiQuadOverlay_Test::TestBody() cc/output/overlay_unittest.cc:617:3
#2 0x7f1d274a3922 in HandleExceptionsInMethodIfSupported\u003Ctesting::Test, void> testing/gtest/src/gtest.cc:2458:12
Original issue's description:
> Avoid Copying damage rect when using Overlays
>
> When using Overlays, the damage rect can be completely covered by
> the layer being composited by Overlay. We still copy damage rect
> on to the current surface(Primary frame buffer) in BufferQueue. This
> should be un-necessary.
>
> BUG=370522
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/2904998edff0cfcaab43eeb3b1db013d6169bd17
> Cr-Commit-Position: refs/heads/master@{#356352}
TBR=alexst@chromium.org,achaulk@chromium.org,danakj@chromium.org,ccameron@chromium.org,piman@chromium.org,kalyan.kondapally@intel.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=370522
Review URL: https://codereview.chromium.org/1414923006
Cr-Commit-Position: refs/heads/master@{#356427}
Diffstat (limited to 'cc')
-rw-r--r-- | cc/output/direct_renderer.cc | 3 | ||||
-rw-r--r-- | cc/output/overlay_candidate.cc | 2 | ||||
-rw-r--r-- | cc/output/overlay_candidate.h | 2 | ||||
-rw-r--r-- | cc/output/overlay_processor.cc | 23 | ||||
-rw-r--r-- | cc/output/overlay_processor.h | 3 | ||||
-rw-r--r-- | cc/output/overlay_unittest.cc | 109 |
6 files changed, 47 insertions, 95 deletions
diff --git a/cc/output/direct_renderer.cc b/cc/output/direct_renderer.cc index 4212994..1be41e9 100644 --- a/cc/output/direct_renderer.cc +++ b/cc/output/direct_renderer.cc @@ -240,8 +240,7 @@ void DirectRenderer::DrawFrame(RenderPassList* render_passes_in_draw_order, // otherwise the framebuffer will be missing the overlay contents. if (root_render_pass->copy_requests.empty()) { overlay_processor_->ProcessForOverlays( - resource_provider_, render_passes_in_draw_order, &frame.overlay_list, - &frame.root_damage_rect); + resource_provider_, render_passes_in_draw_order, &frame.overlay_list); } for (size_t i = 0; i < render_passes_in_draw_order->size(); ++i) { diff --git a/cc/output/overlay_candidate.cc b/cc/output/overlay_candidate.cc index d694568..658f153 100644 --- a/cc/output/overlay_candidate.cc +++ b/cc/output/overlay_candidate.cc @@ -196,8 +196,6 @@ bool OverlayCandidate::FromDrawQuad(ResourceProvider* resource_provider, candidate->format = RGBA_8888; candidate->clip_rect = quad->shared_quad_state->clip_rect; candidate->is_clipped = quad->shared_quad_state->is_clipped; - candidate->needs_blending = - quad->shared_quad_state->opacity < 1.0f || quad->needs_blending; switch (quad->material) { case DrawQuad::TEXTURE_CONTENT: diff --git a/cc/output/overlay_candidate.h b/cc/output/overlay_candidate.h index 8033dca7..aa42ba1 100644 --- a/cc/output/overlay_candidate.h +++ b/cc/output/overlay_candidate.h @@ -66,8 +66,6 @@ class CC_EXPORT OverlayCandidate { // Stacking order of the overlay plane relative to the main surface, // which is 0. Signed to allow for "underlays". int plane_z_order; - // If the overlay needs blending support. - bool needs_blending; // To be modified by the implementer if this candidate can go into // an overlay. diff --git a/cc/output/overlay_processor.cc b/cc/output/overlay_processor.cc index 59434b0..69368a1 100644 --- a/cc/output/overlay_processor.cc +++ b/cc/output/overlay_processor.cc @@ -12,14 +12,6 @@ namespace cc { -namespace { - -bool SortByZOrder(const OverlayCandidate& a, const OverlayCandidate& b) { - return (a.plane_z_order < b.plane_z_order); -} - -} // namespace - OverlayProcessor::OverlayProcessor(OutputSurface* surface) : surface_(surface) { } @@ -35,21 +27,10 @@ OverlayProcessor::~OverlayProcessor() {} void OverlayProcessor::ProcessForOverlays(ResourceProvider* resource_provider, RenderPassList* render_passes, - OverlayCandidateList* candidates, - gfx::Rect* damage_rect) { + OverlayCandidateList* candidates) { for (auto strategy : strategies_) { - if (strategy->Attempt(resource_provider, render_passes, candidates)) { - std::sort(candidates->begin(), candidates->end(), SortByZOrder); - - for (const OverlayCandidate& overlay : *candidates) { - if (overlay.plane_z_order <= 0 || overlay.needs_blending) - continue; - - damage_rect->Subtract(ToEnclosedRect(overlay.display_rect)); - } - + if (strategy->Attempt(resource_provider, render_passes, candidates)) return; - } } } diff --git a/cc/output/overlay_processor.h b/cc/output/overlay_processor.h index b4448d3..48ffe6b 100644 --- a/cc/output/overlay_processor.h +++ b/cc/output/overlay_processor.h @@ -37,8 +37,7 @@ class CC_EXPORT OverlayProcessor { void ProcessForOverlays(ResourceProvider* resource_provider, RenderPassList* render_passes, - OverlayCandidateList* candidates, - gfx::Rect* damage_rect); + OverlayCandidateList* candidates); protected: StrategyList strategies_; diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc index f15f13f4..722002e 100644 --- a/cc/output/overlay_unittest.cc +++ b/cc/output/overlay_unittest.cc @@ -366,7 +366,6 @@ class OverlayTest : public testing::Test { scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; scoped_ptr<ResourceProvider> resource_provider_; scoped_ptr<OverlayProcessor> overlay_processor_; - gfx::Rect damage_rect_; }; typedef OverlayTest<SingleOnTopOverlayValidator> SingleOverlayOnTopTest; @@ -420,7 +419,7 @@ TEST_F(SandwichTest, SuccessfulSingleOverlay) { // Check for potential candidates. OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); @@ -462,7 +461,7 @@ TEST_F(SandwichTest, CroppedSingleOverlay) { // Check for potential candidates. OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); // Ensure that the display and uv rects have cropping applied to them. ASSERT_EQ(1U, pass_list.size()); @@ -491,7 +490,7 @@ TEST_F(SandwichTest, SuccessfulTwoOverlays) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); // Both candidates should become overlays. EXPECT_EQ(1u, pass_list.size()); @@ -525,7 +524,7 @@ TEST_F(SandwichTest, OverlappingOverlays) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); // Only one of the candidates should become an overlay. EXPECT_EQ(1u, pass_list.size()); @@ -560,7 +559,8 @@ TEST_F(SandwichTest, SuccessfulSandwichOverlay) { // Check for potential candidates. OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); + ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(2U, candidate_list.size()); @@ -615,7 +615,7 @@ TEST_F(SandwichTest, MultiQuadOverlay) { OverlayCandidateList candidate_list; EXPECT_EQ(4U, main_pass->quad_list.size()); overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(3U, candidate_list.size()); @@ -667,7 +667,7 @@ TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) { // Check for potential candidates. OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); @@ -686,29 +686,6 @@ TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) { EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); } -TEST_F(SingleOverlayOnTopTest, DamageRect) { - scoped_ptr<RenderPass> pass = CreateRenderPass(); - CreateFullscreenCandidateQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), - pass.get()); - damage_rect_ = kOverlayRect; - - // Add something behind it. - CreateFullscreenOpaqueQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), pass.get()); - CreateFullscreenOpaqueQuad(resource_provider_.get(), - pass->shared_quad_state_list.back(), pass.get()); - - RenderPassList pass_list; - pass_list.push_back(pass.Pass()); - - // Check for potential candidates. - OverlayCandidateList candidate_list; - overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); - DCHECK(damage_rect_.IsEmpty()); -} - TEST_F(SingleOverlayOnTopTest, NoCandidates) { scoped_ptr<RenderPass> pass = CreateRenderPass(); CreateFullscreenOpaqueQuad(resource_provider_.get(), @@ -724,7 +701,7 @@ TEST_F(SingleOverlayOnTopTest, NoCandidates) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(0U, candidate_list.size()); // There should be nothing new here. CompareRenderPassLists(pass_list, original_pass_list); @@ -749,7 +726,7 @@ TEST_F(SingleOverlayOnTopTest, OccludedCandidates) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(0U, candidate_list.size()); // There should be nothing new here. CompareRenderPassLists(pass_list, original_pass_list); @@ -779,7 +756,7 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) { // Check for potential candidates. OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, candidate_list.size()); // This should be the same. @@ -798,7 +775,7 @@ TEST_F(SingleOverlayOnTopTest, RejectPremultipliedAlpha) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -815,7 +792,7 @@ TEST_F(SingleOverlayOnTopTest, RejectBlending) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -832,7 +809,7 @@ TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -848,7 +825,7 @@ TEST_F(SingleOverlayOnTopTest, RejectBlendMode) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -864,7 +841,7 @@ TEST_F(SingleOverlayOnTopTest, RejectOpacity) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -881,7 +858,7 @@ TEST_F(SingleOverlayOnTopTest, RejectNonAxisAlignedTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -898,7 +875,7 @@ TEST_F(SingleOverlayOnTopTest, AllowClipped) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -917,7 +894,7 @@ TEST_F(SingleOverlayOnTopTest, AllowVerticalFlip) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL, @@ -938,7 +915,7 @@ TEST_F(SingleOverlayOnTopTest, AllowHorizontalFlip) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL, @@ -958,7 +935,7 @@ TEST_F(SingleOverlayOnTopTest, AllowPositiveScaleTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -976,7 +953,7 @@ TEST_F(SingleOverlayOnTopTest, Allow90DegreeRotation) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform); @@ -995,7 +972,7 @@ TEST_F(SingleOverlayOnTopTest, Allow180DegreeRotation) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform); @@ -1014,7 +991,7 @@ TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform); @@ -1038,7 +1015,7 @@ TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1062,7 +1039,7 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentOnTop) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1084,7 +1061,7 @@ TEST_F(SingleOverlayOnTopTest, AllowTransparentColorOnTop) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1108,7 +1085,7 @@ TEST_F(SingleOverlayOnTopTest, RejectOpaqueColorOnTop) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -1130,7 +1107,7 @@ TEST_F(SingleOverlayOnTopTest, RejectTransparentColorOnTopWithoutBlending) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -1145,7 +1122,7 @@ TEST_F(SingleOverlayOnTopTest, RejectVideoSwapTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(0U, candidate_list.size()); } @@ -1160,7 +1137,7 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoXMirrorTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1175,7 +1152,7 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoBothMirrorTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1190,7 +1167,7 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoNormalTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1205,7 +1182,7 @@ TEST_F(SingleOverlayOnTopTest, AllowVideoYMirrorTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); ASSERT_EQ(1U, pass_list.size()); EXPECT_EQ(1U, candidate_list.size()); } @@ -1223,7 +1200,7 @@ TEST_F(UnderlayTest, OverlayLayerUnderMainLayer) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(-1, candidate_list[0].plane_z_order); @@ -1246,7 +1223,7 @@ TEST_F(UnderlayTest, AllowOnTop) { OverlayCandidateList candidate_list; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidate_list, &damage_rect_); + &candidate_list); EXPECT_EQ(1U, pass_list.size()); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(-1, candidate_list[0].plane_z_order); @@ -1269,14 +1246,14 @@ TEST_F(AllOrNothingOverlayTest, SuccessfulOverlappingOverlays) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidates; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidates, &damage_rect_); + &candidates); // Both quads should become overlays. EXPECT_EQ(2u, candidates.size()); - EXPECT_EQ(-2, candidates[0].plane_z_order); - EXPECT_EQ(-1, candidates[1].plane_z_order); - EXPECT_EQ(gfx::RectF(kOverlayTopLeftRect), candidates[1].display_rect); - EXPECT_EQ(gfx::RectF(kOverlayRect), candidates[0].display_rect); + EXPECT_EQ(-1, candidates[0].plane_z_order); + EXPECT_EQ(-2, candidates[1].plane_z_order); + EXPECT_EQ(gfx::RectF(kOverlayTopLeftRect), candidates[0].display_rect); + EXPECT_EQ(gfx::RectF(kOverlayRect), candidates[1].display_rect); // All quads should be gone. EXPECT_TRUE(pass_list.back()->quad_list.empty()); @@ -1300,7 +1277,7 @@ TEST_F(AllOrNothingOverlayTest, RejectQuadWithTransform) { pass_list.push_back(pass.Pass()); OverlayCandidateList candidates; overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, - &candidates, &damage_rect_); + &candidates); // No quads should become overlays. EXPECT_EQ(0u, candidates.size()); @@ -1337,7 +1314,7 @@ class OverlayInfoRendererGL : public GLRenderer { } ASSERT_EQ(2U, frame->overlay_list.size()); - EXPECT_GE(frame->overlay_list.back().resource_id, 0U); + EXPECT_NE(0U, frame->overlay_list.back().resource_id); } void set_expect_overlays(bool expect_overlays) { |