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

Issue 2555743004: Delay activation/draw on GPU tile work completion (Closed)

Created:
4 years ago by ericrk
Modified:
3 years, 10 months ago
Reviewers:
sunnyps, vmiura, vmpstr
CC:
chromium-reviews, cc-bugs_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Delay activation/draw on GPU tile work completion Design doc: https://goo.gl/Ku9VBh This change delays the activation of the pending tree as well as drawing of active tree tiles on the completion of the required GL work in the GPU process. This differs from our current approach, where we only delay activation/draw on the issuing of GL commands in the renderer, not on the commands being executed in the GL process. Note that this behavior is only added in cases where we've enabled the async worker context via flags. BUG=673434 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2555743004 Cr-Commit-Position: refs/heads/master@{#447346} Committed: https://chromium.googlesource.com/chromium/src/+/7f6a27f1dbe4d8cafffb919445bc93bb8867a8fe

Patch Set 1 #

Patch Set 2 : add tests #

Patch Set 3 : more unit tests #

Patch Set 4 : cleanup #

Patch Set 5 : cleanup #

Total comments: 7

Patch Set 6 : rewrite #

Patch Set 7 : cleanup #

Patch Set 8 : rebase #

Patch Set 9 : comments #

Total comments: 8

Patch Set 10 : comments #

Patch Set 11 : rebase #

Patch Set 12 : erase tiles from pending list #

Patch Set 13 : Fix tile release logic. #

Total comments: 4

Patch Set 14 : Use correct context #

Patch Set 15 : rebase #

Total comments: 35

Patch Set 16 : Feedback #

Patch Set 17 : rebase #

Patch Set 18 : rebase #2 #

Total comments: 3

Patch Set 19 : add TODO #

Patch Set 20 : rebase compile fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+785 lines, -51 lines) Patch
M cc/raster/bitmap_raster_buffer_provider.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M cc/raster/bitmap_raster_buffer_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +14 lines, -0 lines 0 comments Download
M cc/raster/gpu_raster_buffer_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +5 lines, -0 lines 0 comments Download
M cc/raster/gpu_raster_buffer_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +42 lines, -0 lines 0 comments Download
M cc/raster/one_copy_raster_buffer_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +5 lines, -0 lines 0 comments Download
M cc/raster/one_copy_raster_buffer_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +42 lines, -0 lines 0 comments Download
M cc/raster/raster_buffer_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +15 lines, -0 lines 0 comments Download
M cc/raster/raster_buffer_provider_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 11 chunks +83 lines, -14 lines 0 comments Download
M cc/raster/zero_copy_raster_buffer_provider.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M cc/raster/zero_copy_raster_buffer_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +14 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 1 chunk +3 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 1 chunk +11 lines, -0 lines 0 comments Download
M cc/resources/resource_provider_unittest.cc View 1 2 3 4 5 1 chunk +30 lines, -0 lines 0 comments Download
M cc/test/fake_raster_buffer_provider.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M cc/test/fake_raster_buffer_provider.cc View 1 2 3 4 5 6 1 chunk +12 lines, -0 lines 0 comments Download
M cc/tiles/picture_layer_tiling.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +2 lines, -1 line 0 comments Download
M cc/tiles/tile_draw_info.h View 1 2 3 4 5 6 7 8 9 3 chunks +21 lines, -7 lines 0 comments Download
M cc/tiles/tile_draw_info.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +7 lines, -5 lines 0 comments Download
M cc/tiles/tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +22 lines, -2 lines 0 comments Download
M cc/tiles/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 14 chunks +103 lines, -21 lines 0 comments Download
M cc/tiles/tile_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +339 lines, -1 line 0 comments Download

Messages

Total messages: 90 (62 generated)
ericrk
I've taken a shot at the delay-activation part of the client-side scheduler logic. Delaying drawing ...
4 years ago (2016-12-07 19:13:37 UTC) #4
vmpstr
https://codereview.chromium.org/2555743004/diff/80001/cc/raster/one_copy_raster_buffer_provider.cc File cc/raster/one_copy_raster_buffer_provider.cc (right): https://codereview.chromium.org/2555743004/diff/80001/cc/raster/one_copy_raster_buffer_provider.cc#newcode177 cc/raster/one_copy_raster_buffer_provider.cc:177: if (callback_id != pending_callback_id) { Can you add a ...
4 years ago (2016-12-07 21:00:25 UTC) #5
ericrk
Discussed offline with vmpstr@, I think there's more complexity here than I realized. Writing up ...
4 years ago (2016-12-08 00:08:55 UTC) #6
ericrk
Updated the CL to handle the missing cases from v1. Also wrote up a design ...
4 years ago (2016-12-13 18:22:12 UTC) #8
ericrk
rebase
4 years ago (2016-12-13 18:26:04 UTC) #9
ericrk
comments
4 years ago (2016-12-13 19:53:29 UTC) #10
vmpstr
I looked at TM only for now https://codereview.chromium.org/2555743004/diff/160001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2555743004/diff/160001/cc/tiles/tile_manager.cc#newcode423 cc/tiles/tile_manager.cc:423: auto found ...
4 years ago (2016-12-13 22:47:51 UTC) #11
ericrk
comments
4 years ago (2016-12-13 23:10:13 UTC) #12
ericrk
comments
4 years ago (2016-12-14 00:36:43 UTC) #15
ericrk
Updated. PTAL. Thanks! On 2016/12/13 22:47:51, vmpstr wrote: > I looked at TM only for ...
4 years ago (2016-12-14 00:48:45 UTC) #16
vmpstr
https://codereview.chromium.org/2555743004/diff/200001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2555743004/diff/200001/cc/tiles/tile_manager.cc#newcode520 cc/tiles/tile_manager.cc:520: if (!pending_ready_for_draw_tiles_.empty()) If it's empty, then we won't do ...
4 years ago (2016-12-14 18:03:31 UTC) #17
ericrk
comments
4 years ago (2016-12-14 19:52:51 UTC) #18
ericrk
https://codereview.chromium.org/2555743004/diff/200001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2555743004/diff/200001/cc/tiles/tile_manager.cc#newcode520 cc/tiles/tile_manager.cc:520: if (!pending_ready_for_draw_tiles_.empty()) On 2016/12/14 18:03:31, vmpstr wrote: > If ...
4 years ago (2016-12-14 19:53:48 UTC) #19
ericrk
rebase
4 years ago (2016-12-14 22:46:32 UTC) #20
ericrk
On 2016/12/14 22:46:32, ericrk wrote: > rebase ping, vmpstr@, can you take a look - ...
4 years ago (2016-12-21 19:58:48 UTC) #21
vmiura
https://codereview.chromium.org/2555743004/diff/320001/cc/raster/gpu_raster_buffer_provider.cc File cc/raster/gpu_raster_buffer_provider.cc (right): https://codereview.chromium.org/2555743004/diff/320001/cc/raster/gpu_raster_buffer_provider.cc#newcode201 cc/raster/gpu_raster_buffer_provider.cc:201: sync_token.release_count()); This should be checking the release count on ...
3 years, 11 months ago (2017-01-05 01:54:41 UTC) #35
ericrk
rebase
3 years, 11 months ago (2017-01-05 21:19:56 UTC) #36
ericrk
Thanks for the catch. Updated. https://codereview.chromium.org/2555743004/diff/320001/cc/raster/gpu_raster_buffer_provider.cc File cc/raster/gpu_raster_buffer_provider.cc (right): https://codereview.chromium.org/2555743004/diff/320001/cc/raster/gpu_raster_buffer_provider.cc#newcode201 cc/raster/gpu_raster_buffer_provider.cc:201: sync_token.release_count()); On 2017/01/05 01:54:41, ...
3 years, 11 months ago (2017-01-05 21:20:40 UTC) #37
vmpstr
https://codereview.chromium.org/2555743004/diff/360001/cc/raster/gpu_raster_buffer_provider.cc File cc/raster/gpu_raster_buffer_provider.cc (right): https://codereview.chromium.org/2555743004/diff/360001/cc/raster/gpu_raster_buffer_provider.cc#newcode217 cc/raster/gpu_raster_buffer_provider.cc:217: // If the callback we are about to request ...
3 years, 11 months ago (2017-01-05 22:00:47 UTC) #40
ericrk
https://codereview.chromium.org/2555743004/diff/360001/cc/raster/gpu_raster_buffer_provider.cc File cc/raster/gpu_raster_buffer_provider.cc (right): https://codereview.chromium.org/2555743004/diff/360001/cc/raster/gpu_raster_buffer_provider.cc#newcode217 cc/raster/gpu_raster_buffer_provider.cc:217: // If the callback we are about to request ...
3 years, 11 months ago (2017-01-09 23:05:22 UTC) #48
ericrk
rebase
3 years, 11 months ago (2017-01-11 19:22:33 UTC) #54
ericrk
Ping for review. Thanks!
3 years, 11 months ago (2017-01-17 18:57:51 UTC) #71
ericrk
On 2017/01/17 18:57:51, ericrk wrote: > Ping for review. Thanks! ping, PTAL. Thanks.
3 years, 10 months ago (2017-01-30 15:42:16 UTC) #74
vmpstr
Other than my comment, the rest of the patch looks good. https://codereview.chromium.org/2555743004/diff/460001/cc/raster/gpu_raster_buffer_provider.cc File cc/raster/gpu_raster_buffer_provider.cc (right): ...
3 years, 10 months ago (2017-01-30 19:51:19 UTC) #75
ericrk
https://codereview.chromium.org/2555743004/diff/460001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2555743004/diff/460001/cc/tiles/tile_manager.cc#newcode1325 cc/tiles/tile_manager.cc:1325: if (tile->required_for_activation()) On 2017/01/30 19:51:19, vmpstr wrote: > While ...
3 years, 10 months ago (2017-01-31 19:23:54 UTC) #76
vmpstr
lgtm
3 years, 10 months ago (2017-01-31 21:33:48 UTC) #83
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2555743004/500001
3 years, 10 months ago (2017-01-31 22:27:49 UTC) #87
commit-bot: I haz the power
3 years, 10 months ago (2017-01-31 22:35:19 UTC) #90
Message was sent while issue was closed.
Committed patchset #20 (id:500001) as
https://chromium.googlesource.com/chromium/src/+/7f6a27f1dbe4d8cafffb919445bc...

Powered by Google App Engine
This is Rietveld 408576698