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

Side by Side Diff: cc/resources/raster_worker_pool_unittest.cc

Issue 110883015: Add preliminary support for hw-accelerated tile rasterization. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: task completion callback Created 7 years 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
OLDNEW
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/resources/raster_worker_pool.h" 5 #include "cc/resources/raster_worker_pool.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <vector> 8 #include <vector>
9 9
10 #include "cc/resources/image_raster_worker_pool.h" 10 #include "cc/resources/image_raster_worker_pool.h"
(...skipping 11 matching lines...) Expand all
22 22
23 class TestRasterWorkerPoolTaskImpl : public internal::RasterWorkerPoolTask { 23 class TestRasterWorkerPoolTaskImpl : public internal::RasterWorkerPoolTask {
24 public: 24 public:
25 typedef base::Callback<void(const PicturePileImpl::Analysis& analysis, 25 typedef base::Callback<void(const PicturePileImpl::Analysis& analysis,
26 bool was_canceled, 26 bool was_canceled,
27 bool did_raster)> Reply; 27 bool did_raster)> Reply;
28 28
29 TestRasterWorkerPoolTaskImpl( 29 TestRasterWorkerPoolTaskImpl(
30 const Resource* resource, 30 const Resource* resource,
31 const Reply& reply, 31 const Reply& reply,
32 TaskVector* dependencies) 32 TaskVector* dependencies,
33 : internal::RasterWorkerPoolTask(resource, dependencies), 33 bool use_gpu_rasterization)
34 : internal::RasterWorkerPoolTask(resource,
35 dependencies,
36 use_gpu_rasterization),
34 reply_(reply), 37 reply_(reply),
35 did_raster_(false) {} 38 did_raster_(false) {}
36 39
37 // Overridden from internal::WorkerPoolTask: 40 // Overridden from internal::WorkerPoolTask:
38 virtual bool RunOnWorkerThread(unsigned thread_index, 41 virtual bool RunOnWorkerThread(unsigned thread_index,
39 void* buffer, 42 void* buffer,
40 gfx::Size size, 43 gfx::Size size,
41 int stride) OVERRIDE { 44 int stride) OVERRIDE {
42 did_raster_ = true; 45 did_raster_ = true;
43 return true; 46 return true;
44 } 47 }
48 virtual void RunOnOriginThread(ResourceProvider* resource_provider,
49 ContextProvider* context_provider) OVERRIDE {
50 did_raster_ = true;
51 }
45 virtual void CompleteOnOriginThread() OVERRIDE { 52 virtual void CompleteOnOriginThread() OVERRIDE {
46 reply_.Run(PicturePileImpl::Analysis(), !HasFinishedRunning(), did_raster_); 53 reply_.Run(PicturePileImpl::Analysis(), !HasFinishedRunning(), did_raster_);
47 } 54 }
48 55
49 protected: 56 protected:
50 virtual ~TestRasterWorkerPoolTaskImpl() {} 57 virtual ~TestRasterWorkerPoolTaskImpl() {}
51 58
52 private: 59 private:
53 const Reply reply_; 60 const Reply reply_;
54 bool did_raster_; 61 bool did_raster_;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 return resource_provider_.get(); 104 return resource_provider_.get();
98 } 105 }
99 106
100 RasterWorkerPool* worker_pool() { 107 RasterWorkerPool* worker_pool() {
101 return raster_worker_pool_.get(); 108 return raster_worker_pool_.get();
102 } 109 }
103 110
104 void RunTest(bool use_map_image) { 111 void RunTest(bool use_map_image) {
105 if (use_map_image) { 112 if (use_map_image) {
106 raster_worker_pool_ = ImageRasterWorkerPool::Create( 113 raster_worker_pool_ = ImageRasterWorkerPool::Create(
107 resource_provider(), 1, GL_TEXTURE_2D); 114 resource_provider(), NULL, 1, GL_TEXTURE_2D);
108 } else { 115 } else {
109 raster_worker_pool_ = 116 raster_worker_pool_ =
110 PixelBufferRasterWorkerPool::Create( 117 PixelBufferRasterWorkerPool::Create(
111 resource_provider(), 118 resource_provider(),
119 NULL,
112 1, 120 1,
113 std::numeric_limits<size_t>::max()); 121 std::numeric_limits<size_t>::max());
114 } 122 }
115 123
116 raster_worker_pool_->SetClient(this); 124 raster_worker_pool_->SetClient(this);
117 125
118 BeginTest(); 126 BeginTest();
119 127
120 ScheduleCheckForCompletedTasks(); 128 ScheduleCheckForCompletedTasks();
121 129
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 const Resource* const_resource = resource.get(); 172 const Resource* const_resource = resource.get();
165 173
166 RasterWorkerPool::Task::Set empty; 174 RasterWorkerPool::Task::Set empty;
167 tasks_.push_back( 175 tasks_.push_back(
168 RasterWorkerPool::RasterTask(new TestRasterWorkerPoolTaskImpl( 176 RasterWorkerPool::RasterTask(new TestRasterWorkerPoolTaskImpl(
169 const_resource, 177 const_resource,
170 base::Bind(&RasterWorkerPoolTest::OnTaskCompleted, 178 base::Bind(&RasterWorkerPoolTest::OnTaskCompleted,
171 base::Unretained(this), 179 base::Unretained(this),
172 base::Passed(&resource), 180 base::Passed(&resource),
173 id), 181 id),
174 &empty.tasks_))); 182 &empty.tasks_,
183 false)));
175 } 184 }
176 185
177 virtual void OnTaskCompleted(scoped_ptr<ScopedResource> resource, 186 virtual void OnTaskCompleted(scoped_ptr<ScopedResource> resource,
178 unsigned id, 187 unsigned id,
179 const PicturePileImpl::Analysis& analysis, 188 const PicturePileImpl::Analysis& analysis,
180 bool was_canceled, 189 bool was_canceled,
181 bool did_raster) {} 190 bool did_raster) {}
182 191
183 private: 192 private:
184 void ScheduleCheckForCompletedTasks() { 193 void ScheduleCheckForCompletedTasks() {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 ASSERT_EQ(1u, tasks_.size()); 292 ASSERT_EQ(1u, tasks_.size());
284 tasks_.clear(); 293 tasks_.clear();
285 } 294 }
286 }; 295 };
287 296
288 PIXEL_BUFFER_AND_IMAGE_TEST_F(RasterWorkerPoolTestFailedMapResource); 297 PIXEL_BUFFER_AND_IMAGE_TEST_F(RasterWorkerPoolTestFailedMapResource);
289 298
290 } // namespace 299 } // namespace
291 300
292 } // namespace cc 301 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698