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

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

Issue 2270533002: cc: Remove the software compositing bool from PrepareTextureMailbox (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@softwarerendering
Patch Set: remove-prepare-mailbox-param: bad-merge Created 4 years, 4 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
« no previous file with comments | « cc/layers/texture_layer_client.h ('k') | cc/output/delegating_renderer.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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 StubLayerTreeHostSingleThreadClient single_thread_client_; 97 StubLayerTreeHostSingleThreadClient single_thread_client_;
98 }; 98 };
99 99
100 class FakeTextureLayerClient : public TextureLayerClient { 100 class FakeTextureLayerClient : public TextureLayerClient {
101 public: 101 public:
102 FakeTextureLayerClient() : mailbox_changed_(true) {} 102 FakeTextureLayerClient() : mailbox_changed_(true) {}
103 103
104 bool PrepareTextureMailbox( 104 bool PrepareTextureMailbox(
105 TextureMailbox* mailbox, 105 TextureMailbox* mailbox,
106 std::unique_ptr<SingleReleaseCallback>* release_callback, 106 std::unique_ptr<SingleReleaseCallback>* release_callback) override {
107 bool use_shared_memory) override {
108 if (!mailbox_changed_) 107 if (!mailbox_changed_)
109 return false; 108 return false;
110 109
111 *mailbox = mailbox_; 110 *mailbox = mailbox_;
112 *release_callback = std::move(release_callback_); 111 *release_callback = std::move(release_callback_);
113 mailbox_changed_ = false; 112 mailbox_changed_ = false;
114 return true; 113 return true;
115 } 114 }
116 115
117 void set_mailbox(const TextureMailbox& mailbox, 116 void set_mailbox(const TextureMailbox& mailbox,
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 1044
1046 // Checks that TextureLayer::Update does not cause an extra commit when setting 1045 // Checks that TextureLayer::Update does not cause an extra commit when setting
1047 // the texture mailbox. 1046 // the texture mailbox.
1048 class TextureLayerNoExtraCommitForMailboxTest 1047 class TextureLayerNoExtraCommitForMailboxTest
1049 : public LayerTreeTest, 1048 : public LayerTreeTest,
1050 public TextureLayerClient { 1049 public TextureLayerClient {
1051 public: 1050 public:
1052 // TextureLayerClient implementation. 1051 // TextureLayerClient implementation.
1053 bool PrepareTextureMailbox( 1052 bool PrepareTextureMailbox(
1054 TextureMailbox* texture_mailbox, 1053 TextureMailbox* texture_mailbox,
1055 std::unique_ptr<SingleReleaseCallback>* release_callback, 1054 std::unique_ptr<SingleReleaseCallback>* release_callback) override {
1056 bool use_shared_memory) override {
1057 if (layer_tree_host()->source_frame_number() == 1) { 1055 if (layer_tree_host()->source_frame_number() == 1) {
1058 // Once this has been committed, the mailbox will be released. 1056 // Once this has been committed, the mailbox will be released.
1059 *texture_mailbox = TextureMailbox(); 1057 *texture_mailbox = TextureMailbox();
1060 return true; 1058 return true;
1061 } 1059 }
1062 1060
1063 *texture_mailbox = TextureMailbox(MailboxFromChar('1'), 1061 *texture_mailbox = TextureMailbox(MailboxFromChar('1'),
1064 SyncTokenFromUInt(0x123), GL_TEXTURE_2D); 1062 SyncTokenFromUInt(0x123), GL_TEXTURE_2D);
1065 *release_callback = SingleReleaseCallback::Create( 1063 *release_callback = SingleReleaseCallback::Create(
1066 base::Bind(&TextureLayerNoExtraCommitForMailboxTest::MailboxReleased, 1064 base::Bind(&TextureLayerNoExtraCommitForMailboxTest::MailboxReleased,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 : mailbox_changed_(true), 1122 : mailbox_changed_(true),
1125 mailbox_returned_(0), 1123 mailbox_returned_(0),
1126 prepare_called_(0), 1124 prepare_called_(0),
1127 commit_count_(0) { 1125 commit_count_(0) {
1128 mailbox_ = MakeMailbox('1'); 1126 mailbox_ = MakeMailbox('1');
1129 } 1127 }
1130 1128
1131 // TextureLayerClient implementation. 1129 // TextureLayerClient implementation.
1132 bool PrepareTextureMailbox( 1130 bool PrepareTextureMailbox(
1133 TextureMailbox* mailbox, 1131 TextureMailbox* mailbox,
1134 std::unique_ptr<SingleReleaseCallback>* release_callback, 1132 std::unique_ptr<SingleReleaseCallback>* release_callback) override {
1135 bool use_shared_memory) override {
1136 ++prepare_called_; 1133 ++prepare_called_;
1137 if (!mailbox_changed_) 1134 if (!mailbox_changed_)
1138 return false; 1135 return false;
1139 *mailbox = mailbox_; 1136 *mailbox = mailbox_;
1140 *release_callback = SingleReleaseCallback::Create( 1137 *release_callback = SingleReleaseCallback::Create(
1141 base::Bind(&TextureLayerChangeInvisibleMailboxTest::MailboxReleased, 1138 base::Bind(&TextureLayerChangeInvisibleMailboxTest::MailboxReleased,
1142 base::Unretained(this))); 1139 base::Unretained(this)));
1143 return true; 1140 return true;
1144 } 1141 }
1145 1142
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1244 1241
1245 // Test that TextureLayerImpl::ReleaseResources can be called which releases 1242 // Test that TextureLayerImpl::ReleaseResources can be called which releases
1246 // the mailbox back to TextureLayerClient. 1243 // the mailbox back to TextureLayerClient.
1247 class TextureLayerReleaseResourcesBase 1244 class TextureLayerReleaseResourcesBase
1248 : public LayerTreeTest, 1245 : public LayerTreeTest,
1249 public TextureLayerClient { 1246 public TextureLayerClient {
1250 public: 1247 public:
1251 // TextureLayerClient implementation. 1248 // TextureLayerClient implementation.
1252 bool PrepareTextureMailbox( 1249 bool PrepareTextureMailbox(
1253 TextureMailbox* mailbox, 1250 TextureMailbox* mailbox,
1254 std::unique_ptr<SingleReleaseCallback>* release_callback, 1251 std::unique_ptr<SingleReleaseCallback>* release_callback) override {
1255 bool use_shared_memory) override {
1256 *mailbox = TextureMailbox(MailboxFromChar('1'), SyncTokenFromUInt(1), 1252 *mailbox = TextureMailbox(MailboxFromChar('1'), SyncTokenFromUInt(1),
1257 GL_TEXTURE_2D); 1253 GL_TEXTURE_2D);
1258 *release_callback = SingleReleaseCallback::Create( 1254 *release_callback = SingleReleaseCallback::Create(
1259 base::Bind(&TextureLayerReleaseResourcesBase::MailboxReleased, 1255 base::Bind(&TextureLayerReleaseResourcesBase::MailboxReleased,
1260 base::Unretained(this))); 1256 base::Unretained(this)));
1261 return true; 1257 return true;
1262 } 1258 }
1263 1259
1264 void MailboxReleased(const gpu::SyncToken& sync_token, bool lost_resource) { 1260 void MailboxReleased(const gpu::SyncToken& sync_token, bool lost_resource) {
1265 mailbox_released_ = true; 1261 mailbox_released_ = true;
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1453 base::ThreadChecker main_thread_; 1449 base::ThreadChecker main_thread_;
1454 int callback_count_; 1450 int callback_count_;
1455 scoped_refptr<Layer> root_; 1451 scoped_refptr<Layer> root_;
1456 scoped_refptr<TextureLayer> layer_; 1452 scoped_refptr<TextureLayer> layer_;
1457 }; 1453 };
1458 1454
1459 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerWithMailboxImplThreadDeleted); 1455 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerWithMailboxImplThreadDeleted);
1460 1456
1461 } // namespace 1457 } // namespace
1462 } // namespace cc 1458 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/texture_layer_client.h ('k') | cc/output/delegating_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698