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

Side by Side Diff: cc/raster/tile_task_worker_pool_unittest.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: rebase Created 5 years, 6 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 <limits> 7 #include <limits>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/cancelable_callback.h" 10 #include "base/cancelable_callback.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 TestRasterTaskImpl(const Resource* resource, 62 TestRasterTaskImpl(const Resource* resource,
63 const Reply& reply, 63 const Reply& reply,
64 ImageDecodeTask::Vector* dependencies) 64 ImageDecodeTask::Vector* dependencies)
65 : RasterTask(resource, dependencies), 65 : RasterTask(resource, dependencies),
66 reply_(reply), 66 reply_(reply),
67 picture_pile_(FakePicturePileImpl::CreateEmptyPile(gfx::Size(1, 1), 67 picture_pile_(FakePicturePileImpl::CreateEmptyPile(gfx::Size(1, 1),
68 gfx::Size(1, 1))) {} 68 gfx::Size(1, 1))) {}
69 69
70 // Overridden from Task: 70 // Overridden from Task:
71 void RunOnWorkerThread() override { 71 void RunOnWorkerThread() override {
72 raster_buffer_->Playback(picture_pile_.get(), gfx::Rect(0, 0, 1, 1), 1.0); 72 raster_buffer_->Playback(picture_pile_.get(), gfx::Rect(1, 1),
73 gfx::Rect(1, 1), 1.0);
73 } 74 }
74 75
75 // Overridden from TileTask: 76 // Overridden from TileTask:
76 void ScheduleOnOriginThread(TileTaskClient* client) override { 77 void ScheduleOnOriginThread(TileTaskClient* client) override {
77 raster_buffer_ = client->AcquireBufferForRaster(resource()); 78 // The raster buffer has no tile ids associated with it for partial update,
79 // so doesn't need to provide a valid dirty rect.
80 raster_buffer_ = client->AcquireBufferForRaster(resource(), 0, 0);
78 } 81 }
79 void CompleteOnOriginThread(TileTaskClient* client) override { 82 void CompleteOnOriginThread(TileTaskClient* client) override {
80 client->ReleaseBufferForRaster(raster_buffer_.Pass()); 83 client->ReleaseBufferForRaster(raster_buffer_.Pass());
81 } 84 }
82 void RunReplyOnOriginThread() override { 85 void RunReplyOnOriginThread() override {
83 reply_.Run(RasterSource::SolidColorAnalysis(), !HasFinishedRunning()); 86 reply_.Run(RasterSource::SolidColorAnalysis(), !HasFinishedRunning());
84 } 87 }
85 88
86 protected: 89 protected:
87 ~TestRasterTaskImpl() override {} 90 ~TestRasterTaskImpl() override {}
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_, 162 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_,
160 resource_provider_.get()); 163 resource_provider_.get());
161 break; 164 break;
162 case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY: 165 case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY:
163 Create3dOutputSurfaceAndResourceProvider(); 166 Create3dOutputSurfaceAndResourceProvider();
164 staging_resource_pool_ = ResourcePool::Create(resource_provider_.get(), 167 staging_resource_pool_ = ResourcePool::Create(resource_provider_.get(),
165 GL_TEXTURE_2D); 168 GL_TEXTURE_2D);
166 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create( 169 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create(
167 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_, 170 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_,
168 context_provider_.get(), resource_provider_.get(), 171 context_provider_.get(), resource_provider_.get(),
169 staging_resource_pool_.get(), kMaxBytesPerCopyOperation); 172 staging_resource_pool_.get(), kMaxBytesPerCopyOperation, false);
170 break; 173 break;
171 case TILE_TASK_WORKER_POOL_TYPE_GPU: 174 case TILE_TASK_WORKER_POOL_TYPE_GPU:
172 Create3dOutputSurfaceAndResourceProvider(); 175 Create3dOutputSurfaceAndResourceProvider();
173 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create( 176 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create(
174 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_, 177 base::ThreadTaskRunnerHandle::Get().get(), &task_graph_runner_,
175 context_provider_.get(), resource_provider_.get(), false, 0); 178 context_provider_.get(), resource_provider_.get(), false, 0);
176 break; 179 break;
177 case TILE_TASK_WORKER_POOL_TYPE_BITMAP: 180 case TILE_TASK_WORKER_POOL_TYPE_BITMAP:
178 CreateSoftwareOutputSurfaceAndResourceProvider(); 181 CreateSoftwareOutputSurfaceAndResourceProvider();
179 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create( 182 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create(
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 void LoseContext(ContextProvider* context_provider) { 286 void LoseContext(ContextProvider* context_provider) {
284 if (!context_provider) 287 if (!context_provider)
285 return; 288 return;
286 context_provider->ContextGL()->LoseContextCHROMIUM( 289 context_provider->ContextGL()->LoseContextCHROMIUM(
287 GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB); 290 GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB);
288 context_provider->ContextGL()->Flush(); 291 context_provider->ContextGL()->Flush();
289 } 292 }
290 293
291 private: 294 private:
292 void Create3dOutputSurfaceAndResourceProvider() { 295 void Create3dOutputSurfaceAndResourceProvider() {
293 output_surface_ = FakeOutputSurface::Create3d( 296 output_surface_ = FakeOutputSurface::Create3d(context_provider_,
294 context_provider_, worker_context_provider_).Pass(); 297 worker_context_provider_);
295 CHECK(output_surface_->BindToClient(&output_surface_client_)); 298 CHECK(output_surface_->BindToClient(&output_surface_client_));
296 TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d(); 299 TestWebGraphicsContext3D* context3d = context_provider_->TestContext3d();
297 context3d->set_support_sync_query(true); 300 context3d->set_support_sync_query(true);
298 resource_provider_ = FakeResourceProvider::Create( 301 resource_provider_ = FakeResourceProvider::Create(
299 output_surface_.get(), nullptr, &gpu_memory_buffer_manager_); 302 output_surface_.get(), nullptr, &gpu_memory_buffer_manager_);
300 } 303 }
301 304
302 void CreateSoftwareOutputSurfaceAndResourceProvider() { 305 void CreateSoftwareOutputSurfaceAndResourceProvider() {
303 output_surface_ = FakeOutputSurface::CreateSoftware( 306 output_surface_ = FakeOutputSurface::CreateSoftware(
304 make_scoped_ptr(new SoftwareOutputDevice)); 307 make_scoped_ptr(new SoftwareOutputDevice));
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 TileTaskWorkerPoolTests, 437 TileTaskWorkerPoolTests,
435 TileTaskWorkerPoolTest, 438 TileTaskWorkerPoolTest,
436 ::testing::Values(TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER, 439 ::testing::Values(TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER,
437 TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY, 440 TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY,
438 TILE_TASK_WORKER_POOL_TYPE_ONE_COPY, 441 TILE_TASK_WORKER_POOL_TYPE_ONE_COPY,
439 TILE_TASK_WORKER_POOL_TYPE_GPU, 442 TILE_TASK_WORKER_POOL_TYPE_GPU,
440 TILE_TASK_WORKER_POOL_TYPE_BITMAP)); 443 TILE_TASK_WORKER_POOL_TYPE_BITMAP));
441 444
442 } // namespace 445 } // namespace
443 } // namespace cc 446 } // namespace cc
OLDNEW
« no previous file with comments | « cc/raster/tile_task_worker_pool_perftest.cc ('k') | cc/raster/zero_copy_tile_task_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698