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

Issue 69343005: Added preliminary support for tile rasterization with Ganesh (Closed)

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

Description

Added preliminary support for GPU tile rasterization. The feature is behind the flag --enable-gpu-rasterizing. BUG=316685

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Ported scissoring fix from gr_layer patch. #

Total comments: 6

Patch Set 6 : Added --enable-gpu-rasterizing switch and addressed Vlad's feedback. #

Patch Set 7 : Fixed compile error on try bots. #

Patch Set 8 : #

Total comments: 25

Patch Set 9 : Reveman's comments. #

Total comments: 1

Patch Set 10 : PlictureLayerImpl decides whether a tile is gpu rasterizable + other comments. #

Patch Set 11 : Fix cc_perftests compile error. #

Total comments: 7

Patch Set 12 : Nits and GpuRasterizer::Queue. #

Patch Set 13 : Fix for tests that pass NULL resource_provider/context_provider. #

Total comments: 12

Patch Set 14 : Nat's nits. #

Patch Set 15 : Test that tiles marked for gpu rasterization make it to the GpuRasterizer. #

Patch Set 16 : Rebased. #

Patch Set 17 : Rebased. #

Patch Set 18 : Rebase #

Patch Set 19 : Rebase (ScopedResource). #

Unified diffs Side-by-side diffs Delta from patch set Stats (+315 lines, -5 lines) Patch
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -0 lines 0 comments Download
A cc/resources/gpu_rasterizer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +78 lines, -0 lines 0 comments Download
A cc/resources/gpu_rasterizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +128 lines, -0 lines 0 comments Download
M cc/resources/resource_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -0 lines 0 comments Download
M cc/resources/resource_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +4 lines, -2 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 16 17 18 5 chunks +11 lines, -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 16 17 18 9 chunks +41 lines, -3 lines 0 comments Download
M cc/resources/tile_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +15 lines, -0 lines 0 comments Download
M cc/test/fake_tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 5 chunks +31 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
nduca
awesome, david and/or vmpstr should review. enne might want to bless as well.
7 years, 1 month ago (2013-11-22 20:52:54 UTC) #1
nduca
(you're gonna need unit tests)
7 years, 1 month ago (2013-11-22 20:53:23 UTC) #2
vmpstr
I don't really have any substantial comments, since it seems that some more work needs ...
7 years, 1 month ago (2013-11-22 21:29:11 UTC) #3
slavi
https://codereview.chromium.org/69343005/diff/100001/cc/resources/ganesh_rasterizer.cc File cc/resources/ganesh_rasterizer.cc (right): https://codereview.chromium.org/69343005/diff/100001/cc/resources/ganesh_rasterizer.cc#newcode20 cc/resources/ganesh_rasterizer.cc:20: if (!context_provider || On 2013/11/22 21:29:12, vmpstr wrote: > ...
7 years, 1 month ago (2013-11-23 01:27:19 UTC) #4
nduca
lets split out the flag patch from the other changes and also discuss broadly whether ...
7 years ago (2013-11-24 07:29:29 UTC) #5
reveman
https://codereview.chromium.org/69343005/diff/310001/cc/base/switches.cc File cc/base/switches.cc (right): https://codereview.chromium.org/69343005/diff/310001/cc/base/switches.cc#newcode204 cc/base/switches.cc:204: bool IsGpuRasterizingEnabled() { Do we need this helper function ...
7 years ago (2013-11-24 21:56:56 UTC) #6
Vangelis Kokkevis
On 2013/11/24 07:29:29, nduca wrote: > lets split out the flag patch from the other ...
7 years ago (2013-11-25 17:14:25 UTC) #7
vmpstr
https://codereview.chromium.org/69343005/diff/310001/cc/resources/raster_mode.h File cc/resources/raster_mode.h (right): https://codereview.chromium.org/69343005/diff/310001/cc/resources/raster_mode.h#newcode24 cc/resources/raster_mode.h:24: GANESH_RASTER_MODE = 3, On 2013/11/24 21:56:57, David Reveman wrote: ...
7 years ago (2013-11-25 18:11:48 UTC) #8
reveman
https://codereview.chromium.org/69343005/diff/310001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/69343005/diff/310001/cc/resources/tile_manager.cc#newcode849 cc/resources/tile_manager.cc:849: ganesh_rasterizer_->FlushRasterTasks(rendering_stats_instrumentation_); On 2013/11/25 18:11:48, vmpstr wrote: > From the ...
7 years ago (2013-11-25 21:24:09 UTC) #9
slavi
https://codereview.chromium.org/69343005/diff/310001/cc/base/switches.cc File cc/base/switches.cc (right): https://codereview.chromium.org/69343005/diff/310001/cc/base/switches.cc#newcode204 cc/base/switches.cc:204: bool IsGpuRasterizingEnabled() { On 2013/11/24 21:56:57, David Reveman wrote: ...
7 years ago (2013-11-25 23:13:13 UTC) #10
enne (OOO)
https://codereview.chromium.org/69343005/diff/310001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/69343005/diff/310001/cc/output/gl_renderer.cc#newcode2490 cc/output/gl_renderer.cc:2490: if (scissor_rect == scissor_rect_ && !scissor_rect_needs_reset_) On 2013/11/24 21:56:57, ...
7 years ago (2013-11-25 23:14:10 UTC) #11
slavi
I'll look into the remaining comments in a bit. https://codereview.chromium.org/69343005/diff/310001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/69343005/diff/310001/cc/output/gl_renderer.cc#newcode2490 cc/output/gl_renderer.cc:2490: ...
7 years ago (2013-11-25 23:22:52 UTC) #12
humper
On 2013/11/25 23:22:52, slavi wrote: > I'll look into the remaining comments in a bit. ...
7 years ago (2013-11-26 21:00:39 UTC) #13
reveman
https://codereview.chromium.org/69343005/diff/540001/cc/resources/gpu_rasterizer.h File cc/resources/gpu_rasterizer.h (right): https://codereview.chromium.org/69343005/diff/540001/cc/resources/gpu_rasterizer.h#newcode34 cc/resources/gpu_rasterizer.h:34: ResourceFormat GetResourceFormat() const { return BGRA_8888; } The GpuRasterizer ...
7 years ago (2013-11-27 00:21:37 UTC) #14
slavi
I've addressed most of the issues raised. PTAL
7 years ago (2013-11-27 22:57:56 UTC) #15
enne (OOO)
https://codereview.chromium.org/69343005/diff/580001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/69343005/diff/580001/cc/layers/picture_layer_impl.cc#newcode485 cc/layers/picture_layer_impl.cc:485: use_gpu_rasterizer); Thanks, I think this is much more in ...
7 years ago (2013-11-27 23:33:26 UTC) #16
vmpstr
just one small nit... https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc File cc/resources/gpu_rasterizer.cc (right): https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc#newcode115 cc/resources/gpu_rasterizer.cc:115: canvas.get(), tile->content_rect_, tile->contents_scale_, nit: tile ...
7 years ago (2013-11-27 23:45:41 UTC) #17
vangelis
https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc File cc/resources/gpu_rasterizer.cc (right): https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc#newcode111 cc/resources/gpu_rasterizer.cc:111: if (tile->opaque_rect().IsEmpty()) Shouldn't we be checking here for an ...
7 years ago (2013-11-28 00:35:01 UTC) #18
slavi
PTAL https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc File cc/resources/gpu_rasterizer.cc (right): https://codereview.chromium.org/69343005/diff/580001/cc/resources/gpu_rasterizer.cc#newcode111 cc/resources/gpu_rasterizer.cc:111: if (tile->opaque_rect().IsEmpty()) On 2013/11/28 00:35:01, vangelis wrote: > ...
7 years ago (2013-11-28 00:47:48 UTC) #19
reveman
How does this fit into our image decode story? Maybe it'd be better to perform ...
7 years ago (2013-12-02 01:00:25 UTC) #20
vangelis
On 2013/12/02 01:00:25, David Reveman wrote: > How does this fit into our image decode ...
7 years ago (2013-12-02 06:36:31 UTC) #21
reveman
On 2013/12/02 06:36:31, vangelis wrote: > On 2013/12/02 01:00:25, David Reveman wrote: > > How ...
7 years ago (2013-12-02 16:39:56 UTC) #22
nduca
im still a bit confused about the relationship between gpu rasterizer and the other pools. ...
7 years ago (2013-12-02 19:50:17 UTC) #23
nduca
it seems to me it might be good to split this patch further... there are ...
7 years ago (2013-12-02 19:51:27 UTC) #24
slavi
Added a test and addressed the nits. PTAL https://codereview.chromium.org/69343005/diff/620001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/69343005/diff/620001/cc/layers/picture_layer_impl.cc#newcode474 cc/layers/picture_layer_impl.cc:474: bool ...
7 years ago (2013-12-04 02:06:49 UTC) #25
reveman
I think we'll have to make gpu raster take place behind the RasterWorkerPool interface before ...
7 years ago (2013-12-04 02:35:46 UTC) #26
vangelis
On 2013/12/04 02:35:46, David Reveman wrote: > I think we'll have to make gpu raster ...
7 years ago (2013-12-04 06:34:01 UTC) #27
Vangelis Kokkevis
On 2013/12/04 06:34:01, vangelis wrote: > On 2013/12/04 02:35:46, David Reveman wrote: > > I ...
7 years ago (2013-12-04 17:43:49 UTC) #28
reveman
On 2013/12/04 17:43:49, Vangelis Kokkevis wrote: > On 2013/12/04 06:34:01, vangelis wrote: > > On ...
7 years ago (2013-12-04 19:36:22 UTC) #29
vangelis
On 2013/12/04 19:36:22, David Reveman wrote: > On 2013/12/04 17:43:49, Vangelis Kokkevis wrote: > > ...
7 years ago (2013-12-04 21:39:09 UTC) #30
reveman
On 2013/12/04 21:39:09, vangelis wrote: > On 2013/12/04 19:36:22, David Reveman wrote: > > On ...
7 years ago (2013-12-04 23:11:37 UTC) #31
enne (OOO)
6 years, 10 months ago (2014-02-01 01:00:17 UTC) #32
I think this patch can be closed now.

Powered by Google App Engine
This is Rietveld 408576698