| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/layers/texture_layer.h" | 5 #include "cc/layers/texture_layer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 layer_->SetTextureMailbox( | 687 layer_->SetTextureMailbox( |
| 688 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), | 688 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), |
| 689 callback.Pass()); | 689 callback.Pass()); |
| 690 } | 690 } |
| 691 | 691 |
| 692 virtual void BeginTest() OVERRIDE { | 692 virtual void BeginTest() OVERRIDE { |
| 693 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 693 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 694 | 694 |
| 695 gfx::Size bounds(100, 100); | 695 gfx::Size bounds(100, 100); |
| 696 root_ = Layer::Create(); | 696 root_ = Layer::Create(); |
| 697 root_->SetAnchorPoint(gfx::PointF()); | 697 root_->SetTransformOrigin(gfx::Point3F()); |
| 698 root_->SetBounds(bounds); | 698 root_->SetBounds(bounds); |
| 699 | 699 |
| 700 layer_ = TextureLayer::CreateForMailbox(NULL); | 700 layer_ = TextureLayer::CreateForMailbox(NULL); |
| 701 layer_->SetIsDrawable(true); | 701 layer_->SetIsDrawable(true); |
| 702 layer_->SetAnchorPoint(gfx::PointF()); | 702 layer_->SetTransformOrigin(gfx::Point3F()); |
| 703 layer_->SetBounds(bounds); | 703 layer_->SetBounds(bounds); |
| 704 | 704 |
| 705 root_->AddChild(layer_); | 705 root_->AddChild(layer_); |
| 706 layer_tree_host()->SetRootLayer(root_); | 706 layer_tree_host()->SetRootLayer(root_); |
| 707 layer_tree_host()->SetViewportSize(bounds); | 707 layer_tree_host()->SetViewportSize(bounds); |
| 708 SetMailbox('1'); | 708 SetMailbox('1'); |
| 709 EXPECT_EQ(0, callback_count_); | 709 EXPECT_EQ(0, callback_count_); |
| 710 | 710 |
| 711 // Case #1: change mailbox before the commit. The old mailbox should be | 711 // Case #1: change mailbox before the commit. The old mailbox should be |
| 712 // released immediately. | 712 // released immediately. |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 base::Bind( | 812 base::Bind( |
| 813 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback)); | 813 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback)); |
| 814 layer_->SetTextureMailbox( | 814 layer_->SetTextureMailbox( |
| 815 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), | 815 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), |
| 816 callback.Pass()); | 816 callback.Pass()); |
| 817 } | 817 } |
| 818 | 818 |
| 819 virtual void BeginTest() OVERRIDE { | 819 virtual void BeginTest() OVERRIDE { |
| 820 gfx::Size bounds(100, 100); | 820 gfx::Size bounds(100, 100); |
| 821 root_ = Layer::Create(); | 821 root_ = Layer::Create(); |
| 822 root_->SetAnchorPoint(gfx::PointF()); | 822 root_->SetTransformOrigin(gfx::Point3F()); |
| 823 root_->SetBounds(bounds); | 823 root_->SetBounds(bounds); |
| 824 | 824 |
| 825 layer_ = TextureLayer::CreateForMailbox(NULL); | 825 layer_ = TextureLayer::CreateForMailbox(NULL); |
| 826 layer_->SetIsDrawable(true); | 826 layer_->SetIsDrawable(true); |
| 827 layer_->SetAnchorPoint(gfx::PointF()); | 827 layer_->SetTransformOrigin(gfx::Point3F()); |
| 828 layer_->SetBounds(bounds); | 828 layer_->SetBounds(bounds); |
| 829 | 829 |
| 830 root_->AddChild(layer_); | 830 root_->AddChild(layer_); |
| 831 layer_tree_host()->SetRootLayer(root_); | 831 layer_tree_host()->SetRootLayer(root_); |
| 832 layer_tree_host()->SetViewportSize(bounds); | 832 layer_tree_host()->SetViewportSize(bounds); |
| 833 SetMailbox('1'); | 833 SetMailbox('1'); |
| 834 | 834 |
| 835 PostSetNeedsCommitToMainThread(); | 835 PostSetNeedsCommitToMainThread(); |
| 836 } | 836 } |
| 837 | 837 |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1122 void MailboxReleased(uint32 sync_point, bool lost_resource) { | 1122 void MailboxReleased(uint32 sync_point, bool lost_resource) { |
| 1123 // Source frame number during callback is the same as the source frame | 1123 // Source frame number during callback is the same as the source frame |
| 1124 // on which it was released. | 1124 // on which it was released. |
| 1125 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); | 1125 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); |
| 1126 EndTest(); | 1126 EndTest(); |
| 1127 } | 1127 } |
| 1128 | 1128 |
| 1129 virtual void SetupTree() OVERRIDE { | 1129 virtual void SetupTree() OVERRIDE { |
| 1130 scoped_refptr<Layer> root = Layer::Create(); | 1130 scoped_refptr<Layer> root = Layer::Create(); |
| 1131 root->SetBounds(gfx::Size(10, 10)); | 1131 root->SetBounds(gfx::Size(10, 10)); |
| 1132 root->SetAnchorPoint(gfx::PointF()); | 1132 root->SetTransformOrigin(gfx::Point3F()); |
| 1133 root->SetIsDrawable(true); | 1133 root->SetIsDrawable(true); |
| 1134 | 1134 |
| 1135 texture_layer_ = TextureLayer::CreateForMailbox(this); | 1135 texture_layer_ = TextureLayer::CreateForMailbox(this); |
| 1136 texture_layer_->SetBounds(gfx::Size(10, 10)); | 1136 texture_layer_->SetBounds(gfx::Size(10, 10)); |
| 1137 texture_layer_->SetAnchorPoint(gfx::PointF()); | 1137 texture_layer_->SetTransformOrigin(gfx::Point3F()); |
| 1138 texture_layer_->SetIsDrawable(true); | 1138 texture_layer_->SetIsDrawable(true); |
| 1139 root->AddChild(texture_layer_); | 1139 root->AddChild(texture_layer_); |
| 1140 | 1140 |
| 1141 layer_tree_host()->SetRootLayer(root); | 1141 layer_tree_host()->SetRootLayer(root); |
| 1142 LayerTreeTest::SetupTree(); | 1142 LayerTreeTest::SetupTree(); |
| 1143 } | 1143 } |
| 1144 | 1144 |
| 1145 virtual void BeginTest() OVERRIDE { | 1145 virtual void BeginTest() OVERRIDE { |
| 1146 PostSetNeedsCommitToMainThread(); | 1146 PostSetNeedsCommitToMainThread(); |
| 1147 } | 1147 } |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1222 return TextureMailbox(MailboxFromChar(name), GL_TEXTURE_2D, 0); | 1222 return TextureMailbox(MailboxFromChar(name), GL_TEXTURE_2D, 0); |
| 1223 } | 1223 } |
| 1224 | 1224 |
| 1225 void MailboxReleased(uint32 sync_point, bool lost_resource) { | 1225 void MailboxReleased(uint32 sync_point, bool lost_resource) { |
| 1226 ++mailbox_returned_; | 1226 ++mailbox_returned_; |
| 1227 } | 1227 } |
| 1228 | 1228 |
| 1229 virtual void SetupTree() OVERRIDE { | 1229 virtual void SetupTree() OVERRIDE { |
| 1230 scoped_refptr<Layer> root = Layer::Create(); | 1230 scoped_refptr<Layer> root = Layer::Create(); |
| 1231 root->SetBounds(gfx::Size(10, 10)); | 1231 root->SetBounds(gfx::Size(10, 10)); |
| 1232 root->SetAnchorPoint(gfx::PointF()); | 1232 root->SetTransformOrigin(gfx::Point3F()); |
| 1233 root->SetIsDrawable(true); | 1233 root->SetIsDrawable(true); |
| 1234 | 1234 |
| 1235 solid_layer_ = SolidColorLayer::Create(); | 1235 solid_layer_ = SolidColorLayer::Create(); |
| 1236 solid_layer_->SetBounds(gfx::Size(10, 10)); | 1236 solid_layer_->SetBounds(gfx::Size(10, 10)); |
| 1237 solid_layer_->SetIsDrawable(true); | 1237 solid_layer_->SetIsDrawable(true); |
| 1238 solid_layer_->SetBackgroundColor(SK_ColorWHITE); | 1238 solid_layer_->SetBackgroundColor(SK_ColorWHITE); |
| 1239 root->AddChild(solid_layer_); | 1239 root->AddChild(solid_layer_); |
| 1240 | 1240 |
| 1241 parent_layer_ = Layer::Create(); | 1241 parent_layer_ = Layer::Create(); |
| 1242 parent_layer_->SetBounds(gfx::Size(10, 10)); | 1242 parent_layer_->SetBounds(gfx::Size(10, 10)); |
| 1243 parent_layer_->SetIsDrawable(true); | 1243 parent_layer_->SetIsDrawable(true); |
| 1244 root->AddChild(parent_layer_); | 1244 root->AddChild(parent_layer_); |
| 1245 | 1245 |
| 1246 texture_layer_ = TextureLayer::CreateForMailbox(this); | 1246 texture_layer_ = TextureLayer::CreateForMailbox(this); |
| 1247 texture_layer_->SetBounds(gfx::Size(10, 10)); | 1247 texture_layer_->SetBounds(gfx::Size(10, 10)); |
| 1248 texture_layer_->SetAnchorPoint(gfx::PointF()); | 1248 texture_layer_->SetTransformOrigin(gfx::Point3F()); |
| 1249 texture_layer_->SetIsDrawable(true); | 1249 texture_layer_->SetIsDrawable(true); |
| 1250 parent_layer_->AddChild(texture_layer_); | 1250 parent_layer_->AddChild(texture_layer_); |
| 1251 | 1251 |
| 1252 layer_tree_host()->SetRootLayer(root); | 1252 layer_tree_host()->SetRootLayer(root); |
| 1253 LayerTreeTest::SetupTree(); | 1253 LayerTreeTest::SetupTree(); |
| 1254 } | 1254 } |
| 1255 | 1255 |
| 1256 virtual void BeginTest() OVERRIDE { | 1256 virtual void BeginTest() OVERRIDE { |
| 1257 PostSetNeedsCommitToMainThread(); | 1257 PostSetNeedsCommitToMainThread(); |
| 1258 } | 1258 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1357 void MailboxReleased(unsigned sync_point, bool lost_resource) { | 1357 void MailboxReleased(unsigned sync_point, bool lost_resource) { |
| 1358 mailbox_released_ = true; | 1358 mailbox_released_ = true; |
| 1359 } | 1359 } |
| 1360 | 1360 |
| 1361 virtual void SetupTree() OVERRIDE { | 1361 virtual void SetupTree() OVERRIDE { |
| 1362 LayerTreeTest::SetupTree(); | 1362 LayerTreeTest::SetupTree(); |
| 1363 | 1363 |
| 1364 scoped_refptr<TextureLayer> texture_layer = | 1364 scoped_refptr<TextureLayer> texture_layer = |
| 1365 TextureLayer::CreateForMailbox(this); | 1365 TextureLayer::CreateForMailbox(this); |
| 1366 texture_layer->SetBounds(gfx::Size(10, 10)); | 1366 texture_layer->SetBounds(gfx::Size(10, 10)); |
| 1367 texture_layer->SetAnchorPoint(gfx::PointF()); | 1367 texture_layer->SetTransformOrigin(gfx::Point3F()); |
| 1368 texture_layer->SetIsDrawable(true); | 1368 texture_layer->SetIsDrawable(true); |
| 1369 | 1369 |
| 1370 layer_tree_host()->root_layer()->AddChild(texture_layer); | 1370 layer_tree_host()->root_layer()->AddChild(texture_layer); |
| 1371 } | 1371 } |
| 1372 | 1372 |
| 1373 virtual void BeginTest() OVERRIDE { | 1373 virtual void BeginTest() OVERRIDE { |
| 1374 mailbox_released_ = false; | 1374 mailbox_released_ = false; |
| 1375 PostSetNeedsCommitToMainThread(); | 1375 PostSetNeedsCommitToMainThread(); |
| 1376 } | 1376 } |
| 1377 | 1377 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1428 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback, | 1428 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback, |
| 1429 base::Unretained(this))); | 1429 base::Unretained(this))); |
| 1430 layer_->SetTextureMailbox( | 1430 layer_->SetTextureMailbox( |
| 1431 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), | 1431 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), |
| 1432 callback.Pass()); | 1432 callback.Pass()); |
| 1433 } | 1433 } |
| 1434 | 1434 |
| 1435 virtual void SetupTree() OVERRIDE { | 1435 virtual void SetupTree() OVERRIDE { |
| 1436 gfx::Size bounds(100, 100); | 1436 gfx::Size bounds(100, 100); |
| 1437 root_ = Layer::Create(); | 1437 root_ = Layer::Create(); |
| 1438 root_->SetAnchorPoint(gfx::PointF()); | 1438 root_->SetTransformOrigin(gfx::Point3F()); |
| 1439 root_->SetBounds(bounds); | 1439 root_->SetBounds(bounds); |
| 1440 | 1440 |
| 1441 layer_ = TextureLayer::CreateForMailbox(NULL); | 1441 layer_ = TextureLayer::CreateForMailbox(NULL); |
| 1442 layer_->SetIsDrawable(true); | 1442 layer_->SetIsDrawable(true); |
| 1443 layer_->SetAnchorPoint(gfx::PointF()); | 1443 layer_->SetTransformOrigin(gfx::Point3F()); |
| 1444 layer_->SetBounds(bounds); | 1444 layer_->SetBounds(bounds); |
| 1445 | 1445 |
| 1446 root_->AddChild(layer_); | 1446 root_->AddChild(layer_); |
| 1447 layer_tree_host()->SetRootLayer(root_); | 1447 layer_tree_host()->SetRootLayer(root_); |
| 1448 layer_tree_host()->SetViewportSize(bounds); | 1448 layer_tree_host()->SetViewportSize(bounds); |
| 1449 } | 1449 } |
| 1450 | 1450 |
| 1451 virtual void BeginTest() OVERRIDE { | 1451 virtual void BeginTest() OVERRIDE { |
| 1452 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 1452 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 1453 | 1453 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1501 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback, | 1501 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback, |
| 1502 base::Unretained(this))); | 1502 base::Unretained(this))); |
| 1503 layer_->SetTextureMailbox( | 1503 layer_->SetTextureMailbox( |
| 1504 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), | 1504 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), |
| 1505 callback.Pass()); | 1505 callback.Pass()); |
| 1506 } | 1506 } |
| 1507 | 1507 |
| 1508 virtual void SetupTree() OVERRIDE { | 1508 virtual void SetupTree() OVERRIDE { |
| 1509 gfx::Size bounds(100, 100); | 1509 gfx::Size bounds(100, 100); |
| 1510 root_ = Layer::Create(); | 1510 root_ = Layer::Create(); |
| 1511 root_->SetAnchorPoint(gfx::PointF()); | 1511 root_->SetTransformOrigin(gfx::Point3F()); |
| 1512 root_->SetBounds(bounds); | 1512 root_->SetBounds(bounds); |
| 1513 | 1513 |
| 1514 layer_ = TextureLayer::CreateForMailbox(NULL); | 1514 layer_ = TextureLayer::CreateForMailbox(NULL); |
| 1515 layer_->SetIsDrawable(true); | 1515 layer_->SetIsDrawable(true); |
| 1516 layer_->SetAnchorPoint(gfx::PointF()); | 1516 layer_->SetTransformOrigin(gfx::Point3F()); |
| 1517 layer_->SetBounds(bounds); | 1517 layer_->SetBounds(bounds); |
| 1518 | 1518 |
| 1519 root_->AddChild(layer_); | 1519 root_->AddChild(layer_); |
| 1520 layer_tree_host()->SetRootLayer(root_); | 1520 layer_tree_host()->SetRootLayer(root_); |
| 1521 layer_tree_host()->SetViewportSize(bounds); | 1521 layer_tree_host()->SetViewportSize(bounds); |
| 1522 } | 1522 } |
| 1523 | 1523 |
| 1524 virtual void BeginTest() OVERRIDE { | 1524 virtual void BeginTest() OVERRIDE { |
| 1525 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 1525 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 1526 | 1526 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1556 int callback_count_; | 1556 int callback_count_; |
| 1557 scoped_refptr<Layer> root_; | 1557 scoped_refptr<Layer> root_; |
| 1558 scoped_refptr<TextureLayer> layer_; | 1558 scoped_refptr<TextureLayer> layer_; |
| 1559 }; | 1559 }; |
| 1560 | 1560 |
| 1561 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1561 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
| 1562 TextureLayerWithMailboxImplThreadDeleted); | 1562 TextureLayerWithMailboxImplThreadDeleted); |
| 1563 | 1563 |
| 1564 } // namespace | 1564 } // namespace |
| 1565 } // namespace cc | 1565 } // namespace cc |
| OLD | NEW |