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

Issue 110883015: Add preliminary support for hw-accelerated tile rasterization. (Closed)

Created:
7 years ago by alokp
Modified:
6 years, 11 months ago
Reviewers:
reveman, vmpstr
CC:
chromium-reviews, cc-bugs_chromium.org, nduca, Vangelis Kokkevis, ernstm
Visibility:
Public.

Description

Add preliminary support for hw-accelerated tile rasterization. BUG=316685 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243836

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 25

Patch Set 3 : addressed comments #

Patch Set 4 : addressed more comments #

Total comments: 28

Patch Set 5 : complete gpu tasks at appropriate time #

Total comments: 22

Patch Set 6 : allow multiple task runs before collect #

Patch Set 7 : rebase #

Patch Set 8 : task completion callback #

Total comments: 2

Patch Set 9 : rebase #

Patch Set 10 : used deque for completed gpu tasks #

Patch Set 11 : added unit tests #

Total comments: 8

Patch Set 12 : rebase #

Patch Set 13 : addressed comments #

Patch Set 14 : fixed compile error for cc_perftest #

Patch Set 15 : rebase #

Patch Set 16 : rebase #

Patch Set 17 : avoid implementing TestContextProvider::GrContext for now #

Unified diffs Side-by-side diffs Delta from patch set Stats (+358 lines, -119 lines) Patch
M cc/resources/image_raster_worker_pool.h View 2 chunks +3 lines, -0 lines 0 comments Download
M cc/resources/image_raster_worker_pool.cc View 1 2 3 4 5 4 chunks +12 lines, -1 line 0 comments Download
M cc/resources/pixel_buffer_raster_worker_pool.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +7 lines, -8 lines 0 comments Download
M cc/resources/pixel_buffer_raster_worker_pool.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 13 chunks +22 lines, -12 lines 0 comments Download
M cc/resources/raster_worker_pool.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9 chunks +23 lines, -4 lines 0 comments Download
M cc/resources/raster_worker_pool.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 13 chunks +136 lines, -46 lines 0 comments Download
M cc/resources/raster_worker_pool_perftest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -1 line 0 comments Download
M cc/resources/raster_worker_pool_unittest.cc View 1 2 3 4 5 6 7 8 9 10 9 chunks +124 lines, -32 lines 0 comments Download
M cc/resources/tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +4 lines, -0 lines 0 comments Download
M cc/resources/worker_pool.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M cc/resources/worker_pool.cc View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -11 lines 0 comments Download
M cc/resources/worker_pool_perftest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M cc/resources/worker_pool_unittest.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
alokp
David/Vlad: This is not ready to be committed. I still need to add a few ...
7 years ago (2013-12-16 19:57:35 UTC) #1
reveman
https://codereview.chromium.org/110883015/diff/20001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/20001/cc/resources/image_raster_worker_pool.cc#newcode74 cc/resources/image_raster_worker_pool.cc:74: void ImageRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) { you're missing a call to ...
7 years ago (2013-12-17 00:28:48 UTC) #2
vmpstr
https://codereview.chromium.org/110883015/diff/20001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/20001/cc/resources/raster_worker_pool.cc#newcode560 cc/resources/raster_worker_pool.cc:560: return RasterTask(impl, use_gpu_rasterization); This might be echoing some of ...
7 years ago (2013-12-17 21:04:36 UTC) #3
reveman
https://codereview.chromium.org/110883015/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/110883015/diff/20001/cc/resources/tile_manager.cc#newcode906 cc/resources/tile_manager.cc:906: return raster_worker_pool_->CreateRasterTask( Oh, I didn't notice this change. The ...
7 years ago (2013-12-17 21:25:14 UTC) #4
alokp
https://codereview.chromium.org/110883015/diff/20001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/20001/cc/resources/image_raster_worker_pool.cc#newcode74 cc/resources/image_raster_worker_pool.cc:74: void ImageRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) { On 2013/12/17 00:28:48, David Reveman ...
7 years ago (2013-12-17 22:12:15 UTC) #5
vmpstr
https://codereview.chromium.org/110883015/diff/60001/cc/resources/pixel_buffer_raster_worker_pool.cc File cc/resources/pixel_buffer_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/60001/cc/resources/pixel_buffer_raster_worker_pool.cc#newcode227 cc/resources/pixel_buffer_raster_worker_pool.cc:227: task->DidRun(false); In ImageRasterWorkerPool, similar block does a OnRasterTaskCompleted (which ...
7 years ago (2013-12-17 22:52:45 UTC) #6
reveman
https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc#newcode17 cc/resources/image_raster_worker_pool.cc:17: class ImageWorkerPoolTaskImpl : public internal::WorkerPoolTask { FYI, you can ...
7 years ago (2013-12-17 23:03:16 UTC) #7
alokp
https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc#newcode17 cc/resources/image_raster_worker_pool.cc:17: class ImageWorkerPoolTaskImpl : public internal::WorkerPoolTask { On 2013/12/17 23:03:16, ...
7 years ago (2013-12-17 23:26:07 UTC) #8
reveman
https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc File cc/resources/image_raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/60001/cc/resources/image_raster_worker_pool.cc#newcode17 cc/resources/image_raster_worker_pool.cc:17: class ImageWorkerPoolTaskImpl : public internal::WorkerPoolTask { On 2013/12/17 23:26:08, ...
7 years ago (2013-12-18 00:09:51 UTC) #9
alokp
I believe I have addressed all commments. Please le tme know if I missed anything ...
7 years ago (2013-12-18 22:49:21 UTC) #10
vmpstr
This approach makes sense to me. https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc#newcode563 cc/resources/raster_worker_pool.cc:563: gpu_raster_tasks_.swap(*tasks); Can you ...
7 years ago (2013-12-19 00:30:33 UTC) #11
reveman
Approach is good. https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc#newcode540 cc/resources/raster_worker_pool.cc:540: it != gpu_raster_tasks_.end(); ++it) { nit: ...
7 years ago (2013-12-19 01:36:47 UTC) #12
alokp
https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc#newcode540 cc/resources/raster_worker_pool.cc:540: it != gpu_raster_tasks_.end(); ++it) { On 2013/12/19 01:36:47, David ...
7 years ago (2013-12-19 06:25:41 UTC) #13
reveman
https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h File cc/resources/raster_worker_pool.h (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h#newcode186 cc/resources/raster_worker_pool.h:186: virtual void CheckForCompletedTasks() OVERRIDE; On 2013/12/19 06:25:42, Alok Priyadarshi ...
7 years ago (2013-12-19 17:52:02 UTC) #14
reveman
https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.cc#newcode540 cc/resources/raster_worker_pool.cc:540: it != gpu_raster_tasks_.end(); ++it) { On 2013/12/19 06:25:42, Alok ...
7 years ago (2013-12-19 18:43:35 UTC) #15
alokp
https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h File cc/resources/raster_worker_pool.h (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h#newcode186 cc/resources/raster_worker_pool.h:186: virtual void CheckForCompletedTasks() OVERRIDE; Good Idea! With this change ...
7 years ago (2013-12-19 21:37:51 UTC) #16
reveman
https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h File cc/resources/raster_worker_pool.h (right): https://codereview.chromium.org/110883015/diff/80001/cc/resources/raster_worker_pool.h#newcode186 cc/resources/raster_worker_pool.h:186: virtual void CheckForCompletedTasks() OVERRIDE; On 2013/12/19 21:37:51, Alok Priyadarshi ...
7 years ago (2013-12-19 22:05:25 UTC) #17
alokp
I opted to rename WorkerPool::CheckForCompletedTasks to WorkerPool::CheckForCompletedWorkerTasks because: 1. It was much less code. 2. ...
7 years ago (2013-12-20 07:33:06 UTC) #18
reveman
This looks great! Add a test or two to raster_worker_pool_unittest.cc and I think this is ...
7 years ago (2013-12-20 13:44:42 UTC) #19
alokp
Also added tests. PTAL. https://codereview.chromium.org/110883015/diff/140001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/140001/cc/resources/raster_worker_pool.cc#newcode547 cc/resources/raster_worker_pool.cc:547: completed_gpu_raster_tasks_.clear(); On 2013/12/20 13:44:42, David ...
6 years, 11 months ago (2014-01-03 22:09:44 UTC) #20
reveman
lgtm https://codereview.chromium.org/110883015/diff/350001/skia/skia_library.gypi File skia/skia_library.gypi (right): https://codereview.chromium.org/110883015/diff/350001/skia/skia_library.gypi#newcode133 skia/skia_library.gypi:133: '<@(skgpu_null_gl_sources)', what is this for?
6 years, 11 months ago (2014-01-03 23:29:55 UTC) #21
alokp
Vlad: do you see any issues? https://codereview.chromium.org/110883015/diff/350001/skia/skia_library.gypi File skia/skia_library.gypi (right): https://codereview.chromium.org/110883015/diff/350001/skia/skia_library.gypi#newcode133 skia/skia_library.gypi:133: '<@(skgpu_null_gl_sources)', On 2014/01/03 ...
6 years, 11 months ago (2014-01-03 23:56:16 UTC) #22
vmpstr
lgtm with a few comments https://codereview.chromium.org/110883015/diff/350001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/350001/cc/resources/raster_worker_pool.cc#newcode249 cc/resources/raster_worker_pool.cc:249: RenderingStatsInstrumentation* stats = tile_resolution_ ...
6 years, 11 months ago (2014-01-06 19:15:44 UTC) #23
alokp
https://codereview.chromium.org/110883015/diff/350001/cc/resources/raster_worker_pool.cc File cc/resources/raster_worker_pool.cc (right): https://codereview.chromium.org/110883015/diff/350001/cc/resources/raster_worker_pool.cc#newcode249 cc/resources/raster_worker_pool.cc:249: RenderingStatsInstrumentation* stats = tile_resolution_ == HIGH_RESOLUTION ? On 2014/01/06 ...
6 years, 11 months ago (2014-01-06 22:05:23 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alokp@chromium.org/110883015/580001
6 years, 11 months ago (2014-01-06 22:07:27 UTC) #25
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) cc_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=210316
6 years, 11 months ago (2014-01-06 23:26:24 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alokp@chromium.org/110883015/830001
6 years, 11 months ago (2014-01-07 00:18:12 UTC) #27
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) cc_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=210394
6 years, 11 months ago (2014-01-07 01:17:04 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alokp@chromium.org/110883015/830001
6 years, 11 months ago (2014-01-07 09:54:06 UTC) #29
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) cc_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=210529
6 years, 11 months ago (2014-01-07 11:10:47 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alokp@chromium.org/110883015/1190001
6 years, 11 months ago (2014-01-09 06:18:29 UTC) #31
commit-bot: I haz the power
6 years, 11 months ago (2014-01-09 10:39:49 UTC) #32
Message was sent while issue was closed.
Change committed as 243836

Powered by Google App Engine
This is Rietveld 408576698