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

Issue 1394263004: android webview: allow cc to fail hardware draw (Closed)

Created:
5 years, 2 months ago by boliu
Modified:
5 years, 2 months ago
Reviewers:
danakj, brianderson
CC:
chromium-reviews, jam, cc-bugs_chromium.org, scheduler-bugs_chromium.org, android-webview-reviews_chromium.org, darin-cc_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

android webview: allow cc to fail hardware draw Replace draw_and_swap_full_viewport_every_frame output surface capability with resourceless_software_draw_, since forcing a draw is only needed for software draws now, which is decided at draw time. This also requires plumbing resourceless_software_draw_ bool through to scheduler to force draws, instead of using_synchronous_renderer_compositor setting. Note that resourceless_software_draw_ is no longer a static value. It can change frame by frame. BUG=419795 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/8ca8390151cdc16ae25b82b85148bfd97def043e Cr-Commit-Position: refs/heads/master@{#355730}

Patch Set 1 #

Patch Set 2 : tests compile but crash #

Total comments: 2

Patch Set 3 : new bool in scheduler #

Patch Set 4 : setneedsredraw fixes #

Patch Set 5 : rebase #

Patch Set 6 : rebase + clean ups #

Total comments: 9

Patch Set 7 : rebase + expand test #

Total comments: 14

Patch Set 8 : review #

Patch Set 9 : damage before hardware to avoid invalidate-draw loop #

Unified diffs Side-by-side diffs Delta from patch set Stats (+121 lines, -52 lines) Patch
M android_webview/browser/parent_output_surface.cc View 1 chunk +0 lines, -1 line 0 comments Download
M cc/output/output_surface.h View 2 chunks +0 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 4 chunks +7 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 1 chunk +13 lines, -4 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/fake_output_surface.h View 1 1 chunk +0 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 6 chunks +15 lines, -13 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 10 chunks +46 lines, -21 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_output_surface.cc View 1 2 3 4 5 6 7 8 3 chunks +9 lines, -2 lines 0 comments Download

Messages

Total messages: 39 (9 generated)
boliu
https://codereview.chromium.org/1394263004/diff/20001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/1394263004/diff/20001/cc/scheduler/scheduler_state_machine.cc#newcode268 cc/scheduler/scheduler_state_machine.cc:268: // TODO(boliu): This contradicts comment above that Question for ...
5 years, 2 months ago (2015-10-09 18:09:51 UTC) #2
boliu
https://codereview.chromium.org/1394263004/diff/20001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/1394263004/diff/20001/cc/scheduler/scheduler_state_machine.cc#newcode268 cc/scheduler/scheduler_state_machine.cc:268: // TODO(boliu): This contradicts comment above that On 2015/10/09 ...
5 years, 2 months ago (2015-10-09 18:39:54 UTC) #3
boliu
ptal after offline discussion tried to keep state machine changes small Patch plumbs resourceless software ...
5 years, 2 months ago (2015-10-20 20:56:04 UTC) #4
boliu
mild ping
5 years, 2 months ago (2015-10-21 20:53:21 UTC) #5
brianderson
https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc#newcode261 cc/scheduler/scheduler_state_machine.cc:261: if (resourceless_draw_) Please update the comment above. https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine_unittest.cc File ...
5 years, 2 months ago (2015-10-21 22:43:04 UTC) #6
boliu
answer comments only https://codereview.chromium.org/1394263004/diff/100001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1394263004/diff/100001/cc/trees/layer_tree_host_impl.cc#newcode1451 cc/trees/layer_tree_host_impl.cc:1451: client_->OnResourcelessSoftareDrawStateChanged(resourceless_software_draw); On 2015/10/21 22:43:04, brianderson wrote: ...
5 years, 2 months ago (2015-10-21 22:46:34 UTC) #7
boliu
And new patch set https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc#newcode261 cc/scheduler/scheduler_state_machine.cc:261: if (resourceless_draw_) On 2015/10/21 22:43:04, ...
5 years, 2 months ago (2015-10-21 23:04:44 UTC) #8
brianderson
lgtm https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/1394263004/diff/100001/cc/scheduler/scheduler_state_machine.cc#newcode261 cc/scheduler/scheduler_state_machine.cc:261: if (resourceless_draw_) On 2015/10/21 23:04:44, boliu wrote: > ...
5 years, 2 months ago (2015-10-21 23:15:28 UTC) #9
boliu
+danakj to take a look too?
5 years, 2 months ago (2015-10-21 23:16:39 UTC) #11
danakj
will tomorrow. On Wed, Oct 21, 2015 at 4:16 PM, <boliu@chromium.org> wrote: > +danakj to ...
5 years, 2 months ago (2015-10-22 00:32:22 UTC) #12
danakj
> WIP Update patch description plz
5 years, 2 months ago (2015-10-22 18:36:29 UTC) #13
boliu
On 2015/10/22 18:36:29, danakj wrote: > > WIP > > Update patch description plz Oops. ...
5 years, 2 months ago (2015-10-22 18:42:06 UTC) #16
danakj
https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc#newcode947 cc/trees/layer_tree_host_impl.cc:947: // When resourceless software draw, we don't have control ...
5 years, 2 months ago (2015-10-22 18:49:23 UTC) #17
boliu
https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc#newcode1451 cc/trees/layer_tree_host_impl.cc:1451: client_->OnResourcelessSoftareDrawStateChanged(resourceless_software_draw); On 2015/10/22 18:49:23, danakj wrote: > The only ...
5 years, 2 months ago (2015-10-22 18:58:08 UTC) #18
brianderson
https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc#newcode1451 cc/trees/layer_tree_host_impl.cc:1451: client_->OnResourcelessSoftareDrawStateChanged(resourceless_software_draw); On 2015/10/22 18:58:08, boliu wrote: > On 2015/10/22 ...
5 years, 2 months ago (2015-10-22 20:53:35 UTC) #19
boliu
https://codereview.chromium.org/1394263004/diff/120001/content/renderer/android/synchronous_compositor_output_surface.cc File content/renderer/android/synchronous_compositor_output_surface.cc (right): https://codereview.chromium.org/1394263004/diff/120001/content/renderer/android/synchronous_compositor_output_surface.cc#newcode198 content/renderer/android/synchronous_compositor_output_surface.cc:198: SetNeedsRedrawRect(gfx::Rect(viewport.size())); On 2015/10/22 20:53:35, brianderson wrote: > Does this ...
5 years, 2 months ago (2015-10-22 20:57:53 UTC) #20
danakj
On Thu, Oct 22, 2015 at 1:57 PM, <boliu@chromium.org> wrote: > > > https://codereview.chromium.org/1394263004/diff/120001/content/renderer/android/synchronous_compositor_output_surface.cc > ...
5 years, 2 months ago (2015-10-22 21:10:55 UTC) #21
boliu
30-minutes in, I want to separate out the refactor out of this change; moving only ...
5 years, 2 months ago (2015-10-22 21:20:56 UTC) #22
danakj
On Thu, Oct 22, 2015 at 2:20 PM, <boliu@chromium.org> wrote: > 30-minutes in, I want ...
5 years, 2 months ago (2015-10-22 21:26:45 UTC) #23
boliu
Refactor after this then :) This fixes a flicker that's really irking me.. https://codereview.chromium.org/1394263004/diff/120001/cc/trees/layer_tree_host_impl.cc File ...
5 years, 2 months ago (2015-10-22 21:50:09 UTC) #24
boliu
oops, replied before upload finished, PS8 up now
5 years, 2 months ago (2015-10-22 21:52:02 UTC) #25
danakj
That rebase + changes :P LGTM
5 years, 2 months ago (2015-10-22 21:59:42 UTC) #26
boliu
On 2015/10/22 21:59:42, danakj wrote: > That rebase + changes :P Oops. I have the ...
5 years, 2 months ago (2015-10-22 22:01:29 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1394263004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1394263004/140001
5 years, 2 months ago (2015-10-22 22:03:32 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/85864)
5 years, 2 months ago (2015-10-23 00:28:24 UTC) #32
boliu
On 2015/10/23 00:28:24, commit-bot: I haz the power wrote: > Try jobs failed on following ...
5 years, 2 months ago (2015-10-23 00:41:08 UTC) #33
boliu
On 2015/10/23 00:41:08, boliu wrote: > On 2015/10/23 00:28:24, commit-bot: I haz the power wrote: ...
5 years, 2 months ago (2015-10-23 03:38:58 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1394263004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1394263004/160001
5 years, 2 months ago (2015-10-23 03:39:20 UTC) #37
commit-bot: I haz the power
Committed patchset #9 (id:160001)
5 years, 2 months ago (2015-10-23 04:36:23 UTC) #38
commit-bot: I haz the power
5 years, 2 months ago (2015-10-23 04:37:14 UTC) #39
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/8ca8390151cdc16ae25b82b85148bfd97def043e
Cr-Commit-Position: refs/heads/master@{#355730}

Powered by Google App Engine
This is Rietveld 408576698