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/image_raster_worker_pool.h" | 5 #include "cc/resources/image_raster_worker_pool.h" |
6 | 6 |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "cc/debug/traced_value.h" | 9 #include "cc/debug/traced_value.h" |
10 #include "cc/resources/resource.h" | 10 #include "cc/resources/resource.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 uint8_t* buffer_; | 50 uint8_t* buffer_; |
51 int stride_; | 51 int stride_; |
52 const Reply reply_; | 52 const Reply reply_; |
53 | 53 |
54 DISALLOW_COPY_AND_ASSIGN(ImageWorkerPoolTaskImpl); | 54 DISALLOW_COPY_AND_ASSIGN(ImageWorkerPoolTaskImpl); |
55 }; | 55 }; |
56 | 56 |
57 } // namespace | 57 } // namespace |
58 | 58 |
59 ImageRasterWorkerPool::ImageRasterWorkerPool( | 59 ImageRasterWorkerPool::ImageRasterWorkerPool( |
60 ResourceProvider* resource_provider, size_t num_threads) | 60 ResourceProvider* resource_provider, |
| 61 size_t num_threads, |
| 62 GLenum texture_target) |
61 : RasterWorkerPool(resource_provider, num_threads), | 63 : RasterWorkerPool(resource_provider, num_threads), |
| 64 texture_target_(texture_target), |
62 raster_tasks_pending_(false), | 65 raster_tasks_pending_(false), |
63 raster_tasks_required_for_activation_pending_(false) { | 66 raster_tasks_required_for_activation_pending_(false) { |
64 } | 67 } |
65 | 68 |
66 ImageRasterWorkerPool::~ImageRasterWorkerPool() { | 69 ImageRasterWorkerPool::~ImageRasterWorkerPool() { |
67 DCHECK_EQ(0u, image_tasks_.size()); | 70 DCHECK_EQ(0u, image_tasks_.size()); |
68 } | 71 } |
69 | 72 |
70 void ImageRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) { | 73 void ImageRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) { |
71 TRACE_EVENT0("cc", "ImageRasterWorkerPool::ScheduleTasks"); | 74 TRACE_EVENT0("cc", "ImageRasterWorkerPool::ScheduleTasks"); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 150 |
148 set_raster_finished_task(new_raster_finished_task); | 151 set_raster_finished_task(new_raster_finished_task); |
149 set_raster_required_for_activation_finished_task( | 152 set_raster_required_for_activation_finished_task( |
150 new_raster_required_for_activation_finished_task); | 153 new_raster_required_for_activation_finished_task); |
151 | 154 |
152 TRACE_EVENT_ASYNC_STEP_INTO1( | 155 TRACE_EVENT_ASYNC_STEP_INTO1( |
153 "cc", "ScheduledTasks", this, "rasterizing", | 156 "cc", "ScheduledTasks", this, "rasterizing", |
154 "state", TracedValue::FromValue(StateAsValue().release())); | 157 "state", TracedValue::FromValue(StateAsValue().release())); |
155 } | 158 } |
156 | 159 |
| 160 GLenum ImageRasterWorkerPool::GetResourceTarget() const { |
| 161 return texture_target_; |
| 162 } |
| 163 |
157 ResourceFormat ImageRasterWorkerPool::GetResourceFormat() const { | 164 ResourceFormat ImageRasterWorkerPool::GetResourceFormat() const { |
158 return resource_provider()->best_texture_format(); | 165 return resource_provider()->best_texture_format(); |
159 } | 166 } |
160 | 167 |
161 void ImageRasterWorkerPool::OnRasterTasksFinished() { | 168 void ImageRasterWorkerPool::OnRasterTasksFinished() { |
162 DCHECK(raster_tasks_pending_); | 169 DCHECK(raster_tasks_pending_); |
163 raster_tasks_pending_ = false; | 170 raster_tasks_pending_ = false; |
164 TRACE_EVENT_ASYNC_END0("cc", "ScheduledTasks", this); | 171 TRACE_EVENT_ASYNC_END0("cc", "ScheduledTasks", this); |
165 client()->DidFinishRunningTasks(); | 172 client()->DidFinishRunningTasks(); |
166 } | 173 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 if (is_required_for_activation) { | 226 if (is_required_for_activation) { |
220 raster_required_for_activation_finished_node->add_dependency(); | 227 raster_required_for_activation_finished_node->add_dependency(); |
221 image_node->add_dependent(raster_required_for_activation_finished_node); | 228 image_node->add_dependent(raster_required_for_activation_finished_node); |
222 } | 229 } |
223 | 230 |
224 raster_finished_node->add_dependency(); | 231 raster_finished_node->add_dependency(); |
225 image_node->add_dependent(raster_finished_node); | 232 image_node->add_dependent(raster_finished_node); |
226 } | 233 } |
227 | 234 |
228 } // namespace cc | 235 } // namespace cc |
OLD | NEW |