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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
803 EXPECT_EQ(1u, map.count(555)); | 803 EXPECT_EQ(1u, map.count(555)); |
804 | 804 |
805 ResourceId parent_resource_id1 = map.find(999)->second; | 805 ResourceId parent_resource_id1 = map.find(999)->second; |
806 EXPECT_NE(parent_resource_id1, 999u); | 806 EXPECT_NE(parent_resource_id1, 999u); |
807 ResourceId parent_resource_id2 = map.find(555)->second; | 807 ResourceId parent_resource_id2 = map.find(555)->second; |
808 EXPECT_NE(parent_resource_id2, 555u); | 808 EXPECT_NE(parent_resource_id2, 555u); |
809 | 809 |
810 // The resources in the quads should be remapped to the parent's namespace. | 810 // The resources in the quads should be remapped to the parent's namespace. |
811 const TextureDrawQuad* quad1 = TextureDrawQuad::MaterialCast( | 811 const TextureDrawQuad* quad1 = TextureDrawQuad::MaterialCast( |
812 delegated_impl->RenderPassesInDrawOrder()[0]->quad_list.ElementAt(0)); | 812 delegated_impl->RenderPassesInDrawOrder()[0]->quad_list.ElementAt(0)); |
813 EXPECT_EQ(parent_resource_id1, quad1->resource_id); | 813 EXPECT_EQ(parent_resource_id1, quad1->resource_id()); |
814 const TextureDrawQuad* quad2 = TextureDrawQuad::MaterialCast( | 814 const TextureDrawQuad* quad2 = TextureDrawQuad::MaterialCast( |
815 delegated_impl->RenderPassesInDrawOrder()[0]->quad_list.ElementAt(1)); | 815 delegated_impl->RenderPassesInDrawOrder()[0]->quad_list.ElementAt(1)); |
816 EXPECT_EQ(parent_resource_id2, quad2->resource_id); | 816 EXPECT_EQ(parent_resource_id2, quad2->resource_id()); |
817 | 817 |
818 EndTest(); | 818 EndTest(); |
819 } | 819 } |
820 }; | 820 }; |
821 | 821 |
822 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestRemapResourcesInQuads); | 822 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestRemapResourcesInQuads); |
823 | 823 |
824 class LayerTreeHostDelegatedTestReturnUnusedResources | 824 class LayerTreeHostDelegatedTestReturnUnusedResources |
825 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 825 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
826 public: | 826 public: |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1048 EXPECT_EQ(1u, map.size()); | 1048 EXPECT_EQ(1u, map.size()); |
1049 EXPECT_EQ(1u, map.count(999)); | 1049 EXPECT_EQ(1u, map.count(999)); |
1050 | 1050 |
1051 EXPECT_EQ(1u, delegated_impl->Resources().size()); | 1051 EXPECT_EQ(1u, delegated_impl->Resources().size()); |
1052 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); | 1052 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); |
1053 | 1053 |
1054 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; | 1054 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; |
1055 EXPECT_EQ(1u, pass->quad_list.size()); | 1055 EXPECT_EQ(1u, pass->quad_list.size()); |
1056 const TextureDrawQuad* quad = | 1056 const TextureDrawQuad* quad = |
1057 TextureDrawQuad::MaterialCast(pass->quad_list.front()); | 1057 TextureDrawQuad::MaterialCast(pass->quad_list.front()); |
1058 EXPECT_EQ(map.find(999)->second, quad->resource_id); | 1058 EXPECT_EQ(map.find(999)->second, quad->resource_id()); |
1059 | 1059 |
1060 EndTest(); | 1060 EndTest(); |
1061 } | 1061 } |
1062 | 1062 |
1063 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override { | 1063 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override { |
1064 ReturnUnusedResourcesFromParent(host_impl); | 1064 ReturnUnusedResourcesFromParent(host_impl); |
1065 } | 1065 } |
1066 }; | 1066 }; |
1067 | 1067 |
1068 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestFrameBeforeAck); | 1068 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestFrameBeforeAck); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1160 | 1160 |
1161 EXPECT_EQ(3u, delegated_impl->Resources().size()); | 1161 EXPECT_EQ(3u, delegated_impl->Resources().size()); |
1162 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); | 1162 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); |
1163 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); | 1163 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); |
1164 EXPECT_EQ(1u, delegated_impl->Resources().count(444)); | 1164 EXPECT_EQ(1u, delegated_impl->Resources().count(444)); |
1165 | 1165 |
1166 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; | 1166 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; |
1167 EXPECT_EQ(3u, pass->quad_list.size()); | 1167 EXPECT_EQ(3u, pass->quad_list.size()); |
1168 const TextureDrawQuad* quad1 = | 1168 const TextureDrawQuad* quad1 = |
1169 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); | 1169 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); |
1170 EXPECT_EQ(map.find(999)->second, quad1->resource_id); | 1170 EXPECT_EQ(map.find(999)->second, quad1->resource_id()); |
1171 const TextureDrawQuad* quad2 = | 1171 const TextureDrawQuad* quad2 = |
1172 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); | 1172 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); |
1173 EXPECT_EQ(map.find(555)->second, quad2->resource_id); | 1173 EXPECT_EQ(map.find(555)->second, quad2->resource_id()); |
1174 const TextureDrawQuad* quad3 = | 1174 const TextureDrawQuad* quad3 = |
1175 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(2)); | 1175 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(2)); |
1176 EXPECT_EQ(map.find(444)->second, quad3->resource_id); | 1176 EXPECT_EQ(map.find(444)->second, quad3->resource_id()); |
1177 } | 1177 } |
1178 | 1178 |
1179 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override { | 1179 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override { |
1180 ReturnUnusedResourcesFromParent(host_impl); | 1180 ReturnUnusedResourcesFromParent(host_impl); |
1181 } | 1181 } |
1182 }; | 1182 }; |
1183 | 1183 |
1184 SINGLE_AND_MULTI_THREAD_TEST_F( | 1184 SINGLE_AND_MULTI_THREAD_TEST_F( |
1185 LayerTreeHostDelegatedTestFrameBeforeTakeResources); | 1185 LayerTreeHostDelegatedTestFrameBeforeTakeResources); |
1186 | 1186 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 EXPECT_EQ(1u, map.count(555)); | 1279 EXPECT_EQ(1u, map.count(555)); |
1280 | 1280 |
1281 EXPECT_EQ(2u, delegated_impl->Resources().size()); | 1281 EXPECT_EQ(2u, delegated_impl->Resources().size()); |
1282 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); | 1282 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); |
1283 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); | 1283 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); |
1284 | 1284 |
1285 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; | 1285 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; |
1286 EXPECT_EQ(2u, pass->quad_list.size()); | 1286 EXPECT_EQ(2u, pass->quad_list.size()); |
1287 const TextureDrawQuad* quad1 = | 1287 const TextureDrawQuad* quad1 = |
1288 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); | 1288 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); |
1289 EXPECT_EQ(map.find(999)->second, quad1->resource_id); | 1289 EXPECT_EQ(map.find(999)->second, quad1->resource_id()); |
1290 const TextureDrawQuad* quad2 = | 1290 const TextureDrawQuad* quad2 = |
1291 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); | 1291 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); |
1292 EXPECT_EQ(map.find(555)->second, quad2->resource_id); | 1292 EXPECT_EQ(map.find(555)->second, quad2->resource_id()); |
1293 break; | 1293 break; |
1294 } | 1294 } |
1295 case 2: { | 1295 case 2: { |
1296 // We only keep resources from the last valid frame. | 1296 // We only keep resources from the last valid frame. |
1297 EXPECT_EQ(2u, map.size()); | 1297 EXPECT_EQ(2u, map.size()); |
1298 EXPECT_EQ(1u, map.count(999)); | 1298 EXPECT_EQ(1u, map.count(999)); |
1299 EXPECT_EQ(1u, map.count(555)); | 1299 EXPECT_EQ(1u, map.count(555)); |
1300 | 1300 |
1301 EXPECT_EQ(2u, delegated_impl->Resources().size()); | 1301 EXPECT_EQ(2u, delegated_impl->Resources().size()); |
1302 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); | 1302 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); |
1303 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); | 1303 EXPECT_EQ(1u, delegated_impl->Resources().count(555)); |
1304 | 1304 |
1305 // The bad frame is dropped though, we still have the frame with 999 and | 1305 // The bad frame is dropped though, we still have the frame with 999 and |
1306 // 555 in it. | 1306 // 555 in it. |
1307 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; | 1307 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; |
1308 EXPECT_EQ(2u, pass->quad_list.size()); | 1308 EXPECT_EQ(2u, pass->quad_list.size()); |
1309 const TextureDrawQuad* quad1 = | 1309 const TextureDrawQuad* quad1 = |
1310 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); | 1310 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(0)); |
1311 EXPECT_EQ(map.find(999)->second, quad1->resource_id); | 1311 EXPECT_EQ(map.find(999)->second, quad1->resource_id()); |
1312 const TextureDrawQuad* quad2 = | 1312 const TextureDrawQuad* quad2 = |
1313 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); | 1313 TextureDrawQuad::MaterialCast(pass->quad_list.ElementAt(1)); |
1314 EXPECT_EQ(map.find(555)->second, quad2->resource_id); | 1314 EXPECT_EQ(map.find(555)->second, quad2->resource_id()); |
1315 break; | 1315 break; |
1316 } | 1316 } |
1317 case 3: { | 1317 case 3: { |
1318 // We have the new good frame with just 999 in it. | 1318 // We have the new good frame with just 999 in it. |
1319 EXPECT_EQ(1u, map.size()); | 1319 EXPECT_EQ(1u, map.size()); |
1320 EXPECT_EQ(1u, map.count(999)); | 1320 EXPECT_EQ(1u, map.count(999)); |
1321 | 1321 |
1322 EXPECT_EQ(1u, delegated_impl->Resources().size()); | 1322 EXPECT_EQ(1u, delegated_impl->Resources().size()); |
1323 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); | 1323 EXPECT_EQ(1u, delegated_impl->Resources().count(999)); |
1324 | 1324 |
1325 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; | 1325 const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0]; |
1326 EXPECT_EQ(1u, pass->quad_list.size()); | 1326 EXPECT_EQ(1u, pass->quad_list.size()); |
1327 const TextureDrawQuad* quad1 = | 1327 const TextureDrawQuad* quad1 = |
1328 TextureDrawQuad::MaterialCast(pass->quad_list.front()); | 1328 TextureDrawQuad::MaterialCast(pass->quad_list.front()); |
1329 EXPECT_EQ(map.find(999)->second, quad1->resource_id); | 1329 EXPECT_EQ(map.find(999)->second, quad1->resource_id()); |
1330 break; | 1330 break; |
1331 } | 1331 } |
1332 } | 1332 } |
1333 } | 1333 } |
1334 }; | 1334 }; |
1335 | 1335 |
1336 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestBadFrame); | 1336 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestBadFrame); |
1337 | 1337 |
1338 class LayerTreeHostDelegatedTestUnnamedResource | 1338 class LayerTreeHostDelegatedTestUnnamedResource |
1339 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { | 1339 : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer { |
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2283 ReturnAllResourcesFromParent(host_impl); | 2283 ReturnAllResourcesFromParent(host_impl); |
2284 } | 2284 } |
2285 | 2285 |
2286 bool drew_with_pending_tree_; | 2286 bool drew_with_pending_tree_; |
2287 }; | 2287 }; |
2288 | 2288 |
2289 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostDelegatedTestActiveFrameIsValid); | 2289 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostDelegatedTestActiveFrameIsValid); |
2290 | 2290 |
2291 } // namespace | 2291 } // namespace |
2292 } // namespace cc | 2292 } // namespace cc |
OLD | NEW |