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

Side by Side Diff: cc/output/overlay_unittest.cc

Issue 2754663003: DCLayerOverlay should damage entire frame on resize. (Closed)
Patch Set: update test Created 3 years, 9 months 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 unified diff | Download patch
« no previous file with comments | « cc/output/dc_layer_overlay.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 1763 matching lines...) Expand 10 before | Expand all | Expand 10 after
1774 EXPECT_EQ(1U, dc_layer_list.size()); 1774 EXPECT_EQ(1U, dc_layer_list.size());
1775 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count()); 1775 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
1776 EXPECT_EQ(-1, dc_layer_list.back().shared_state->z_order); 1776 EXPECT_EQ(-1, dc_layer_list.back().shared_state->z_order);
1777 // The underlay rectangle is the same, so the damage is contained within 1777 // The underlay rectangle is the same, so the damage is contained within
1778 // the combined occluding rects for this and the last frame. 1778 // the combined occluding rects for this and the last frame.
1779 EXPECT_EQ(gfx::Rect(1, 2, 10, 9), damage_rect_); 1779 EXPECT_EQ(gfx::Rect(1, 2, 10, 9), damage_rect_);
1780 } 1780 }
1781 } 1781 }
1782 1782
1783 TEST_F(DCLayerOverlayTest, DamageRect) { 1783 TEST_F(DCLayerOverlayTest, DamageRect) {
1784 std::unique_ptr<RenderPass> pass = CreateRenderPass(); 1784 for (int i = 0; i < 2; i++) {
1785 CreateFullscreenCandidateYUVVideoQuad(resource_provider_.get(), 1785 std::unique_ptr<RenderPass> pass = CreateRenderPass();
1786 pass->shared_quad_state_list.back(), 1786 CreateFullscreenCandidateYUVVideoQuad(resource_provider_.get(),
1787 pass.get()); 1787 pass->shared_quad_state_list.back(),
1788 pass.get());
1788 1789
1789 gfx::Rect damage_rect; 1790 gfx::Rect damage_rect;
1790 DCLayerOverlayList dc_layer_list; 1791 DCLayerOverlayList dc_layer_list;
1791 OverlayCandidateList overlay_list; 1792 OverlayCandidateList overlay_list;
1792 RenderPassFilterList render_pass_filters; 1793 RenderPassFilterList render_pass_filters;
1793 RenderPassFilterList render_pass_background_filters; 1794 RenderPassFilterList render_pass_background_filters;
1794 damage_rect_ = gfx::Rect(1, 1, 10, 10); 1795 damage_rect_ = gfx::Rect(1, 1, 10, 10);
1795 overlay_processor_->ProcessForOverlays( 1796 overlay_processor_->ProcessForOverlays(
1796 resource_provider_.get(), pass.get(), render_pass_filters, 1797 resource_provider_.get(), pass.get(), render_pass_filters,
1797 render_pass_background_filters, &overlay_list, nullptr, &dc_layer_list, 1798 render_pass_background_filters, &overlay_list, nullptr, &dc_layer_list,
1798 &damage_rect_, &content_bounds_); 1799 &damage_rect_, &content_bounds_);
1799 EXPECT_EQ(gfx::Rect(), damage_rect); 1800 EXPECT_EQ(gfx::Rect(), damage_rect);
1800 EXPECT_EQ(0U, overlay_list.size()); 1801 EXPECT_EQ(0U, overlay_list.size());
1801 EXPECT_EQ(1U, dc_layer_list.size()); 1802 EXPECT_EQ(1U, dc_layer_list.size());
1802 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count()); 1803 EXPECT_EQ(0U, output_surface_->bind_framebuffer_count());
1803 EXPECT_EQ(1, dc_layer_list.back().shared_state->z_order); 1804 EXPECT_EQ(1, dc_layer_list.back().shared_state->z_order);
1804 EXPECT_TRUE(damage_rect_.IsEmpty()); 1805 // Damage rect should be unchanged on initial frame because of resize, but
1806 // should be empty on the second frame because everything was put in a
1807 // layer.
1808 if (i == 1)
1809 EXPECT_TRUE(damage_rect_.IsEmpty());
1810 else
1811 EXPECT_EQ(gfx::Rect(1, 1, 10, 10), damage_rect_);
1812 }
1805 } 1813 }
1806 1814
1807 class OverlayInfoRendererGL : public GLRenderer { 1815 class OverlayInfoRendererGL : public GLRenderer {
1808 public: 1816 public:
1809 OverlayInfoRendererGL(const RendererSettings* settings, 1817 OverlayInfoRendererGL(const RendererSettings* settings,
1810 OutputSurface* output_surface, 1818 OutputSurface* output_surface,
1811 ResourceProvider* resource_provider) 1819 ResourceProvider* resource_provider)
1812 : GLRenderer(settings, output_surface, resource_provider, NULL, 0), 1820 : GLRenderer(settings, output_surface, resource_provider, NULL, 0),
1813 expect_overlays_(false) {} 1821 expect_overlays_(false) {}
1814 1822
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
2456 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(), 2464 kOverlayRect, render_pass_id_, 2, gfx::RectF(), gfx::Size(),
2457 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF()); 2465 gfx::Vector2dF(1, 1), gfx::PointF(), gfx::RectF());
2458 } 2466 }
2459 2467
2460 ProcessForOverlays(); 2468 ProcessForOverlays();
2461 EXPECT_EQ(0U, ca_layer_list_.size()); 2469 EXPECT_EQ(0U, ca_layer_list_.size());
2462 } 2470 }
2463 2471
2464 } // namespace 2472 } // namespace
2465 } // namespace cc 2473 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/dc_layer_overlay.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698