OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |