| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |