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

Issue 733773005: cc: GPU rasterize tiles synchronously in PrepareToDraw (Closed)

Created:
6 years, 1 month ago by ernstm
Modified:
5 years, 10 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, sunnyps
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

cc: GPU rasterize tiles synchronously in PrepareToDraw BUG=434889

Patch Set 1 #

Patch Set 2 : Clean-up on-demand-raster #

Patch Set 3 : Pull BuildRasterQueue out of AssignGpuMemoryToTiles. #

Total comments: 2

Patch Set 4 : Remove redundant completed_tasks_.clear() #

Total comments: 11

Patch Set 5 : Separate GpuRasterizer from GpuRasterWorkerPool. #

Patch Set 6 : Add missing gpu_rasterizer files. #

Patch Set 7 : Rasterize tiles directly without using tasks. #

Patch Set 8 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+442 lines, -102 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download
M cc/debug/frame_viewer_instrumentation.h View 1 2 3 4 5 6 2 chunks +4 lines, -49 lines 0 comments Download
A cc/debug/frame_viewer_instrumentation.cc View 1 2 3 4 5 6 1 chunk +66 lines, -0 lines 0 comments Download
A cc/resources/gpu_rasterizer.h View 1 2 3 4 5 6 1 chunk +52 lines, -0 lines 0 comments Download
A cc/resources/gpu_rasterizer.cc View 1 2 3 4 5 6 1 chunk +148 lines, -0 lines 0 comments Download
M cc/resources/tile.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M cc/resources/tile_manager.h View 1 2 3 4 5 6 5 chunks +11 lines, -1 line 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 11 chunks +80 lines, -20 lines 0 comments Download
M cc/resources/tile_manager_perftest.cc View 2 chunks +18 lines, -10 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 chunks +19 lines, -11 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 4 chunks +4 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 chunks +30 lines, -10 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 32 (1 generated)
ernstm
PTAL
6 years, 1 month ago (2014-11-20 00:58:43 UTC) #2
brianderson
Is the "prepare tasks for image decode" patch going to land on top of this ...
6 years, 1 month ago (2014-11-20 01:16:53 UTC) #3
vmiura
On 2014/11/20 01:16:53, brianderson wrote: > Is the "prepare tasks for image decode" patch going ...
6 years, 1 month ago (2014-11-20 01:21:10 UTC) #4
vmiura
For what it's worth, modulo any issues with the implementation, I really support the separation ...
6 years, 1 month ago (2014-11-20 01:44:02 UTC) #5
vmiura
https://codereview.chromium.org/733773005/diff/40001/cc/resources/gpu_raster_worker_pool.cc File cc/resources/gpu_raster_worker_pool.cc (right): https://codereview.chromium.org/733773005/diff/40001/cc/resources/gpu_raster_worker_pool.cc#newcode218 cc/resources/gpu_raster_worker_pool.cc:218: completed_tasks_.clear(); Since CompleteTasks() calls completed_tasks_.clear(), this could be removed.
6 years, 1 month ago (2014-11-20 01:48:42 UTC) #6
ernstm
https://codereview.chromium.org/733773005/diff/40001/cc/resources/gpu_raster_worker_pool.cc File cc/resources/gpu_raster_worker_pool.cc (right): https://codereview.chromium.org/733773005/diff/40001/cc/resources/gpu_raster_worker_pool.cc#newcode218 cc/resources/gpu_raster_worker_pool.cc:218: completed_tasks_.clear(); On 2014/11/20 01:48:42, vmiura wrote: > Since CompleteTasks() ...
6 years, 1 month ago (2014-11-20 01:57:01 UTC) #7
vmiura
https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode331 cc/trees/layer_tree_host_impl.cc:331: if (tile_manager_ && tile_priorities_dirty_ && !use_gpu_rasterization_) Remove check for ...
6 years, 1 month ago (2014-11-20 02:27:11 UTC) #8
vmiura
https://codereview.chromium.org/733773005/diff/60001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/thread_proxy.cc#newcode1056 cc/trees/thread_proxy.cc:1056: if (!impl().layer_tree_host_impl->use_gpu_rasterization()) nit: This should be redundant, as LTHI ...
6 years, 1 month ago (2014-11-20 02:29:20 UTC) #9
brianderson
https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode1060 cc/trees/layer_tree_host_impl.cc:1060: RasterizeTiles(); Should we only RasterizeTiles if draw_result == DRAW_SUCCESS ...
6 years, 1 month ago (2014-11-20 02:40:19 UTC) #10
vmiura
https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode331 cc/trees/layer_tree_host_impl.cc:331: if (tile_manager_ && tile_priorities_dirty_ && !use_gpu_rasterization_) I take that ...
6 years, 1 month ago (2014-11-20 02:53:45 UTC) #11
reveman
If this is the direction we're going (which I like btw) then I think we ...
6 years, 1 month ago (2014-11-20 15:20:59 UTC) #12
vmiura
https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode1060 cc/trees/layer_tree_host_impl.cc:1060: RasterizeTiles(); On 2014/11/20 15:20:59, reveman wrote: > How you ...
6 years, 1 month ago (2014-11-20 18:28:57 UTC) #13
vmpstr
https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (left): https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc#oldcode558 cc/resources/tile_manager.cc:558: client_->BuildRasterQueue(&raster_priority_queue_, What's the motivation for pulling this out of ...
6 years, 1 month ago (2014-11-20 18:41:00 UTC) #14
reveman
https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode1060 cc/trees/layer_tree_host_impl.cc:1060: RasterizeTiles(); On 2014/11/20 18:28:57, vmiura wrote: > On 2014/11/20 ...
6 years, 1 month ago (2014-11-20 19:07:54 UTC) #15
vmiura
On 2014/11/20 19:07:54, reveman wrote: > https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc > File cc/trees/layer_tree_host_impl.cc (right): > > https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode1060 > ...
6 years, 1 month ago (2014-11-20 19:48:38 UTC) #16
danakj
On Thu, Nov 20, 2014 at 2:48 PM, <vmiura@chromium.org> wrote: > On 2014/11/20 19:07:54, reveman ...
6 years, 1 month ago (2014-11-20 19:59:36 UTC) #17
vmiura
https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc#newcode444 cc/resources/tile_manager.cc:444: while (!raster_priority_queue_.IsEmpty()) { On 2014/11/20 18:40:59, vmpstr wrote: > ...
6 years, 1 month ago (2014-11-20 20:10:10 UTC) #18
vmpstr
On 2014/11/20 19:59:36, danakj wrote: > On Thu, Nov 20, 2014 at 2:48 PM, <mailto:vmiura@chromium.org> ...
6 years, 1 month ago (2014-11-20 20:10:16 UTC) #19
reveman
On 2014/11/20 19:48:38, vmiura wrote: > On 2014/11/20 19:07:54, reveman wrote: > > > https://codereview.chromium.org/733773005/diff/60001/cc/trees/layer_tree_host_impl.cc ...
6 years, 1 month ago (2014-11-20 20:11:56 UTC) #20
vmpstr
On 2014/11/20 20:10:10, vmiura wrote: > https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc > File cc/resources/tile_manager.cc (right): > > https://codereview.chromium.org/733773005/diff/60001/cc/resources/tile_manager.cc#newcode444 > ...
6 years, 1 month ago (2014-11-20 20:13:30 UTC) #21
reveman
FWIW, here's how I think we could implement synchronous raster of tiles without adding more ...
6 years, 1 month ago (2014-11-20 20:45:39 UTC) #22
danakj
On Thu, Nov 20, 2014 at 3:45 PM, <reveman@chromium.org> wrote: > FWIW, here's how I ...
6 years, 1 month ago (2014-11-20 20:54:56 UTC) #23
vmiura
> FWIW, here's how I think we could implement synchronous raster of tiles without > ...
6 years, 1 month ago (2014-11-21 00:11:13 UTC) #24
reveman
On 2014/11/21 00:11:13, vmiura wrote: > > FWIW, here's how I think we could implement ...
6 years, 1 month ago (2014-11-21 16:03:54 UTC) #25
reveman
On 2014/11/20 20:54:56, danakj wrote: > On Thu, Nov 20, 2014 at 3:45 PM, <mailto:reveman@chromium.org> ...
6 years, 1 month ago (2014-11-21 16:10:32 UTC) #26
vmiura
On 2014/11/21 16:03:54, reveman wrote: > On 2014/11/21 00:11:13, vmiura wrote: > > > FWIW, ...
6 years, 1 month ago (2014-11-21 18:35:28 UTC) #27
ernstm
I have scheduled a meeting to discuss.
6 years, 1 month ago (2014-11-21 18:46:28 UTC) #28
reveman
On 2014/11/21 18:35:28, vmiura wrote: > On 2014/11/21 16:03:54, reveman wrote: > > On 2014/11/21 ...
6 years, 1 month ago (2014-11-21 20:21:26 UTC) #29
ernstm
I've created a GpuRasterizer that does the synchronous rasterization. Please take another look.
6 years ago (2014-11-26 01:54:58 UTC) #30
ernstm
On 2014/11/26 01:54:58, ernstm wrote: > I've created a GpuRasterizer that does the synchronous rasterization. ...
6 years ago (2014-11-26 18:29:38 UTC) #31
vmiura
5 years, 12 months ago (2014-12-24 00:17:49 UTC) #32
Message was sent while issue was closed.
Closing, as superceded by https://codereview.chromium.org/820743002/.

Powered by Google App Engine
This is Rietveld 408576698