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

Side by Side Diff: cc/raster/tile_task_worker_pool_perftest.cc

Issue 1139063002: cc: Partial tile update for one-copy raster. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: monocle: slightlylessstruct Created 5 years, 7 months 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
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/raster/tile_task_worker_pool.h" 5 #include "cc/raster/tile_task_worker_pool.h"
6 6
7 #include "base/test/test_simple_task_runner.h" 7 #include "base/test/test_simple_task_runner.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "cc/debug/lap_timer.h" 9 #include "cc/debug/lap_timer.h"
10 #include "cc/output/context_provider.h" 10 #include "cc/output/context_provider.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 public: 154 public:
155 PerfRasterTaskImpl(scoped_ptr<ScopedResource> resource, 155 PerfRasterTaskImpl(scoped_ptr<ScopedResource> resource,
156 ImageDecodeTask::Vector* dependencies) 156 ImageDecodeTask::Vector* dependencies)
157 : RasterTask(resource.get(), dependencies), resource_(resource.Pass()) {} 157 : RasterTask(resource.get(), dependencies), resource_(resource.Pass()) {}
158 158
159 // Overridden from Task: 159 // Overridden from Task:
160 void RunOnWorkerThread() override {} 160 void RunOnWorkerThread() override {}
161 161
162 // Overridden from TileTask: 162 // Overridden from TileTask:
163 void ScheduleOnOriginThread(TileTaskClient* client) override { 163 void ScheduleOnOriginThread(TileTaskClient* client) override {
164 raster_buffer_ = client->AcquireBufferForRaster(resource()); 164 // No tile ids are given to support partial updates.
165 TileTaskData data(resource(), 0, 0);
166 raster_buffer_ = client->AcquireBufferForRaster(data);
165 } 167 }
166 void CompleteOnOriginThread(TileTaskClient* client) override { 168 void CompleteOnOriginThread(TileTaskClient* client) override {
167 client->ReleaseBufferForRaster(raster_buffer_.Pass()); 169 client->ReleaseBufferForRaster(raster_buffer_.Pass());
168 } 170 }
169 void RunReplyOnOriginThread() override { Reset(); } 171 void RunReplyOnOriginThread() override { Reset(); }
170 172
171 void Reset() { 173 void Reset() {
172 did_run_ = false; 174 did_run_ = false;
173 did_complete_ = false; 175 did_complete_ = false;
174 } 176 }
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 task_runner_.get(), task_graph_runner_.get(), 265 task_runner_.get(), task_graph_runner_.get(),
264 resource_provider_.get()); 266 resource_provider_.get());
265 break; 267 break;
266 case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY: 268 case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY:
267 Create3dOutputSurfaceAndResourceProvider(); 269 Create3dOutputSurfaceAndResourceProvider();
268 staging_resource_pool_ = ResourcePool::Create(resource_provider_.get(), 270 staging_resource_pool_ = ResourcePool::Create(resource_provider_.get(),
269 GL_TEXTURE_2D); 271 GL_TEXTURE_2D);
270 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create( 272 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create(
271 task_runner_.get(), task_graph_runner_.get(), 273 task_runner_.get(), task_graph_runner_.get(),
272 context_provider_.get(), resource_provider_.get(), 274 context_provider_.get(), resource_provider_.get(),
273 staging_resource_pool_.get(), std::numeric_limits<size_t>::max()); 275 staging_resource_pool_.get(), std::numeric_limits<size_t>::max(),
276 false);
274 break; 277 break;
275 case TILE_TASK_WORKER_POOL_TYPE_GPU: 278 case TILE_TASK_WORKER_POOL_TYPE_GPU:
276 Create3dOutputSurfaceAndResourceProvider(); 279 Create3dOutputSurfaceAndResourceProvider();
277 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create( 280 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create(
278 task_runner_.get(), task_graph_runner_.get(), 281 task_runner_.get(), task_graph_runner_.get(),
279 context_provider_.get(), resource_provider_.get(), false, 0); 282 context_provider_.get(), resource_provider_.get(), false, 0);
280 break; 283 break;
281 case TILE_TASK_WORKER_POOL_TYPE_BITMAP: 284 case TILE_TASK_WORKER_POOL_TYPE_BITMAP:
282 CreateSoftwareOutputSurfaceAndResourceProvider(); 285 CreateSoftwareOutputSurfaceAndResourceProvider();
283 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create( 286 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create(
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 RunBuildTileTaskQueueTest("1_0", 1, 0); 513 RunBuildTileTaskQueueTest("1_0", 1, 0);
511 RunBuildTileTaskQueueTest("32_0", 32, 0); 514 RunBuildTileTaskQueueTest("32_0", 32, 0);
512 RunBuildTileTaskQueueTest("1_1", 1, 1); 515 RunBuildTileTaskQueueTest("1_1", 1, 1);
513 RunBuildTileTaskQueueTest("32_1", 32, 1); 516 RunBuildTileTaskQueueTest("32_1", 32, 1);
514 RunBuildTileTaskQueueTest("1_4", 1, 4); 517 RunBuildTileTaskQueueTest("1_4", 1, 4);
515 RunBuildTileTaskQueueTest("32_4", 32, 4); 518 RunBuildTileTaskQueueTest("32_4", 32, 4);
516 } 519 }
517 520
518 } // namespace 521 } // namespace
519 } // namespace cc 522 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698