| 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 |