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

Issue 14417014: cc: Add tile-free software compositing mode. (Closed)

Created:
7 years, 8 months ago by aelias_OOO_until_Jul13
Modified:
7 years, 7 months ago
Reviewers:
danakj, kaanb1, enne (OOO)
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, cc-bugs_chromium.org, jam, apatrick_chromium, skaslev, enne (OOO), kaanb, joth, piman, mkosiba (inactive)
Visibility:
Public.

Description

cc: Add tile-free software compositing mode. In Android WebView, CC will be run in a hybrid hardware/software mode where the renderer used may vary frame by frame. We're planning to reserve the ResourceProvider exclusively for GL tiles; for the software case, we'll draw directly from the PicturePile instead. This patch implements this draw-direct-from-PicturePile flow by adding PictureDrawQuad support to SoftwareRenderer and introducing a OutputSurface-based setting telling PictureLayerImpl to only append PictureDrawQuads for the current frame. NOTRY=true BUG=178398 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199313

Patch Set 1 #

Total comments: 7

Patch Set 2 : Activate using bool returned from OutputSurface #

Patch Set 3 : Make one big quad per PictureLayerImpl #

Patch Set 4 : Move early out above debug border quads #

Patch Set 5 : Add tests and optimize quad generation #

Total comments: 8

Patch Set 6 : Rename to allow_tile_draw_quads and fix test #

Patch Set 7 : Rebase to 199251 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -15 lines) Patch
M cc/layers/append_quads_data.h View 1 2 3 4 5 1 chunk +6 lines, -2 lines 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 2 3 4 5 6 1 chunk +23 lines, -0 lines 0 comments Download
M cc/layers/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 3 chunks +31 lines, -0 lines 0 comments Download
M cc/output/direct_renderer.cc View 1 2 3 4 5 6 2 chunks +6 lines, -0 lines 0 comments Download
M cc/output/output_surface.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M cc/output/output_surface.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M cc/output/renderer_pixeltest.cc View 1 2 3 4 5 6 4 chunks +4 lines, -4 lines 0 comments Download
M cc/output/software_renderer.h View 1 2 3 4 2 chunks +4 lines, -0 lines 0 comments Download
M cc/output/software_renderer.cc View 1 2 3 4 5 6 5 chunks +42 lines, -2 lines 0 comments Download
M cc/resources/picture_pile_impl.cc View 1 2 3 4 5 6 1 chunk +0 lines, -5 lines 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 2 chunks +6 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 3 chunks +11 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
aelias_OOO_until_Jul13
PTAL.
7 years, 8 months ago (2013-04-28 03:58:17 UTC) #1
danakj
Right now software mode doesn't get much from resource provider as it does do ubercomp. ...
7 years, 7 months ago (2013-04-28 14:23:32 UTC) #2
aelias_OOO_until_Jul13
This doc should provide more context: https://docs.google.com/a/google.com/document/d/1AD5zswEy9Noi6ThAuKgbtSq_nwL55RDWuuVqeEVXoXs/edit On 2013/04/28 14:23:32, danakj wrote: > Right now ...
7 years, 7 months ago (2013-04-28 20:09:43 UTC) #3
enne (OOO)
I asked skaslev this too[0], but this path needs tests. I am in the middle ...
7 years, 7 months ago (2013-04-28 22:42:27 UTC) #4
kaanb1
https://codereview.chromium.org/14417014/diff/1/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/14417014/diff/1/cc/trees/layer_tree_host_impl.cc#newcode1397 cc/trees/layer_tree_host_impl.cc:1397: ResourceProvider* software_resource_provider = NULL; nit: consider s/software_resource_provider/resource_provider_for_software/ Right now ...
7 years, 7 months ago (2013-04-29 16:56:26 UTC) #5
aelias_OOO_until_Jul13
PTAL, I got rid of the stopgap LayerTreeSetting and command-line flag and switched to a ...
7 years, 7 months ago (2013-04-30 07:28:20 UTC) #6
aelias_OOO_until_Jul13
PTAL. I added a quad generation test and turned on your pixel tests (fixing a ...
7 years, 7 months ago (2013-05-07 02:04:38 UTC) #7
enne (OOO)
https://codereview.chromium.org/14417014/diff/19001/cc/layers/append_quads_data.h File cc/layers/append_quads_data.h (right): https://codereview.chromium.org/14417014/diff/19001/cc/layers/append_quads_data.h#newcode15 cc/layers/append_quads_data.h:15: : cannot_append_tile_draw_quads(false), Please don't use negative booleans. :) https://codereview.chromium.org/14417014/diff/19001/cc/output/direct_renderer.cc ...
7 years, 7 months ago (2013-05-07 06:11:22 UTC) #8
aelias_OOO_until_Jul13
https://codereview.chromium.org/14417014/diff/19001/cc/layers/append_quads_data.h File cc/layers/append_quads_data.h (right): https://codereview.chromium.org/14417014/diff/19001/cc/layers/append_quads_data.h#newcode15 cc/layers/append_quads_data.h:15: : cannot_append_tile_draw_quads(false), On 2013/05/07 06:11:22, enne wrote: > Please ...
7 years, 7 months ago (2013-05-07 23:51:47 UTC) #9
enne (OOO)
lgtm https://codereview.chromium.org/14417014/diff/19001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/14417014/diff/19001/cc/output/direct_renderer.cc#newcode323 cc/output/direct_renderer.cc:323: if (!resource_provider_) On 2013/05/07 23:51:47, aelias wrote: > ...
7 years, 7 months ago (2013-05-09 17:35:43 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aelias@chromium.org/14417014/36001
7 years, 7 months ago (2013-05-10 00:05:43 UTC) #11
commit-bot: I haz the power
7 years, 7 months ago (2013-05-10 00:06:38 UTC) #12
Message was sent while issue was closed.
Change committed as 199313

Powered by Google App Engine
This is Rietveld 408576698