| 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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 FakeTextureLayerClient() : mailbox_changed_(true) {} | 85 FakeTextureLayerClient() : mailbox_changed_(true) {} |
| 86 | 86 |
| 87 bool PrepareTextureMailbox( | 87 bool PrepareTextureMailbox( |
| 88 TextureMailbox* mailbox, | 88 TextureMailbox* mailbox, |
| 89 scoped_ptr<SingleReleaseCallback>* release_callback, | 89 scoped_ptr<SingleReleaseCallback>* release_callback, |
| 90 bool use_shared_memory) override { | 90 bool use_shared_memory) override { |
| 91 if (!mailbox_changed_) | 91 if (!mailbox_changed_) |
| 92 return false; | 92 return false; |
| 93 | 93 |
| 94 *mailbox = mailbox_; | 94 *mailbox = mailbox_; |
| 95 *release_callback = release_callback_.Pass(); | 95 *release_callback = std::move(release_callback_); |
| 96 mailbox_changed_ = false; | 96 mailbox_changed_ = false; |
| 97 return true; | 97 return true; |
| 98 } | 98 } |
| 99 | 99 |
| 100 void set_mailbox(const TextureMailbox& mailbox, | 100 void set_mailbox(const TextureMailbox& mailbox, |
| 101 scoped_ptr<SingleReleaseCallback> release_callback) { | 101 scoped_ptr<SingleReleaseCallback> release_callback) { |
| 102 mailbox_ = mailbox; | 102 mailbox_ = mailbox; |
| 103 release_callback_ = release_callback.Pass(); | 103 release_callback_ = std::move(release_callback); |
| 104 mailbox_changed_ = true; | 104 mailbox_changed_ = true; |
| 105 } | 105 } |
| 106 | 106 |
| 107 private: | 107 private: |
| 108 TextureMailbox mailbox_; | 108 TextureMailbox mailbox_; |
| 109 scoped_ptr<SingleReleaseCallback> release_callback_; | 109 scoped_ptr<SingleReleaseCallback> release_callback_; |
| 110 bool mailbox_changed_; | 110 bool mailbox_changed_; |
| 111 DISALLOW_COPY_AND_ASSIGN(FakeTextureLayerClient); | 111 DISALLOW_COPY_AND_ASSIGN(FakeTextureLayerClient); |
| 112 }; | 112 }; |
| 113 | 113 |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 } | 641 } |
| 642 | 642 |
| 643 void SetMailbox(char mailbox_char) { | 643 void SetMailbox(char mailbox_char) { |
| 644 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 644 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 645 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( | 645 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( |
| 646 base::Bind( | 646 base::Bind( |
| 647 &TextureLayerImplWithMailboxThreadedCallback::ReleaseCallback, | 647 &TextureLayerImplWithMailboxThreadedCallback::ReleaseCallback, |
| 648 base::Unretained(this))); | 648 base::Unretained(this))); |
| 649 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), | 649 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), |
| 650 gpu::SyncToken(), GL_TEXTURE_2D), | 650 gpu::SyncToken(), GL_TEXTURE_2D), |
| 651 callback.Pass()); | 651 std::move(callback)); |
| 652 } | 652 } |
| 653 | 653 |
| 654 void BeginTest() override { | 654 void BeginTest() override { |
| 655 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 655 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 656 | 656 |
| 657 gfx::Size bounds(100, 100); | 657 gfx::Size bounds(100, 100); |
| 658 root_ = Layer::Create(layer_settings()); | 658 root_ = Layer::Create(layer_settings()); |
| 659 root_->SetBounds(bounds); | 659 root_->SetBounds(bounds); |
| 660 | 660 |
| 661 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); | 661 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 757 | 757 |
| 758 static void ReleaseCallback(const gpu::SyncToken& sync_token, | 758 static void ReleaseCallback(const gpu::SyncToken& sync_token, |
| 759 bool lost_resource) {} | 759 bool lost_resource) {} |
| 760 | 760 |
| 761 void SetMailbox(char mailbox_char) { | 761 void SetMailbox(char mailbox_char) { |
| 762 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( | 762 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( |
| 763 base::Bind( | 763 base::Bind( |
| 764 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback)); | 764 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback)); |
| 765 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), | 765 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), |
| 766 gpu::SyncToken(), GL_TEXTURE_2D), | 766 gpu::SyncToken(), GL_TEXTURE_2D), |
| 767 callback.Pass()); | 767 std::move(callback)); |
| 768 } | 768 } |
| 769 | 769 |
| 770 void BeginTest() override { | 770 void BeginTest() override { |
| 771 gfx::Size bounds(100, 100); | 771 gfx::Size bounds(100, 100); |
| 772 root_ = Layer::Create(layer_settings()); | 772 root_ = Layer::Create(layer_settings()); |
| 773 root_->SetBounds(bounds); | 773 root_->SetBounds(bounds); |
| 774 | 774 |
| 775 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); | 775 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); |
| 776 layer_->SetIsDrawable(true); | 776 layer_->SetIsDrawable(true); |
| 777 layer_->SetBounds(bounds); | 777 layer_->SetBounds(bounds); |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1345 } | 1345 } |
| 1346 | 1346 |
| 1347 void SetMailbox(char mailbox_char) { | 1347 void SetMailbox(char mailbox_char) { |
| 1348 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 1348 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 1349 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( | 1349 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( |
| 1350 base::Bind( | 1350 base::Bind( |
| 1351 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback, | 1351 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback, |
| 1352 base::Unretained(this))); | 1352 base::Unretained(this))); |
| 1353 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), | 1353 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), |
| 1354 gpu::SyncToken(), GL_TEXTURE_2D), | 1354 gpu::SyncToken(), GL_TEXTURE_2D), |
| 1355 callback.Pass()); | 1355 std::move(callback)); |
| 1356 } | 1356 } |
| 1357 | 1357 |
| 1358 void SetupTree() override { | 1358 void SetupTree() override { |
| 1359 gfx::Size bounds(100, 100); | 1359 gfx::Size bounds(100, 100); |
| 1360 root_ = Layer::Create(layer_settings()); | 1360 root_ = Layer::Create(layer_settings()); |
| 1361 root_->SetBounds(bounds); | 1361 root_->SetBounds(bounds); |
| 1362 | 1362 |
| 1363 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); | 1363 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); |
| 1364 layer_->SetIsDrawable(true); | 1364 layer_->SetIsDrawable(true); |
| 1365 layer_->SetBounds(bounds); | 1365 layer_->SetBounds(bounds); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1414 } | 1414 } |
| 1415 | 1415 |
| 1416 void SetMailbox(char mailbox_char) { | 1416 void SetMailbox(char mailbox_char) { |
| 1417 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); | 1417 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); |
| 1418 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( | 1418 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( |
| 1419 base::Bind( | 1419 base::Bind( |
| 1420 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback, | 1420 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback, |
| 1421 base::Unretained(this))); | 1421 base::Unretained(this))); |
| 1422 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), | 1422 layer_->SetTextureMailbox(TextureMailbox(MailboxFromChar(mailbox_char), |
| 1423 gpu::SyncToken(), GL_TEXTURE_2D), | 1423 gpu::SyncToken(), GL_TEXTURE_2D), |
| 1424 callback.Pass()); | 1424 std::move(callback)); |
| 1425 } | 1425 } |
| 1426 | 1426 |
| 1427 void SetupTree() override { | 1427 void SetupTree() override { |
| 1428 gfx::Size bounds(100, 100); | 1428 gfx::Size bounds(100, 100); |
| 1429 root_ = Layer::Create(layer_settings()); | 1429 root_ = Layer::Create(layer_settings()); |
| 1430 root_->SetBounds(bounds); | 1430 root_->SetBounds(bounds); |
| 1431 | 1431 |
| 1432 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); | 1432 layer_ = TextureLayer::CreateForMailbox(layer_settings(), nullptr); |
| 1433 layer_->SetIsDrawable(true); | 1433 layer_->SetIsDrawable(true); |
| 1434 layer_->SetBounds(bounds); | 1434 layer_->SetBounds(bounds); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1471 int callback_count_; | 1471 int callback_count_; |
| 1472 scoped_refptr<Layer> root_; | 1472 scoped_refptr<Layer> root_; |
| 1473 scoped_refptr<TextureLayer> layer_; | 1473 scoped_refptr<TextureLayer> layer_; |
| 1474 }; | 1474 }; |
| 1475 | 1475 |
| 1476 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1476 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
| 1477 TextureLayerWithMailboxImplThreadDeleted); | 1477 TextureLayerWithMailboxImplThreadDeleted); |
| 1478 | 1478 |
| 1479 } // namespace | 1479 } // namespace |
| 1480 } // namespace cc | 1480 } // namespace cc |
| OLD | NEW |