OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/output/delegating_renderer.h" | 5 #include "cc/output/delegating_renderer.h" |
6 | 6 |
7 #include "cc/test/fake_output_surface.h" | 7 #include "cc/test/fake_output_surface.h" |
8 #include "cc/test/layer_tree_test.h" | 8 #include "cc/test/layer_tree_test.h" |
9 #include "cc/test/render_pass_test_common.h" | 9 #include "cc/test/render_pass_test_common.h" |
10 #include "cc/test/render_pass_test_utils.h" | 10 #include "cc/test/render_pass_test_utils.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 89 |
90 virtual bool PrepareToDrawOnThread( | 90 virtual bool PrepareToDrawOnThread( |
91 LayerTreeHostImpl* host_impl, | 91 LayerTreeHostImpl* host_impl, |
92 LayerTreeHostImpl::FrameData* frame, | 92 LayerTreeHostImpl::FrameData* frame, |
93 bool result) OVERRIDE { | 93 bool result) OVERRIDE { |
94 | 94 |
95 frame->render_passes.clear(); | 95 frame->render_passes.clear(); |
96 frame->render_passes_by_id.clear(); | 96 frame->render_passes_by_id.clear(); |
97 | 97 |
98 TestRenderPass* child_pass = AddRenderPass( | 98 TestRenderPass* child_pass = AddRenderPass( |
99 frame->render_passes, | 99 &frame->render_passes, |
100 RenderPass::Id(2, 1), | 100 RenderPass::Id(2, 1), |
101 gfx::Rect(3, 3, 10, 10), | 101 gfx::Rect(3, 3, 10, 10), |
102 gfx::Transform()); | 102 gfx::Transform()); |
103 child_pass->AppendOneOfEveryQuadType( | 103 child_pass->AppendOneOfEveryQuadType( |
104 host_impl->resource_provider(), RenderPass::Id(0, 0)); | 104 host_impl->resource_provider(), RenderPass::Id(0, 0)); |
105 | 105 |
106 TestRenderPass* pass = AddRenderPass( | 106 TestRenderPass* pass = AddRenderPass( |
107 frame->render_passes, | 107 &frame->render_passes, |
108 RenderPass::Id(1, 1), | 108 RenderPass::Id(1, 1), |
109 gfx::Rect(3, 3, 10, 10), | 109 gfx::Rect(3, 3, 10, 10), |
110 gfx::Transform()); | 110 gfx::Transform()); |
111 pass->AppendOneOfEveryQuadType( | 111 pass->AppendOneOfEveryQuadType( |
112 host_impl->resource_provider(), child_pass->id); | 112 host_impl->resource_provider(), child_pass->id); |
113 return true; | 113 return true; |
114 } | 114 } |
115 | 115 |
116 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { | 116 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { |
117 EXPECT_EQ(1u, output_surface_->num_sent_frames()); | 117 EXPECT_EQ(1u, output_surface_->num_sent_frames()); |
118 | 118 |
119 CompositorFrame& last_frame = output_surface_->last_sent_frame(); | 119 CompositorFrame& last_frame = output_surface_->last_sent_frame(); |
120 ASSERT_TRUE(last_frame.delegated_frame_data); | 120 ASSERT_TRUE(last_frame.delegated_frame_data); |
121 | 121 |
122 EXPECT_EQ(2u, last_frame.delegated_frame_data->render_pass_list.size()); | 122 EXPECT_EQ(2u, last_frame.delegated_frame_data->render_pass_list.size()); |
123 // Each render pass has 7 resources in it. And the root render pass has a | 123 // Each render pass has 7 resources in it. And the root render pass has a |
124 // mask resource used when drawing the child render pass. The number 7 may | 124 // mask resource used when drawing the child render pass. The number 7 may |
125 // change if AppendOneOfEveryQuadType is updated, and the value here should | 125 // change if AppendOneOfEveryQuadType is updated, and the value here should |
126 // be updated accordingly. | 126 // be updated accordingly. |
127 EXPECT_EQ( | 127 EXPECT_EQ( |
128 15u, last_frame.delegated_frame_data->resource_list.size()); | 128 15u, last_frame.delegated_frame_data->resource_list.size()); |
129 | 129 |
130 EndTest(); | 130 EndTest(); |
131 } | 131 } |
132 }; | 132 }; |
133 | 133 |
134 SINGLE_AND_MULTI_THREAD_TEST_F(DelegatingRendererTestResources) | 134 SINGLE_AND_MULTI_THREAD_TEST_F(DelegatingRendererTestResources) |
135 | 135 |
136 } // namespace cc | 136 } // namespace cc |
OLD | NEW |