| 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 "cc/surfaces/surface_aggregator.h" | 5 #include "cc/surfaces/surface_aggregator.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 testing::Test::TearDown(); | 77 testing::Test::TearDown(); |
| 78 } | 78 } |
| 79 | 79 |
| 80 protected: | 80 protected: |
| 81 SurfaceManager manager_; | 81 SurfaceManager manager_; |
| 82 FakeCompositorFrameSinkSupportClient fake_client_; | 82 FakeCompositorFrameSinkSupportClient fake_client_; |
| 83 std::unique_ptr<CompositorFrameSinkSupport> support_; | 83 std::unique_ptr<CompositorFrameSinkSupport> support_; |
| 84 SurfaceAggregator aggregator_; | 84 SurfaceAggregator aggregator_; |
| 85 }; | 85 }; |
| 86 | 86 |
| 87 TEST_F(SurfaceAggregatorTest, ValidSurfaceNoFrame) { | |
| 88 LocalSurfaceId local_surface_id(7, base::UnguessableToken::Create()); | |
| 89 SurfaceId one_id(kArbitraryRootFrameSinkId, local_surface_id); | |
| 90 support_->SubmitCompositorFrame(local_surface_id, | |
| 91 test::MakeCompositorFrame()); | |
| 92 | |
| 93 CompositorFrame frame = aggregator_.Aggregate(one_id); | |
| 94 EXPECT_TRUE(frame.render_pass_list.empty()); | |
| 95 } | |
| 96 | |
| 97 class SurfaceAggregatorValidSurfaceTest : public SurfaceAggregatorTest { | 87 class SurfaceAggregatorValidSurfaceTest : public SurfaceAggregatorTest { |
| 98 public: | 88 public: |
| 99 explicit SurfaceAggregatorValidSurfaceTest(bool use_damage_rect) | 89 explicit SurfaceAggregatorValidSurfaceTest(bool use_damage_rect) |
| 100 : SurfaceAggregatorTest(use_damage_rect), | 90 : SurfaceAggregatorTest(use_damage_rect), |
| 101 child_support_( | 91 child_support_( |
| 102 CompositorFrameSinkSupport::Create(nullptr, | 92 CompositorFrameSinkSupport::Create(nullptr, |
| 103 &manager_, | 93 &manager_, |
| 104 kArbitraryReservedFrameSinkId, | 94 kArbitraryReservedFrameSinkId, |
| 105 kChildIsRoot, | 95 kChildIsRoot, |
| 106 kHandlesFrameSinkIdInvalidation, | 96 kHandlesFrameSinkIdInvalidation, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 for (size_t i = 0; i < expected_surface_count; i++) { | 131 for (size_t i = 0; i < expected_surface_count; i++) { |
| 142 EXPECT_TRUE( | 132 EXPECT_TRUE( |
| 143 aggregator_.previous_contained_surfaces().find(surface_ids[i]) != | 133 aggregator_.previous_contained_surfaces().find(surface_ids[i]) != |
| 144 aggregator_.previous_contained_surfaces().end()); | 134 aggregator_.previous_contained_surfaces().end()); |
| 145 } | 135 } |
| 146 } | 136 } |
| 147 | 137 |
| 148 void SubmitPassListAsFrame(CompositorFrameSinkSupport* support, | 138 void SubmitPassListAsFrame(CompositorFrameSinkSupport* support, |
| 149 const LocalSurfaceId& local_surface_id, | 139 const LocalSurfaceId& local_surface_id, |
| 150 RenderPassList* pass_list) { | 140 RenderPassList* pass_list) { |
| 151 CompositorFrame frame = test::MakeCompositorFrame(); | 141 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 152 pass_list->swap(frame.render_pass_list); | 142 pass_list->swap(frame.render_pass_list); |
| 153 | 143 |
| 154 support->SubmitCompositorFrame(local_surface_id, std::move(frame)); | 144 support->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
| 155 } | 145 } |
| 156 | 146 |
| 157 void SubmitCompositorFrame(CompositorFrameSinkSupport* support, | 147 void SubmitCompositorFrame(CompositorFrameSinkSupport* support, |
| 158 test::Pass* passes, | 148 test::Pass* passes, |
| 159 size_t pass_count, | 149 size_t pass_count, |
| 160 const LocalSurfaceId& local_surface_id) { | 150 const LocalSurfaceId& local_surface_id) { |
| 161 RenderPassList pass_list; | 151 RenderPassList pass_list; |
| 162 AddPasses(&pass_list, gfx::Rect(SurfaceSize()), passes, pass_count); | 152 AddPasses(&pass_list, gfx::Rect(SurfaceSize()), passes, pass_count); |
| 163 SubmitPassListAsFrame(support, local_surface_id, &pass_list); | 153 SubmitPassListAsFrame(support, local_surface_id, &pass_list); |
| 164 } | 154 } |
| 165 | 155 |
| 166 void QueuePassAsFrame(std::unique_ptr<RenderPass> pass, | 156 void QueuePassAsFrame(std::unique_ptr<RenderPass> pass, |
| 167 const LocalSurfaceId& local_surface_id, | 157 const LocalSurfaceId& local_surface_id, |
| 168 CompositorFrameSinkSupport* support) { | 158 CompositorFrameSinkSupport* support) { |
| 169 CompositorFrame child_frame = test::MakeCompositorFrame(); | 159 CompositorFrame child_frame = test::MakeEmptyCompositorFrame(); |
| 170 child_frame.render_pass_list.push_back(std::move(pass)); | 160 child_frame.render_pass_list.push_back(std::move(pass)); |
| 171 | 161 |
| 172 support->SubmitCompositorFrame(local_surface_id, std::move(child_frame)); | 162 support->SubmitCompositorFrame(local_surface_id, std::move(child_frame)); |
| 173 } | 163 } |
| 174 | 164 |
| 175 protected: | 165 protected: |
| 176 LocalSurfaceId root_local_surface_id_; | 166 LocalSurfaceId root_local_surface_id_; |
| 177 Surface* root_surface_; | 167 Surface* root_surface_; |
| 178 LocalSurfaceIdAllocator allocator_; | 168 LocalSurfaceIdAllocator allocator_; |
| 179 std::unique_ptr<CompositorFrameSinkSupport> child_support_; | 169 std::unique_ptr<CompositorFrameSinkSupport> child_support_; |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 | 567 |
| 578 test::Quad root_quads[] = { | 568 test::Quad root_quads[] = { |
| 579 test::Quad::SolidColorQuad(SK_ColorWHITE), | 569 test::Quad::SolidColorQuad(SK_ColorWHITE), |
| 580 test::Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), 1.f), | 570 test::Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), 1.f), |
| 581 test::Quad::SolidColorQuad(SK_ColorBLACK)}; | 571 test::Quad::SolidColorQuad(SK_ColorBLACK)}; |
| 582 test::Quad root_quads2[] = {test::Quad::SolidColorQuad(SK_ColorRED)}; | 572 test::Quad root_quads2[] = {test::Quad::SolidColorQuad(SK_ColorRED)}; |
| 583 test::Pass root_passes[] = { | 573 test::Pass root_passes[] = { |
| 584 test::Pass(root_quads, arraysize(root_quads), 1), | 574 test::Pass(root_quads, arraysize(root_quads), 1), |
| 585 test::Pass(root_quads2, arraysize(root_quads2), 2)}; | 575 test::Pass(root_quads2, arraysize(root_quads2), 2)}; |
| 586 { | 576 { |
| 587 CompositorFrame frame = test::MakeCompositorFrame(); | 577 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 588 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, | 578 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, |
| 589 arraysize(root_passes)); | 579 arraysize(root_passes)); |
| 590 frame.render_pass_list[0]->copy_requests.push_back(std::move(copy_request)); | 580 frame.render_pass_list[0]->copy_requests.push_back(std::move(copy_request)); |
| 591 frame.render_pass_list[1]->copy_requests.push_back( | 581 frame.render_pass_list[1]->copy_requests.push_back( |
| 592 std::move(copy_request2)); | 582 std::move(copy_request2)); |
| 593 | 583 |
| 594 support_->SubmitCompositorFrame(root_local_surface_id_, std::move(frame)); | 584 support_->SubmitCompositorFrame(root_local_surface_id_, std::move(frame)); |
| 595 } | 585 } |
| 596 | 586 |
| 597 SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); | 587 SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 664 parent_local_surface_id); | 654 parent_local_surface_id); |
| 665 | 655 |
| 666 test::Quad parent_quads[] = { | 656 test::Quad parent_quads[] = { |
| 667 test::Quad::SolidColorQuad(SK_ColorGRAY), | 657 test::Quad::SolidColorQuad(SK_ColorGRAY), |
| 668 test::Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), 1.f), | 658 test::Quad::SurfaceQuad(embedded_surface_id, InvalidSurfaceId(), 1.f), |
| 669 test::Quad::SolidColorQuad(SK_ColorLTGRAY)}; | 659 test::Quad::SolidColorQuad(SK_ColorLTGRAY)}; |
| 670 test::Pass parent_passes[] = { | 660 test::Pass parent_passes[] = { |
| 671 test::Pass(parent_quads, arraysize(parent_quads))}; | 661 test::Pass(parent_quads, arraysize(parent_quads))}; |
| 672 | 662 |
| 673 { | 663 { |
| 674 CompositorFrame frame = test::MakeCompositorFrame(); | 664 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 675 | 665 |
| 676 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), parent_passes, | 666 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), parent_passes, |
| 677 arraysize(parent_passes)); | 667 arraysize(parent_passes)); |
| 678 | 668 |
| 679 frame.metadata.referenced_surfaces.push_back(embedded_surface_id); | 669 frame.metadata.referenced_surfaces.push_back(embedded_surface_id); |
| 680 | 670 |
| 681 parent_support->SubmitCompositorFrame(parent_local_surface_id, | 671 parent_support->SubmitCompositorFrame(parent_local_surface_id, |
| 682 std::move(frame)); | 672 std::move(frame)); |
| 683 } | 673 } |
| 684 | 674 |
| 685 test::Quad root_quads[] = {test::Quad::SolidColorQuad(SK_ColorWHITE), | 675 test::Quad root_quads[] = {test::Quad::SolidColorQuad(SK_ColorWHITE), |
| 686 test::Quad::SolidColorQuad(SK_ColorBLACK)}; | 676 test::Quad::SolidColorQuad(SK_ColorBLACK)}; |
| 687 test::Pass root_passes[] = {test::Pass(root_quads, arraysize(root_quads))}; | 677 test::Pass root_passes[] = {test::Pass(root_quads, arraysize(root_quads))}; |
| 688 | 678 |
| 689 { | 679 { |
| 690 CompositorFrame frame = test::MakeCompositorFrame(); | 680 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 691 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, | 681 AddPasses(&frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, |
| 692 arraysize(root_passes)); | 682 arraysize(root_passes)); |
| 693 | 683 |
| 694 frame.metadata.referenced_surfaces.push_back(parent_surface_id); | 684 frame.metadata.referenced_surfaces.push_back(parent_surface_id); |
| 695 // Reference to Surface ID of a Surface that doesn't exist should be | 685 // Reference to Surface ID of a Surface that doesn't exist should be |
| 696 // included in previous_contained_surfaces, but otherwise ignored. | 686 // included in previous_contained_surfaces, but otherwise ignored. |
| 697 frame.metadata.referenced_surfaces.push_back(nonexistent_surface_id); | 687 frame.metadata.referenced_surfaces.push_back(nonexistent_surface_id); |
| 698 | 688 |
| 699 support_->SubmitCompositorFrame(root_local_surface_id_, std::move(frame)); | 689 support_->SubmitCompositorFrame(root_local_surface_id_, std::move(frame)); |
| 700 } | 690 } |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1247 int child_pass_id[] = {1, 2}; | 1237 int child_pass_id[] = {1, 2}; |
| 1248 test::Quad child_quads[][1] = { | 1238 test::Quad child_quads[][1] = { |
| 1249 {test::Quad::SolidColorQuad(SK_ColorGREEN)}, | 1239 {test::Quad::SolidColorQuad(SK_ColorGREEN)}, |
| 1250 {test::Quad::RenderPassQuad(child_pass_id[0])}, | 1240 {test::Quad::RenderPassQuad(child_pass_id[0])}, |
| 1251 }; | 1241 }; |
| 1252 test::Pass child_passes[] = { | 1242 test::Pass child_passes[] = { |
| 1253 test::Pass(child_quads[0], arraysize(child_quads[0]), child_pass_id[0]), | 1243 test::Pass(child_quads[0], arraysize(child_quads[0]), child_pass_id[0]), |
| 1254 test::Pass(child_quads[1], arraysize(child_quads[1]), | 1244 test::Pass(child_quads[1], arraysize(child_quads[1]), |
| 1255 child_pass_id[1])}; | 1245 child_pass_id[1])}; |
| 1256 | 1246 |
| 1257 CompositorFrame child_frame = test::MakeCompositorFrame(); | 1247 CompositorFrame child_frame = test::MakeEmptyCompositorFrame(); |
| 1258 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1248 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1259 child_passes, arraysize(child_passes)); | 1249 child_passes, arraysize(child_passes)); |
| 1260 | 1250 |
| 1261 RenderPass* child_nonroot_pass = child_frame.render_pass_list[0].get(); | 1251 RenderPass* child_nonroot_pass = child_frame.render_pass_list[0].get(); |
| 1262 child_nonroot_pass->transform_to_root_target.Translate(8, 0); | 1252 child_nonroot_pass->transform_to_root_target.Translate(8, 0); |
| 1263 SharedQuadState* child_nonroot_pass_sqs = | 1253 SharedQuadState* child_nonroot_pass_sqs = |
| 1264 child_nonroot_pass->shared_quad_state_list.front(); | 1254 child_nonroot_pass->shared_quad_state_list.front(); |
| 1265 child_nonroot_pass_sqs->quad_to_target_transform.Translate(5, 0); | 1255 child_nonroot_pass_sqs->quad_to_target_transform.Translate(5, 0); |
| 1266 | 1256 |
| 1267 RenderPass* child_root_pass = child_frame.render_pass_list[1].get(); | 1257 RenderPass* child_root_pass = child_frame.render_pass_list[1].get(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1279 LocalSurfaceId middle_local_surface_id = allocator_.GenerateId(); | 1269 LocalSurfaceId middle_local_surface_id = allocator_.GenerateId(); |
| 1280 SurfaceId middle_surface_id(middle_support->frame_sink_id(), | 1270 SurfaceId middle_surface_id(middle_support->frame_sink_id(), |
| 1281 middle_local_surface_id); | 1271 middle_local_surface_id); |
| 1282 { | 1272 { |
| 1283 test::Quad middle_quads[] = { | 1273 test::Quad middle_quads[] = { |
| 1284 test::Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), 1.f)}; | 1274 test::Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), 1.f)}; |
| 1285 test::Pass middle_passes[] = { | 1275 test::Pass middle_passes[] = { |
| 1286 test::Pass(middle_quads, arraysize(middle_quads)), | 1276 test::Pass(middle_quads, arraysize(middle_quads)), |
| 1287 }; | 1277 }; |
| 1288 | 1278 |
| 1289 CompositorFrame middle_frame = test::MakeCompositorFrame(); | 1279 CompositorFrame middle_frame = test::MakeEmptyCompositorFrame(); |
| 1290 AddPasses(&middle_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1280 AddPasses(&middle_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1291 middle_passes, arraysize(middle_passes)); | 1281 middle_passes, arraysize(middle_passes)); |
| 1292 | 1282 |
| 1293 RenderPass* middle_root_pass = middle_frame.render_pass_list[0].get(); | 1283 RenderPass* middle_root_pass = middle_frame.render_pass_list[0].get(); |
| 1294 middle_root_pass->quad_list.ElementAt(0)->visible_rect = | 1284 middle_root_pass->quad_list.ElementAt(0)->visible_rect = |
| 1295 gfx::Rect(0, 1, 100, 7); | 1285 gfx::Rect(0, 1, 100, 7); |
| 1296 SharedQuadState* middle_root_pass_sqs = | 1286 SharedQuadState* middle_root_pass_sqs = |
| 1297 middle_root_pass->shared_quad_state_list.front(); | 1287 middle_root_pass->shared_quad_state_list.front(); |
| 1298 middle_root_pass_sqs->quad_to_target_transform.Scale(2, 3); | 1288 middle_root_pass_sqs->quad_to_target_transform.Scale(2, 3); |
| 1299 | 1289 |
| 1300 middle_support->SubmitCompositorFrame(middle_local_surface_id, | 1290 middle_support->SubmitCompositorFrame(middle_local_surface_id, |
| 1301 std::move(middle_frame)); | 1291 std::move(middle_frame)); |
| 1302 } | 1292 } |
| 1303 | 1293 |
| 1304 // Root surface. | 1294 // Root surface. |
| 1305 test::Quad secondary_quads[] = { | 1295 test::Quad secondary_quads[] = { |
| 1306 test::Quad::SolidColorQuad(1), | 1296 test::Quad::SolidColorQuad(1), |
| 1307 test::Quad::SurfaceQuad(middle_surface_id, InvalidSurfaceId(), 1.f)}; | 1297 test::Quad::SurfaceQuad(middle_surface_id, InvalidSurfaceId(), 1.f)}; |
| 1308 test::Quad root_quads[] = {test::Quad::SolidColorQuad(1)}; | 1298 test::Quad root_quads[] = {test::Quad::SolidColorQuad(1)}; |
| 1309 test::Pass root_passes[] = { | 1299 test::Pass root_passes[] = { |
| 1310 test::Pass(secondary_quads, arraysize(secondary_quads)), | 1300 test::Pass(secondary_quads, arraysize(secondary_quads)), |
| 1311 test::Pass(root_quads, arraysize(root_quads))}; | 1301 test::Pass(root_quads, arraysize(root_quads))}; |
| 1312 | 1302 |
| 1313 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1303 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1314 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, | 1304 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, |
| 1315 arraysize(root_passes)); | 1305 arraysize(root_passes)); |
| 1316 | 1306 |
| 1317 root_frame.render_pass_list[0] | 1307 root_frame.render_pass_list[0] |
| 1318 ->shared_quad_state_list.front() | 1308 ->shared_quad_state_list.front() |
| 1319 ->quad_to_target_transform.Translate(0, 7); | 1309 ->quad_to_target_transform.Translate(0, 7); |
| 1320 root_frame.render_pass_list[0] | 1310 root_frame.render_pass_list[0] |
| 1321 ->shared_quad_state_list.ElementAt(1) | 1311 ->shared_quad_state_list.ElementAt(1) |
| 1322 ->quad_to_target_transform.Translate(0, 10); | 1312 ->quad_to_target_transform.Translate(0, 10); |
| 1323 root_frame.render_pass_list[0]->quad_list.ElementAt(1)->visible_rect = | 1313 root_frame.render_pass_list[0]->quad_list.ElementAt(1)->visible_rect = |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1407 // Tests that damage rects are aggregated correctly when surfaces change. | 1397 // Tests that damage rects are aggregated correctly when surfaces change. |
| 1408 TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) { | 1398 TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateDamageRect) { |
| 1409 std::unique_ptr<CompositorFrameSinkSupport> parent_support = | 1399 std::unique_ptr<CompositorFrameSinkSupport> parent_support = |
| 1410 CompositorFrameSinkSupport::Create( | 1400 CompositorFrameSinkSupport::Create( |
| 1411 nullptr, &manager_, kArbitraryMiddleFrameSinkId, kChildIsRoot, | 1401 nullptr, &manager_, kArbitraryMiddleFrameSinkId, kChildIsRoot, |
| 1412 kHandlesFrameSinkIdInvalidation, kNeedsSyncPoints); | 1402 kHandlesFrameSinkIdInvalidation, kNeedsSyncPoints); |
| 1413 test::Quad child_quads[] = {test::Quad::RenderPassQuad(1)}; | 1403 test::Quad child_quads[] = {test::Quad::RenderPassQuad(1)}; |
| 1414 test::Pass child_passes[] = { | 1404 test::Pass child_passes[] = { |
| 1415 test::Pass(child_quads, arraysize(child_quads), 1)}; | 1405 test::Pass(child_quads, arraysize(child_quads), 1)}; |
| 1416 | 1406 |
| 1417 CompositorFrame child_frame = test::MakeCompositorFrame(); | 1407 CompositorFrame child_frame = test::MakeEmptyCompositorFrame(); |
| 1418 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1408 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1419 child_passes, arraysize(child_passes)); | 1409 child_passes, arraysize(child_passes)); |
| 1420 | 1410 |
| 1421 RenderPass* child_root_pass = child_frame.render_pass_list[0].get(); | 1411 RenderPass* child_root_pass = child_frame.render_pass_list[0].get(); |
| 1422 SharedQuadState* child_root_pass_sqs = | 1412 SharedQuadState* child_root_pass_sqs = |
| 1423 child_root_pass->shared_quad_state_list.front(); | 1413 child_root_pass->shared_quad_state_list.front(); |
| 1424 child_root_pass_sqs->quad_to_target_transform.Translate(8, 0); | 1414 child_root_pass_sqs->quad_to_target_transform.Translate(8, 0); |
| 1425 | 1415 |
| 1426 LocalSurfaceId child_local_surface_id = allocator_.GenerateId(); | 1416 LocalSurfaceId child_local_surface_id = allocator_.GenerateId(); |
| 1427 SurfaceId child_surface_id(child_support_->frame_sink_id(), | 1417 SurfaceId child_surface_id(child_support_->frame_sink_id(), |
| 1428 child_local_surface_id); | 1418 child_local_surface_id); |
| 1429 child_support_->SubmitCompositorFrame(child_local_surface_id, | 1419 child_support_->SubmitCompositorFrame(child_local_surface_id, |
| 1430 std::move(child_frame)); | 1420 std::move(child_frame)); |
| 1431 | 1421 |
| 1432 test::Quad parent_surface_quads[] = { | 1422 test::Quad parent_surface_quads[] = { |
| 1433 test::Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), 1.f)}; | 1423 test::Quad::SurfaceQuad(child_surface_id, InvalidSurfaceId(), 1.f)}; |
| 1434 test::Pass parent_surface_passes[] = { | 1424 test::Pass parent_surface_passes[] = { |
| 1435 test::Pass(parent_surface_quads, arraysize(parent_surface_quads), 1)}; | 1425 test::Pass(parent_surface_quads, arraysize(parent_surface_quads), 1)}; |
| 1436 | 1426 |
| 1437 // Parent surface is only used to test if the transform is applied correctly | 1427 // Parent surface is only used to test if the transform is applied correctly |
| 1438 // to the child surface's damage. | 1428 // to the child surface's damage. |
| 1439 CompositorFrame parent_surface_frame = test::MakeCompositorFrame(); | 1429 CompositorFrame parent_surface_frame = test::MakeEmptyCompositorFrame(); |
| 1440 AddPasses(&parent_surface_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1430 AddPasses(&parent_surface_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1441 parent_surface_passes, arraysize(parent_surface_passes)); | 1431 parent_surface_passes, arraysize(parent_surface_passes)); |
| 1442 | 1432 |
| 1443 LocalSurfaceId parent_local_surface_id = allocator_.GenerateId(); | 1433 LocalSurfaceId parent_local_surface_id = allocator_.GenerateId(); |
| 1444 SurfaceId parent_surface_id(parent_support->frame_sink_id(), | 1434 SurfaceId parent_surface_id(parent_support->frame_sink_id(), |
| 1445 parent_local_surface_id); | 1435 parent_local_surface_id); |
| 1446 parent_support->SubmitCompositorFrame(parent_local_surface_id, | 1436 parent_support->SubmitCompositorFrame(parent_local_surface_id, |
| 1447 std::move(parent_surface_frame)); | 1437 std::move(parent_surface_frame)); |
| 1448 | 1438 |
| 1449 test::Quad root_surface_quads[] = { | 1439 test::Quad root_surface_quads[] = { |
| 1450 test::Quad::SurfaceQuad(parent_surface_id, InvalidSurfaceId(), 1.f)}; | 1440 test::Quad::SurfaceQuad(parent_surface_id, InvalidSurfaceId(), 1.f)}; |
| 1451 test::Quad root_render_pass_quads[] = {test::Quad::RenderPassQuad(1)}; | 1441 test::Quad root_render_pass_quads[] = {test::Quad::RenderPassQuad(1)}; |
| 1452 | 1442 |
| 1453 test::Pass root_passes[] = { | 1443 test::Pass root_passes[] = { |
| 1454 test::Pass(root_surface_quads, arraysize(root_surface_quads), 1), | 1444 test::Pass(root_surface_quads, arraysize(root_surface_quads), 1), |
| 1455 test::Pass(root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; | 1445 test::Pass(root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; |
| 1456 | 1446 |
| 1457 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1447 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1458 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, | 1448 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, |
| 1459 arraysize(root_passes)); | 1449 arraysize(root_passes)); |
| 1460 | 1450 |
| 1461 root_frame.render_pass_list[0] | 1451 root_frame.render_pass_list[0] |
| 1462 ->shared_quad_state_list.front() | 1452 ->shared_quad_state_list.front() |
| 1463 ->quad_to_target_transform.Translate(0, 10); | 1453 ->quad_to_target_transform.Translate(0, 10); |
| 1464 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(5, 5, 10, 10); | 1454 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(5, 5, 10, 10); |
| 1465 root_frame.render_pass_list[1]->damage_rect = gfx::Rect(5, 5, 100, 100); | 1455 root_frame.render_pass_list[1]->damage_rect = gfx::Rect(5, 5, 100, 100); |
| 1466 | 1456 |
| 1467 support_->SubmitCompositorFrame(root_local_surface_id_, | 1457 support_->SubmitCompositorFrame(root_local_surface_id_, |
| 1468 std::move(root_frame)); | 1458 std::move(root_frame)); |
| 1469 | 1459 |
| 1470 SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); | 1460 SurfaceId root_surface_id(support_->frame_sink_id(), root_local_surface_id_); |
| 1471 CompositorFrame aggregated_frame = aggregator_.Aggregate(root_surface_id); | 1461 CompositorFrame aggregated_frame = aggregator_.Aggregate(root_surface_id); |
| 1472 | 1462 |
| 1473 const RenderPassList& aggregated_pass_list = | 1463 const RenderPassList& aggregated_pass_list = |
| 1474 aggregated_frame.render_pass_list; | 1464 aggregated_frame.render_pass_list; |
| 1475 | 1465 |
| 1476 ASSERT_EQ(2u, aggregated_pass_list.size()); | 1466 ASSERT_EQ(2u, aggregated_pass_list.size()); |
| 1477 | 1467 |
| 1478 // Damage rect for first aggregation should contain entire root surface. | 1468 // Damage rect for first aggregation should contain entire root surface. |
| 1479 EXPECT_TRUE( | 1469 EXPECT_TRUE( |
| 1480 aggregated_pass_list[1]->damage_rect.Contains(gfx::Rect(SurfaceSize()))); | 1470 aggregated_pass_list[1]->damage_rect.Contains(gfx::Rect(SurfaceSize()))); |
| 1481 | 1471 |
| 1482 { | 1472 { |
| 1483 CompositorFrame child_frame = test::MakeCompositorFrame(); | 1473 CompositorFrame child_frame = test::MakeEmptyCompositorFrame(); |
| 1484 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1474 AddPasses(&child_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1485 child_passes, arraysize(child_passes)); | 1475 child_passes, arraysize(child_passes)); |
| 1486 | 1476 |
| 1487 RenderPass* child_root_pass = child_frame.render_pass_list[0].get(); | 1477 RenderPass* child_root_pass = child_frame.render_pass_list[0].get(); |
| 1488 SharedQuadState* child_root_pass_sqs = | 1478 SharedQuadState* child_root_pass_sqs = |
| 1489 child_root_pass->shared_quad_state_list.front(); | 1479 child_root_pass->shared_quad_state_list.front(); |
| 1490 child_root_pass_sqs->quad_to_target_transform.Translate(8, 0); | 1480 child_root_pass_sqs->quad_to_target_transform.Translate(8, 0); |
| 1491 child_root_pass->damage_rect = gfx::Rect(10, 10, 10, 10); | 1481 child_root_pass->damage_rect = gfx::Rect(10, 10, 10, 10); |
| 1492 | 1482 |
| 1493 child_support_->SubmitCompositorFrame(child_local_surface_id, | 1483 child_support_->SubmitCompositorFrame(child_local_surface_id, |
| 1494 std::move(child_frame)); | 1484 std::move(child_frame)); |
| 1495 | 1485 |
| 1496 SurfaceId root_surface_id(support_->frame_sink_id(), | 1486 SurfaceId root_surface_id(support_->frame_sink_id(), |
| 1497 root_local_surface_id_); | 1487 root_local_surface_id_); |
| 1498 CompositorFrame aggregated_frame = aggregator_.Aggregate(root_surface_id); | 1488 CompositorFrame aggregated_frame = aggregator_.Aggregate(root_surface_id); |
| 1499 | 1489 |
| 1500 const RenderPassList& aggregated_pass_list = | 1490 const RenderPassList& aggregated_pass_list = |
| 1501 aggregated_frame.render_pass_list; | 1491 aggregated_frame.render_pass_list; |
| 1502 | 1492 |
| 1503 ASSERT_EQ(2u, aggregated_pass_list.size()); | 1493 ASSERT_EQ(2u, aggregated_pass_list.size()); |
| 1504 | 1494 |
| 1505 // Outer surface didn't change, so transformed inner damage rect should be | 1495 // Outer surface didn't change, so transformed inner damage rect should be |
| 1506 // used. | 1496 // used. |
| 1507 EXPECT_EQ(gfx::Rect(10, 20, 10, 10).ToString(), | 1497 EXPECT_EQ(gfx::Rect(10, 20, 10, 10).ToString(), |
| 1508 aggregated_pass_list[1]->damage_rect.ToString()); | 1498 aggregated_pass_list[1]->damage_rect.ToString()); |
| 1509 } | 1499 } |
| 1510 | 1500 |
| 1511 { | 1501 { |
| 1512 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1502 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1513 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1503 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1514 root_passes, arraysize(root_passes)); | 1504 root_passes, arraysize(root_passes)); |
| 1515 | 1505 |
| 1516 root_frame.render_pass_list[0] | 1506 root_frame.render_pass_list[0] |
| 1517 ->shared_quad_state_list.front() | 1507 ->shared_quad_state_list.front() |
| 1518 ->quad_to_target_transform.Translate(0, 10); | 1508 ->quad_to_target_transform.Translate(0, 10); |
| 1519 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(0, 0, 1, 1); | 1509 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(0, 0, 1, 1); |
| 1520 | 1510 |
| 1521 support_->SubmitCompositorFrame(root_local_surface_id_, | 1511 support_->SubmitCompositorFrame(root_local_surface_id_, |
| 1522 std::move(root_frame)); | 1512 std::move(root_frame)); |
| 1523 } | 1513 } |
| 1524 | 1514 |
| 1525 { | 1515 { |
| 1526 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1516 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1527 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1517 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1528 root_passes, arraysize(root_passes)); | 1518 root_passes, arraysize(root_passes)); |
| 1529 | 1519 |
| 1530 root_frame.render_pass_list[0] | 1520 root_frame.render_pass_list[0] |
| 1531 ->shared_quad_state_list.front() | 1521 ->shared_quad_state_list.front() |
| 1532 ->quad_to_target_transform.Translate(0, 10); | 1522 ->quad_to_target_transform.Translate(0, 10); |
| 1533 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(1, 1, 1, 1); | 1523 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(1, 1, 1, 1); |
| 1534 | 1524 |
| 1535 support_->SubmitCompositorFrame(root_local_surface_id_, | 1525 support_->SubmitCompositorFrame(root_local_surface_id_, |
| 1536 std::move(root_frame)); | 1526 std::move(root_frame)); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 parent_support->EvictFrame(); | 1572 parent_support->EvictFrame(); |
| 1583 } | 1573 } |
| 1584 | 1574 |
| 1585 // Check that damage is correctly calculated for surfaces. | 1575 // Check that damage is correctly calculated for surfaces. |
| 1586 TEST_F(SurfaceAggregatorValidSurfaceTest, SwitchSurfaceDamage) { | 1576 TEST_F(SurfaceAggregatorValidSurfaceTest, SwitchSurfaceDamage) { |
| 1587 test::Quad root_render_pass_quads[] = {test::Quad::SolidColorQuad(1)}; | 1577 test::Quad root_render_pass_quads[] = {test::Quad::SolidColorQuad(1)}; |
| 1588 | 1578 |
| 1589 test::Pass root_passes[] = { | 1579 test::Pass root_passes[] = { |
| 1590 test::Pass(root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; | 1580 test::Pass(root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; |
| 1591 | 1581 |
| 1592 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1582 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1593 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, | 1583 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), root_passes, |
| 1594 arraysize(root_passes)); | 1584 arraysize(root_passes)); |
| 1595 | 1585 |
| 1596 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(5, 5, 100, 100); | 1586 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(5, 5, 100, 100); |
| 1597 | 1587 |
| 1598 support_->SubmitCompositorFrame(root_local_surface_id_, | 1588 support_->SubmitCompositorFrame(root_local_surface_id_, |
| 1599 std::move(root_frame)); | 1589 std::move(root_frame)); |
| 1600 | 1590 |
| 1601 { | 1591 { |
| 1602 SurfaceId root_surface_id(support_->frame_sink_id(), | 1592 SurfaceId root_surface_id(support_->frame_sink_id(), |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1615 | 1605 |
| 1616 LocalSurfaceId second_root_local_surface_id = allocator_.GenerateId(); | 1606 LocalSurfaceId second_root_local_surface_id = allocator_.GenerateId(); |
| 1617 SurfaceId second_root_surface_id(support_->frame_sink_id(), | 1607 SurfaceId second_root_surface_id(support_->frame_sink_id(), |
| 1618 second_root_local_surface_id); | 1608 second_root_local_surface_id); |
| 1619 { | 1609 { |
| 1620 test::Quad root_render_pass_quads[] = {test::Quad::SolidColorQuad(1)}; | 1610 test::Quad root_render_pass_quads[] = {test::Quad::SolidColorQuad(1)}; |
| 1621 | 1611 |
| 1622 test::Pass root_passes[] = {test::Pass( | 1612 test::Pass root_passes[] = {test::Pass( |
| 1623 root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; | 1613 root_render_pass_quads, arraysize(root_render_pass_quads), 2)}; |
| 1624 | 1614 |
| 1625 CompositorFrame root_frame = test::MakeCompositorFrame(); | 1615 CompositorFrame root_frame = test::MakeEmptyCompositorFrame(); |
| 1626 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), | 1616 AddPasses(&root_frame.render_pass_list, gfx::Rect(SurfaceSize()), |
| 1627 root_passes, arraysize(root_passes)); | 1617 root_passes, arraysize(root_passes)); |
| 1628 | 1618 |
| 1629 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(1, 2, 3, 4); | 1619 root_frame.render_pass_list[0]->damage_rect = gfx::Rect(1, 2, 3, 4); |
| 1630 | 1620 |
| 1631 support_->SubmitCompositorFrame(second_root_local_surface_id, | 1621 support_->SubmitCompositorFrame(second_root_local_surface_id, |
| 1632 std::move(root_frame)); | 1622 std::move(root_frame)); |
| 1633 } | 1623 } |
| 1634 { | 1624 { |
| 1635 CompositorFrame aggregated_frame = | 1625 CompositorFrame aggregated_frame = |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1960 std::unique_ptr<ResourceProvider> resource_provider_; | 1950 std::unique_ptr<ResourceProvider> resource_provider_; |
| 1961 std::unique_ptr<SurfaceAggregator> aggregator_; | 1951 std::unique_ptr<SurfaceAggregator> aggregator_; |
| 1962 }; | 1952 }; |
| 1963 | 1953 |
| 1964 void SubmitCompositorFrameWithResources(ResourceId* resource_ids, | 1954 void SubmitCompositorFrameWithResources(ResourceId* resource_ids, |
| 1965 size_t num_resource_ids, | 1955 size_t num_resource_ids, |
| 1966 bool valid, | 1956 bool valid, |
| 1967 SurfaceId child_id, | 1957 SurfaceId child_id, |
| 1968 CompositorFrameSinkSupport* support, | 1958 CompositorFrameSinkSupport* support, |
| 1969 SurfaceId surface_id) { | 1959 SurfaceId surface_id) { |
| 1970 CompositorFrame frame = test::MakeCompositorFrame(); | 1960 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 1971 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 1961 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
| 1972 pass->id = 1; | 1962 pass->id = 1; |
| 1973 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 1963 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
| 1974 sqs->opacity = 1.f; | 1964 sqs->opacity = 1.f; |
| 1975 if (child_id.is_valid()) { | 1965 if (child_id.is_valid()) { |
| 1976 SurfaceDrawQuad* surface_quad = | 1966 SurfaceDrawQuad* surface_quad = |
| 1977 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 1967 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
| 1978 surface_quad->SetNew(sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), | 1968 surface_quad->SetNew(sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), |
| 1979 child_id, SurfaceDrawQuadType::PRIMARY, nullptr); | 1969 child_id, SurfaceDrawQuadType::PRIMARY, nullptr); |
| 1980 } | 1970 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2044 | 2034 |
| 2045 TEST_F(SurfaceAggregatorWithResourcesTest, TakeInvalidResources) { | 2035 TEST_F(SurfaceAggregatorWithResourcesTest, TakeInvalidResources) { |
| 2046 FakeCompositorFrameSinkSupportClient client; | 2036 FakeCompositorFrameSinkSupportClient client; |
| 2047 std::unique_ptr<CompositorFrameSinkSupport> support = | 2037 std::unique_ptr<CompositorFrameSinkSupport> support = |
| 2048 CompositorFrameSinkSupport::Create( | 2038 CompositorFrameSinkSupport::Create( |
| 2049 &client, &manager_, kArbitraryRootFrameSinkId, kRootIsRoot, | 2039 &client, &manager_, kArbitraryRootFrameSinkId, kRootIsRoot, |
| 2050 kHandlesFrameSinkIdInvalidation, kNeedsSyncPoints); | 2040 kHandlesFrameSinkIdInvalidation, kNeedsSyncPoints); |
| 2051 LocalSurfaceId local_surface_id(7u, base::UnguessableToken::Create()); | 2041 LocalSurfaceId local_surface_id(7u, base::UnguessableToken::Create()); |
| 2052 SurfaceId surface_id(support->frame_sink_id(), local_surface_id); | 2042 SurfaceId surface_id(support->frame_sink_id(), local_surface_id); |
| 2053 | 2043 |
| 2054 CompositorFrame frame = test::MakeCompositorFrame(); | 2044 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 2055 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 2045 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
| 2056 pass->id = 1; | 2046 pass->id = 1; |
| 2057 TransferableResource resource; | 2047 TransferableResource resource; |
| 2058 resource.id = 11; | 2048 resource.id = 11; |
| 2059 // ResourceProvider is software but resource is not, so it should be | 2049 // ResourceProvider is software but resource is not, so it should be |
| 2060 // ignored. | 2050 // ignored. |
| 2061 resource.is_software = false; | 2051 resource.is_software = false; |
| 2062 frame.resource_list.push_back(resource); | 2052 frame.resource_list.push_back(resource); |
| 2063 frame.render_pass_list.push_back(std::move(pass)); | 2053 frame.render_pass_list.push_back(std::move(pass)); |
| 2064 support->SubmitCompositorFrame(local_surface_id, std::move(frame)); | 2054 support->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2215 pass->id = 1; | 2205 pass->id = 1; |
| 2216 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 2206 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
| 2217 sqs->opacity = 1.f; | 2207 sqs->opacity = 1.f; |
| 2218 SurfaceDrawQuad* surface_quad = | 2208 SurfaceDrawQuad* surface_quad = |
| 2219 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 2209 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
| 2220 | 2210 |
| 2221 surface_quad->SetNew(sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), | 2211 surface_quad->SetNew(sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), |
| 2222 surface1_id, SurfaceDrawQuadType::PRIMARY, nullptr); | 2212 surface1_id, SurfaceDrawQuadType::PRIMARY, nullptr); |
| 2223 pass->copy_requests.push_back(CopyOutputRequest::CreateEmptyRequest()); | 2213 pass->copy_requests.push_back(CopyOutputRequest::CreateEmptyRequest()); |
| 2224 | 2214 |
| 2225 CompositorFrame frame = test::MakeCompositorFrame(); | 2215 CompositorFrame frame = test::MakeEmptyCompositorFrame(); |
| 2226 frame.render_pass_list.push_back(std::move(pass)); | 2216 frame.render_pass_list.push_back(std::move(pass)); |
| 2227 | 2217 |
| 2228 support2->SubmitCompositorFrame(local_frame2_id, std::move(frame)); | 2218 support2->SubmitCompositorFrame(local_frame2_id, std::move(frame)); |
| 2229 } | 2219 } |
| 2230 | 2220 |
| 2231 frame = aggregator_->Aggregate(surface2_id); | 2221 frame = aggregator_->Aggregate(surface2_id); |
| 2232 EXPECT_EQ(1u, frame.render_pass_list.size()); | 2222 EXPECT_EQ(1u, frame.render_pass_list.size()); |
| 2233 render_pass = frame.render_pass_list.front().get(); | 2223 render_pass = frame.render_pass_list.front().get(); |
| 2234 | 2224 |
| 2235 // Parent has copy request, so texture should not be drawn. | 2225 // Parent has copy request, so texture should not be drawn. |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2289 aggregated_frame = aggregator_.Aggregate(surface_id); | 2279 aggregated_frame = aggregator_.Aggregate(surface_id); |
| 2290 EXPECT_EQ(3u, aggregated_frame.render_pass_list.size()); | 2280 EXPECT_EQ(3u, aggregated_frame.render_pass_list.size()); |
| 2291 EXPECT_EQ(color_space1, aggregated_frame.render_pass_list[0]->color_space); | 2281 EXPECT_EQ(color_space1, aggregated_frame.render_pass_list[0]->color_space); |
| 2292 EXPECT_EQ(color_space1, aggregated_frame.render_pass_list[1]->color_space); | 2282 EXPECT_EQ(color_space1, aggregated_frame.render_pass_list[1]->color_space); |
| 2293 EXPECT_EQ(color_space3, aggregated_frame.render_pass_list[2]->color_space); | 2283 EXPECT_EQ(color_space3, aggregated_frame.render_pass_list[2]->color_space); |
| 2294 } | 2284 } |
| 2295 | 2285 |
| 2296 } // namespace | 2286 } // namespace |
| 2297 } // namespace cc | 2287 } // namespace cc |
| 2298 | 2288 |
| OLD | NEW |