Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: cc/layers/texture_layer_unittest.cc

Issue 166853002: Revert of Fix (or tag) uses of explicit '64' instead of GL_MAILBOX_SIZE_CHROMIUM (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/resources/resource_provider_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 23 matching lines...) Expand all
34 #include "testing/gtest/include/gtest/gtest.h" 34 #include "testing/gtest/include/gtest/gtest.h"
35 35
36 using ::testing::Mock; 36 using ::testing::Mock;
37 using ::testing::_; 37 using ::testing::_;
38 using ::testing::AtLeast; 38 using ::testing::AtLeast;
39 using ::testing::AnyNumber; 39 using ::testing::AnyNumber;
40 40
41 namespace cc { 41 namespace cc {
42 namespace { 42 namespace {
43 43
44 gpu::Mailbox MailboxFromChar(char value) { 44 gpu::Mailbox MailboxFromString(const std::string& string) {
45 gpu::Mailbox mailbox; 45 gpu::Mailbox mailbox;
46 memset(mailbox.name, value, sizeof(mailbox.name)); 46 mailbox.SetName(reinterpret_cast<const int8*>(string.data()));
47 return mailbox; 47 return mailbox;
48 } 48 }
49 49
50 class MockLayerTreeHost : public LayerTreeHost { 50 class MockLayerTreeHost : public LayerTreeHost {
51 public: 51 public:
52 explicit MockLayerTreeHost(FakeLayerTreeHostClient* client) 52 explicit MockLayerTreeHost(FakeLayerTreeHostClient* client)
53 : LayerTreeHost(client, NULL, LayerTreeSettings()) { 53 : LayerTreeHost(client, NULL, LayerTreeSettings()) {
54 InitializeSingleThreaded(client); 54 InitializeSingleThreaded(client);
55 } 55 }
56 56
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 315
316 // Stop rate limiter when we're removed from the tree. 316 // Stop rate limiter when we're removed from the tree.
317 EXPECT_CALL(*layer_tree_host_, StopRateLimiter()); 317 EXPECT_CALL(*layer_tree_host_, StopRateLimiter());
318 layer_tree_host_->SetRootLayer(NULL); 318 layer_tree_host_->SetRootLayer(NULL);
319 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 319 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
320 } 320 }
321 321
322 class MockMailboxCallback { 322 class MockMailboxCallback {
323 public: 323 public:
324 MOCK_METHOD3(Release, 324 MOCK_METHOD3(Release,
325 void(const gpu::Mailbox& mailbox, 325 void(const std::string& mailbox,
326 uint32 sync_point, 326 uint32 sync_point,
327 bool lost_resource)); 327 bool lost_resource));
328 MOCK_METHOD3(Release2, 328 MOCK_METHOD3(Release2,
329 void(base::SharedMemory* shared_memory, 329 void(base::SharedMemory* shared_memory,
330 uint32 sync_point, 330 uint32 sync_point,
331 bool lost_resource)); 331 bool lost_resource));
332 }; 332 };
333 333
334 struct CommonMailboxObjects { 334 struct CommonMailboxObjects {
335 CommonMailboxObjects() 335 CommonMailboxObjects()
336 : mailbox_name1_(MailboxFromChar('1')), 336 : mailbox_name1_(64, '1'),
337 mailbox_name2_(MailboxFromChar('2')), 337 mailbox_name2_(64, '2'),
338 sync_point1_(1), 338 sync_point1_(1),
339 sync_point2_(2), 339 sync_point2_(2),
340 shared_memory_(new base::SharedMemory) { 340 shared_memory_(new base::SharedMemory) {
341 release_mailbox1_ = base::Bind(&MockMailboxCallback::Release, 341 release_mailbox1_ = base::Bind(&MockMailboxCallback::Release,
342 base::Unretained(&mock_callback_), 342 base::Unretained(&mock_callback_),
343 mailbox_name1_); 343 mailbox_name1_);
344 release_mailbox2_ = base::Bind(&MockMailboxCallback::Release, 344 release_mailbox2_ = base::Bind(&MockMailboxCallback::Release,
345 base::Unretained(&mock_callback_), 345 base::Unretained(&mock_callback_),
346 mailbox_name2_); 346 mailbox_name2_);
347 const uint32 arbitrary_target1 = 1; 347 const uint32 arbitrary_target1 = 1;
348 const uint32 arbitrary_target2 = 2; 348 const uint32 arbitrary_target2 = 2;
349 mailbox1_ = TextureMailbox(mailbox_name1_, arbitrary_target1, sync_point1_); 349 mailbox1_ = TextureMailbox(
350 mailbox2_ = TextureMailbox(mailbox_name2_, arbitrary_target2, sync_point2_); 350 MailboxFromString(mailbox_name1_), arbitrary_target1, sync_point1_);
351 mailbox2_ = TextureMailbox(
352 MailboxFromString(mailbox_name2_), arbitrary_target2, sync_point2_);
351 gfx::Size size(128, 128); 353 gfx::Size size(128, 128);
352 EXPECT_TRUE(shared_memory_->CreateAndMapAnonymous(4 * size.GetArea())); 354 EXPECT_TRUE(shared_memory_->CreateAndMapAnonymous(4 * size.GetArea()));
353 release_mailbox3_ = base::Bind(&MockMailboxCallback::Release2, 355 release_mailbox3_ = base::Bind(&MockMailboxCallback::Release2,
354 base::Unretained(&mock_callback_), 356 base::Unretained(&mock_callback_),
355 shared_memory_.get()); 357 shared_memory_.get());
356 mailbox3_ = TextureMailbox(shared_memory_.get(), size); 358 mailbox3_ = TextureMailbox(shared_memory_.get(), size);
357 } 359 }
358 360
359 gpu::Mailbox mailbox_name1_; 361 std::string mailbox_name1_;
360 gpu::Mailbox mailbox_name2_; 362 std::string mailbox_name2_;
361 MockMailboxCallback mock_callback_; 363 MockMailboxCallback mock_callback_;
362 ReleaseCallback release_mailbox1_; 364 ReleaseCallback release_mailbox1_;
363 ReleaseCallback release_mailbox2_; 365 ReleaseCallback release_mailbox2_;
364 ReleaseCallback release_mailbox3_; 366 ReleaseCallback release_mailbox3_;
365 TextureMailbox mailbox1_; 367 TextureMailbox mailbox1_;
366 TextureMailbox mailbox2_; 368 TextureMailbox mailbox2_;
367 TextureMailbox mailbox3_; 369 TextureMailbox mailbox3_;
368 uint32 sync_point1_; 370 uint32 sync_point1_;
369 uint32 sync_point2_; 371 uint32 sync_point2_;
370 scoped_ptr<base::SharedMemory> shared_memory_; 372 scoped_ptr<base::SharedMemory> shared_memory_;
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 ++callback_count_; 767 ++callback_count_;
766 } 768 }
767 769
768 void SetMailbox(char mailbox_char) { 770 void SetMailbox(char mailbox_char) {
769 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); 771 EXPECT_EQ(true, main_thread_.CalledOnValidThread());
770 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( 772 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
771 base::Bind( 773 base::Bind(
772 &TextureLayerImplWithMailboxThreadedCallback::ReleaseCallback, 774 &TextureLayerImplWithMailboxThreadedCallback::ReleaseCallback,
773 base::Unretained(this))); 775 base::Unretained(this)));
774 layer_->SetTextureMailbox( 776 layer_->SetTextureMailbox(
775 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), 777 TextureMailbox(
778 MailboxFromString(std::string(64, mailbox_char)), GL_TEXTURE_2D, 0),
776 callback.Pass()); 779 callback.Pass());
777 } 780 }
778 781
779 virtual void BeginTest() OVERRIDE { 782 virtual void BeginTest() OVERRIDE {
780 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); 783 EXPECT_EQ(true, main_thread_.CalledOnValidThread());
781 784
782 gfx::Size bounds(100, 100); 785 gfx::Size bounds(100, 100);
783 root_ = Layer::Create(); 786 root_ = Layer::Create();
784 root_->SetAnchorPoint(gfx::PointF()); 787 root_->SetAnchorPoint(gfx::PointF());
785 root_->SetBounds(bounds); 788 root_->SetBounds(bounds);
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 protected: 986 protected:
984 TextureLayerMailboxIsActivatedDuringCommit() : activate_count_(0) {} 987 TextureLayerMailboxIsActivatedDuringCommit() : activate_count_(0) {}
985 988
986 static void ReleaseCallback(uint32 sync_point, bool lost_resource) {} 989 static void ReleaseCallback(uint32 sync_point, bool lost_resource) {}
987 990
988 void SetMailbox(char mailbox_char) { 991 void SetMailbox(char mailbox_char) {
989 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( 992 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
990 base::Bind( 993 base::Bind(
991 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback)); 994 &TextureLayerMailboxIsActivatedDuringCommit::ReleaseCallback));
992 layer_->SetTextureMailbox( 995 layer_->SetTextureMailbox(
993 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), 996 TextureMailbox(
997 MailboxFromString(std::string(64, mailbox_char)), GL_TEXTURE_2D, 0),
994 callback.Pass()); 998 callback.Pass());
995 } 999 }
996 1000
997 virtual void BeginTest() OVERRIDE { 1001 virtual void BeginTest() OVERRIDE {
998 gfx::Size bounds(100, 100); 1002 gfx::Size bounds(100, 100);
999 root_ = Layer::Create(); 1003 root_ = Layer::Create();
1000 root_->SetAnchorPoint(gfx::PointF()); 1004 root_->SetAnchorPoint(gfx::PointF());
1001 root_->SetBounds(bounds); 1005 root_->SetBounds(bounds);
1002 1006
1003 layer_ = TextureLayer::CreateForMailbox(NULL); 1007 layer_ = TextureLayer::CreateForMailbox(NULL);
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 } 1633 }
1630 virtual bool PrepareTextureMailbox( 1634 virtual bool PrepareTextureMailbox(
1631 TextureMailbox* texture_mailbox, 1635 TextureMailbox* texture_mailbox,
1632 scoped_ptr<SingleReleaseCallback>* release_callback, 1636 scoped_ptr<SingleReleaseCallback>* release_callback,
1633 bool use_shared_memory) OVERRIDE { 1637 bool use_shared_memory) OVERRIDE {
1634 if (layer_tree_host()->source_frame_number() == 1) { 1638 if (layer_tree_host()->source_frame_number() == 1) {
1635 *texture_mailbox = TextureMailbox(); 1639 *texture_mailbox = TextureMailbox();
1636 return true; 1640 return true;
1637 } 1641 }
1638 1642
1639 *texture_mailbox = TextureMailbox(MailboxFromChar('1'), GL_TEXTURE_2D, 0); 1643 *texture_mailbox = TextureMailbox(
1644 MailboxFromString(std::string(64, '1')), GL_TEXTURE_2D, 0);
1640 *release_callback = SingleReleaseCallback::Create( 1645 *release_callback = SingleReleaseCallback::Create(
1641 base::Bind(&TextureLayerNoExtraCommitForMailboxTest::MailboxReleased, 1646 base::Bind(&TextureLayerNoExtraCommitForMailboxTest::MailboxReleased,
1642 base::Unretained(this))); 1647 base::Unretained(this)));
1643 return true; 1648 return true;
1644 } 1649 }
1645 1650
1646 void MailboxReleased(uint32 sync_point, bool lost_resource) { 1651 void MailboxReleased(uint32 sync_point, bool lost_resource) {
1647 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); 1652 EXPECT_EQ(2, layer_tree_host()->source_frame_number());
1648 EndTest(); 1653 EndTest();
1649 } 1654 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 if (!mailbox_changed_) 1745 if (!mailbox_changed_)
1741 return false; 1746 return false;
1742 *mailbox = mailbox_; 1747 *mailbox = mailbox_;
1743 *release_callback = SingleReleaseCallback::Create( 1748 *release_callback = SingleReleaseCallback::Create(
1744 base::Bind(&TextureLayerChangeInvisibleMailboxTest::MailboxReleased, 1749 base::Bind(&TextureLayerChangeInvisibleMailboxTest::MailboxReleased,
1745 base::Unretained(this))); 1750 base::Unretained(this)));
1746 return true; 1751 return true;
1747 } 1752 }
1748 1753
1749 TextureMailbox MakeMailbox(char name) { 1754 TextureMailbox MakeMailbox(char name) {
1750 return TextureMailbox(MailboxFromChar(name), GL_TEXTURE_2D, 0); 1755 return TextureMailbox(
1756 MailboxFromString(std::string(64, name)), GL_TEXTURE_2D, 0);
1751 } 1757 }
1752 1758
1753 void MailboxReleased(uint32 sync_point, bool lost_resource) { 1759 void MailboxReleased(uint32 sync_point, bool lost_resource) {
1754 ++mailbox_returned_; 1760 ++mailbox_returned_;
1755 } 1761 }
1756 1762
1757 virtual void SetupTree() OVERRIDE { 1763 virtual void SetupTree() OVERRIDE {
1758 scoped_refptr<Layer> root = Layer::Create(); 1764 scoped_refptr<Layer> root = Layer::Create();
1759 root->SetBounds(gfx::Size(10, 10)); 1765 root->SetBounds(gfx::Size(10, 10));
1760 root->SetAnchorPoint(gfx::PointF()); 1766 root->SetAnchorPoint(gfx::PointF());
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1873 public: 1879 public:
1874 // TextureLayerClient implementation. 1880 // TextureLayerClient implementation.
1875 virtual unsigned PrepareTexture() OVERRIDE { 1881 virtual unsigned PrepareTexture() OVERRIDE {
1876 NOTREACHED(); 1882 NOTREACHED();
1877 return 0; 1883 return 0;
1878 } 1884 }
1879 virtual bool PrepareTextureMailbox( 1885 virtual bool PrepareTextureMailbox(
1880 TextureMailbox* mailbox, 1886 TextureMailbox* mailbox,
1881 scoped_ptr<SingleReleaseCallback>* release_callback, 1887 scoped_ptr<SingleReleaseCallback>* release_callback,
1882 bool use_shared_memory) OVERRIDE { 1888 bool use_shared_memory) OVERRIDE {
1883 *mailbox = TextureMailbox(MailboxFromChar('1'), GL_TEXTURE_2D, 0); 1889 *mailbox = TextureMailbox(
1890 MailboxFromString(std::string(64, '1')), GL_TEXTURE_2D, 0);
1884 *release_callback = SingleReleaseCallback::Create( 1891 *release_callback = SingleReleaseCallback::Create(
1885 base::Bind(&TextureLayerReleaseResourcesBase::MailboxReleased, 1892 base::Bind(&TextureLayerReleaseResourcesBase::MailboxReleased,
1886 base::Unretained(this))); 1893 base::Unretained(this)));
1887 return true; 1894 return true;
1888 } 1895 }
1889 1896
1890 void MailboxReleased(unsigned sync_point, bool lost_resource) { 1897 void MailboxReleased(unsigned sync_point, bool lost_resource) {
1891 mailbox_released_ = true; 1898 mailbox_released_ = true;
1892 } 1899 }
1893 1900
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 EndTest(); 2036 EndTest();
2030 } 2037 }
2031 2038
2032 void SetMailbox(char mailbox_char) { 2039 void SetMailbox(char mailbox_char) {
2033 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); 2040 EXPECT_EQ(true, main_thread_.CalledOnValidThread());
2034 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( 2041 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
2035 base::Bind( 2042 base::Bind(
2036 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback, 2043 &TextureLayerWithMailboxMainThreadDeleted::ReleaseCallback,
2037 base::Unretained(this))); 2044 base::Unretained(this)));
2038 layer_->SetTextureMailbox( 2045 layer_->SetTextureMailbox(
2039 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), 2046 TextureMailbox(
2047 MailboxFromString(std::string(64, mailbox_char)), GL_TEXTURE_2D, 0),
2040 callback.Pass()); 2048 callback.Pass());
2041 } 2049 }
2042 2050
2043 virtual void SetupTree() OVERRIDE { 2051 virtual void SetupTree() OVERRIDE {
2044 gfx::Size bounds(100, 100); 2052 gfx::Size bounds(100, 100);
2045 root_ = Layer::Create(); 2053 root_ = Layer::Create();
2046 root_->SetAnchorPoint(gfx::PointF()); 2054 root_->SetAnchorPoint(gfx::PointF());
2047 root_->SetBounds(bounds); 2055 root_->SetBounds(bounds);
2048 2056
2049 layer_ = TextureLayer::CreateForMailbox(NULL); 2057 layer_ = TextureLayer::CreateForMailbox(NULL);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
2102 EndTest(); 2110 EndTest();
2103 } 2111 }
2104 2112
2105 void SetMailbox(char mailbox_char) { 2113 void SetMailbox(char mailbox_char) {
2106 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); 2114 EXPECT_EQ(true, main_thread_.CalledOnValidThread());
2107 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( 2115 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
2108 base::Bind( 2116 base::Bind(
2109 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback, 2117 &TextureLayerWithMailboxImplThreadDeleted::ReleaseCallback,
2110 base::Unretained(this))); 2118 base::Unretained(this)));
2111 layer_->SetTextureMailbox( 2119 layer_->SetTextureMailbox(
2112 TextureMailbox(MailboxFromChar(mailbox_char), GL_TEXTURE_2D, 0), 2120 TextureMailbox(
2121 MailboxFromString(std::string(64, mailbox_char)), GL_TEXTURE_2D, 0),
2113 callback.Pass()); 2122 callback.Pass());
2114 } 2123 }
2115 2124
2116 virtual void SetupTree() OVERRIDE { 2125 virtual void SetupTree() OVERRIDE {
2117 gfx::Size bounds(100, 100); 2126 gfx::Size bounds(100, 100);
2118 root_ = Layer::Create(); 2127 root_ = Layer::Create();
2119 root_->SetAnchorPoint(gfx::PointF()); 2128 root_->SetAnchorPoint(gfx::PointF());
2120 root_->SetBounds(bounds); 2129 root_->SetBounds(bounds);
2121 2130
2122 layer_ = TextureLayer::CreateForMailbox(NULL); 2131 layer_ = TextureLayer::CreateForMailbox(NULL);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 int callback_count_; 2173 int callback_count_;
2165 scoped_refptr<Layer> root_; 2174 scoped_refptr<Layer> root_;
2166 scoped_refptr<TextureLayer> layer_; 2175 scoped_refptr<TextureLayer> layer_;
2167 }; 2176 };
2168 2177
2169 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( 2178 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
2170 TextureLayerWithMailboxImplThreadDeleted); 2179 TextureLayerWithMailboxImplThreadDeleted);
2171 2180
2172 } // namespace 2181 } // namespace
2173 } // namespace cc 2182 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/resources/resource_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698