Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/raster/gpu_tile_task_worker_pool.h" | 5 #include "cc/raster/gpu_tile_task_worker_pool.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
| 10 #include "cc/playback/raster_source.h" | 10 #include "cc/playback/raster_source.h" |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 201 void GpuTileTaskWorkerPool::CheckForCompletedTasks() { | 201 void GpuTileTaskWorkerPool::CheckForCompletedTasks() { |
| 202 TRACE_EVENT0("cc", "GpuTileTaskWorkerPool::CheckForCompletedTasks"); | 202 TRACE_EVENT0("cc", "GpuTileTaskWorkerPool::CheckForCompletedTasks"); |
| 203 | 203 |
| 204 task_graph_runner_->CollectCompletedTasks(namespace_token_, | 204 task_graph_runner_->CollectCompletedTasks(namespace_token_, |
| 205 &completed_tasks_); | 205 &completed_tasks_); |
| 206 CompleteTasks(completed_tasks_); | 206 CompleteTasks(completed_tasks_); |
| 207 completed_tasks_.clear(); | 207 completed_tasks_.clear(); |
| 208 } | 208 } |
| 209 | 209 |
| 210 ResourceFormat GpuTileTaskWorkerPool::GetResourceFormat() { | 210 ResourceFormat GpuTileTaskWorkerPool::GetResourceFormat() { |
| 211 return rasterizer_->resource_provider()->best_texture_format(); | 211 ResourceFormat format = |
|
vmiura
2015/06/09 23:05:11
We call this per-tile. I think it'd be good to pr
| |
| 212 rasterizer_->resource_provider()->best_texture_format(); | |
| 213 if (rasterizer_->msaa_sample_count()) { | |
| 214 const ContextProvider::Capabilities& caps = rasterizer_->resource_provider() | |
| 215 ->output_surface() | |
| 216 ->context_provider() | |
| 217 ->ContextCapabilities(); | |
| 218 if (!caps.gpu.render_buffer_format_bgra8888) | |
| 219 return ResourceFormat::RGBA_8888; | |
| 220 } | |
| 221 return format; | |
| 212 } | 222 } |
| 213 | 223 |
| 214 void GpuTileTaskWorkerPool::CompleteTasks(const Task::Vector& tasks) { | 224 void GpuTileTaskWorkerPool::CompleteTasks(const Task::Vector& tasks) { |
| 215 for (auto& task : tasks) { | 225 for (auto& task : tasks) { |
| 216 RasterTask* raster_task = static_cast<RasterTask*>(task.get()); | 226 RasterTask* raster_task = static_cast<RasterTask*>(task.get()); |
| 217 | 227 |
| 218 raster_task->WillComplete(); | 228 raster_task->WillComplete(); |
| 219 raster_task->CompleteOnOriginThread(this); | 229 raster_task->CompleteOnOriginThread(this); |
| 220 raster_task->DidComplete(); | 230 raster_task->DidComplete(); |
| 221 | 231 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 240 void GpuTileTaskWorkerPool::OnTaskSetFinished(TaskSet task_set) { | 250 void GpuTileTaskWorkerPool::OnTaskSetFinished(TaskSet task_set) { |
| 241 TRACE_EVENT1("cc", "GpuTileTaskWorkerPool::OnTaskSetFinished", "task_set", | 251 TRACE_EVENT1("cc", "GpuTileTaskWorkerPool::OnTaskSetFinished", "task_set", |
| 242 task_set); | 252 task_set); |
| 243 | 253 |
| 244 DCHECK(tasks_pending_[task_set]); | 254 DCHECK(tasks_pending_[task_set]); |
| 245 tasks_pending_[task_set] = false; | 255 tasks_pending_[task_set] = false; |
| 246 client_->DidFinishRunningTileTasks(task_set); | 256 client_->DidFinishRunningTileTasks(task_set); |
| 247 } | 257 } |
| 248 | 258 |
| 249 } // namespace cc | 259 } // namespace cc |
| OLD | NEW |