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

Issue 16190002: cc: Add new RasterWorkerPool interface. (Closed)

Created:
7 years, 6 months ago by reveman
Modified:
7 years, 6 months ago
Reviewers:
kaanb, boliu, vmpstr, enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

cc: Add new RasterWorkerPool interface. Refactor RasterWorkerPool interface such that it can be used to implement different type of resource updates mechanisms. The result is that the tile manager is no longer aware of the need to perform uploads. This cleans up the tile manager code significantly and allow zero copy resource updates to be properly supported. BUG=241644 TEST=cc_unittest --gtest_filter=BasicRasterWorkerPoolTest.* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=203670

Patch Set 1 #

Patch Set 2 : pass unit tests #

Total comments: 25

Patch Set 3 : Remove RasterWorkerPoolClient interface #

Total comments: 4

Patch Set 4 : Move SkDevice creation to RasterWorkerPool implementation #

Total comments: 2

Patch Set 5 : image_tasks_[task] = image_task; #

Total comments: 10

Patch Set 6 : Add missing CheckForCompletedTasks calls #

Total comments: 3

Patch Set 7 : Fix FakeTileManager #

Patch Set 8 : Fix remaining issues and add unit test framework for RasterWorkerPool #

Patch Set 9 : add missing exports #

Patch Set 10 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1231 lines, -342 lines) Patch
M cc/base/worker_pool.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M cc/cc.gyp View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
A cc/resources/image_raster_worker_pool.h View 1 2 3 4 5 6 7 1 chunk +44 lines, -0 lines 0 comments Download
A cc/resources/image_raster_worker_pool.cc View 1 2 3 4 5 1 chunk +142 lines, -0 lines 0 comments Download
M cc/resources/managed_tile_state.h View 1 2 3 4 5 6 7 4 chunks +14 lines, -3 lines 0 comments Download
M cc/resources/managed_tile_state.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M cc/resources/picture_layer_tiling_set_unittest.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
A cc/resources/pixel_buffer_raster_worker_pool.h View 1 2 3 4 5 6 7 1 chunk +63 lines, -0 lines 0 comments Download
A cc/resources/pixel_buffer_raster_worker_pool.cc View 1 2 3 4 5 6 7 1 chunk +313 lines, -0 lines 0 comments Download
M cc/resources/raster_worker_pool.h View 1 2 3 4 5 6 7 8 9 2 chunks +128 lines, -34 lines 0 comments Download
M cc/resources/raster_worker_pool.cc View 1 2 3 4 5 6 7 8 9 4 chunks +124 lines, -62 lines 0 comments Download
A cc/resources/raster_worker_pool_unittest.cc View 1 2 3 4 5 6 7 1 chunk +208 lines, -0 lines 0 comments Download
M cc/resources/tile_manager.h View 1 2 3 4 5 10 chunks +10 lines, -22 lines 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 7 8 9 21 chunks +75 lines, -212 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 4 5 6 1 chunk +13 lines, -3 lines 0 comments Download
M cc/test/test_web_graphics_context_3d.h View 1 2 3 4 5 6 7 4 chunks +29 lines, -0 lines 0 comments Download
M cc/test/test_web_graphics_context_3d.cc View 1 2 3 4 5 6 7 4 chunks +57 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
reveman
This is still WIP so you might want to hold off on the reviews for ...
7 years, 6 months ago (2013-05-29 07:41:38 UTC) #1
vmpstr
https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc#newcode13 cc/resources/image_raster_worker_pool.cc:13: class RootWorkerPoolTaskImpl : public internal::WorkerPoolTask { EmptyWorkerPoolTaskImpl? Also it ...
7 years, 6 months ago (2013-05-29 16:55:03 UTC) #2
reveman
https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc#newcode13 cc/resources/image_raster_worker_pool.cc:13: class RootWorkerPoolTaskImpl : public internal::WorkerPoolTask { On 2013/05/29 16:55:03, ...
7 years, 6 months ago (2013-05-29 19:39:11 UTC) #3
vmpstr
https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc#newcode13 cc/resources/image_raster_worker_pool.cc:13: class RootWorkerPoolTaskImpl : public internal::WorkerPoolTask { > Maybe we ...
7 years, 6 months ago (2013-05-29 20:45:06 UTC) #4
kaanb
I skimmed over image_raster_pool_worker mostly. https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/3001/cc/resources/image_raster_worker_pool.cc#newcode49 cc/resources/image_raster_worker_pool.cc:49: virtual void DispatchCompletionCallback() OVERRIDE ...
7 years, 6 months ago (2013-05-29 21:04:15 UTC) #5
reveman
+enne I'm temporarily removing the "force upload at beginSetPixels time" optimization in this patch. We ...
7 years, 6 months ago (2013-05-30 01:46:10 UTC) #6
kaanb
https://codereview.chromium.org/16190002/diff/11001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/16190002/diff/11001/cc/resources/tile_manager.cc#newcode104 cc/resources/tile_manager.cc:104: use_map_image)); You're not doing anything with |use_map_image| within the ...
7 years, 6 months ago (2013-05-30 02:02:05 UTC) #7
reveman
https://codereview.chromium.org/16190002/diff/11001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/16190002/diff/11001/cc/resources/tile_manager.cc#newcode104 cc/resources/tile_manager.cc:104: use_map_image)); On 2013/05/30 02:02:06, kaanb wrote: > You're not ...
7 years, 6 months ago (2013-05-30 03:27:18 UTC) #8
boliu
https://codereview.chromium.org/16190002/diff/16001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/16001/cc/resources/image_raster_worker_pool.cc#newcode104 cc/resources/image_raster_worker_pool.cc:104: raster_tasks.push_back(image_task); I *think* needs image_tasks_[task] = image_task;
7 years, 6 months ago (2013-05-30 03:30:44 UTC) #9
reveman
https://codereview.chromium.org/16190002/diff/16001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/16001/cc/resources/image_raster_worker_pool.cc#newcode104 cc/resources/image_raster_worker_pool.cc:104: raster_tasks.push_back(image_task); On 2013/05/30 03:30:44, boliu wrote: > I *think* ...
7 years, 6 months ago (2013-05-30 03:55:42 UTC) #10
kaanb
lgtm and one question for image_raster_worker_pool https://codereview.chromium.org/16190002/diff/19002/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/19002/cc/resources/image_raster_worker_pool.cc#newcode120 cc/resources/image_raster_worker_pool.cc:120: resource_provider_->BindImage(task->resource()->id()); Should we ...
7 years, 6 months ago (2013-05-30 18:48:36 UTC) #11
enne (OOO)
I really like what this removes from TileManager. Nice work! I'm fine with removing the ...
7 years, 6 months ago (2013-05-30 19:38:31 UTC) #12
enne (OOO)
When running with this patch I get a bunch of: FATAL:picture_pile_impl.cc(73)] Check failed: clones_for_drawing_.clones_.size() > ...
7 years, 6 months ago (2013-05-30 22:31:52 UTC) #13
enne (OOO)
I meant to add that is with patch set 5 against r203219.
7 years, 6 months ago (2013-05-30 22:32:52 UTC) #14
reveman
https://codereview.chromium.org/16190002/diff/19002/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/19002/cc/resources/image_raster_worker_pool.cc#newcode120 cc/resources/image_raster_worker_pool.cc:120: resource_provider_->BindImage(task->resource()->id()); On 2013/05/30 18:48:36, kaanb wrote: > Should we ...
7 years, 6 months ago (2013-05-30 23:25:18 UTC) #15
vmpstr
lgtm https://codereview.chromium.org/16190002/diff/21002/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/16190002/diff/21002/cc/resources/raster_worker_pool.cc#newcode72 cc/resources/raster_worker_pool.cc:72: scoped_refptr<PicturePileImpl> picture_pile_; On 2013/05/30 23:25:18, David Reveman wrote: ...
7 years, 6 months ago (2013-05-31 15:55:10 UTC) #16
enne (OOO)
lgtm2 https://codereview.chromium.org/16190002/diff/19002/cc/resources/managed_tile_state.h File cc/resources/managed_tile_state.h (right): https://codereview.chromium.org/16190002/diff/19002/cc/resources/managed_tile_state.h#newcode50 cc/resources/managed_tile_state.h:50: return resource_id_; On 2013/05/30 23:25:18, David Reveman wrote: ...
7 years, 6 months ago (2013-05-31 17:05:37 UTC) #17
reveman
Fyi, I've fixed the unit test failures and also added a framework and a basic ...
7 years, 6 months ago (2013-06-01 03:02:37 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/16190002/45001
7 years, 6 months ago (2013-06-02 18:45:28 UTC) #19
commit-bot: I haz the power
Failed to apply patch for cc/resources/raster_worker_pool.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 6 months ago (2013-06-02 18:45:37 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/16190002/48001
7 years, 6 months ago (2013-06-03 03:08:59 UTC) #21
commit-bot: I haz the power
7 years, 6 months ago (2013-06-03 05:18:45 UTC) #22
Message was sent while issue was closed.
Change committed as 203670

Powered by Google App Engine
This is Rietveld 408576698