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

Issue 1231263003: Share SyncPointManager between ipc and in-process (Closed)

Created:
5 years, 5 months ago by boliu
Modified:
5 years, 5 months ago
Reviewers:
msw, no sievers, jbauman, piman
CC:
chromium-reviews, darin-cc_chromium.org, jam, piman+watch_chromium.org, sky
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Share SyncPointManager between ipc and in-process Allow SyncPointManager instance to be set, and set the same instance in Android WebView. Also remove ref-counting and just guarantee SyncPointManager outlives running message loop. Also make SyncPointManager thread safe, and callbacks are no longer guaranteed to happen on the same thread. Make sure command buffer implementations handle it correctly. BUG=509702 Committed: https://crrev.com/c5befe7d0b86bb4996017605f1edc4bfa1c327f8 Cr-Commit-Position: refs/heads/master@{#339712}

Patch Set 1 #

Patch Set 2 : fix mandoline, threading/checks #

Patch Set 3 : #

Patch Set 4 : always support wait #

Patch Set 5 : clean up #

Patch Set 6 : piman comments #

Patch Set 7 : injection #

Patch Set 8 : clean ups #

Patch Set 9 : fix bots #

Patch Set 10 : fix webview unittests #

Patch Set 11 : rebase #

Total comments: 2

Patch Set 12 : gpu_main #

Patch Set 13 : rebase #

Total comments: 2

Patch Set 14 : fix browser tests #

Patch Set 15 : mandoline #

Total comments: 11

Patch Set 16 : remove forward decl/includes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+296 lines, -246 lines) Patch
M android_webview/browser/aw_browser_main_parts.cc View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M android_webview/browser/deferred_gpu_command_service.h View 1 2 3 4 5 6 3 chunks +7 lines, -0 lines 0 comments Download
M android_webview/browser/deferred_gpu_command_service.cc View 1 2 3 4 5 6 3 chunks +7 lines, -1 line 0 comments Download
M android_webview/browser/shared_renderer_state.cc View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M android_webview/lib/main/webview_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -0 lines 0 comments Download
M components/view_manager/gles2/command_buffer_driver.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +6 lines, -12 lines 0 comments Download
M components/view_manager/gles2/command_buffer_driver.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +11 lines, -20 lines 0 comments Download
M components/view_manager/gles2/command_buffer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +6 lines, -11 lines 0 comments Download
M components/view_manager/gles2/command_buffer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +11 lines, -8 lines 0 comments Download
M components/view_manager/gles2/gpu_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +0 lines, -11 lines 0 comments Download
M components/view_manager/gles2/gpu_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -11 lines 0 comments Download
M components/view_manager/gles2/gpu_state.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M components/view_manager/gles2/gpu_state.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M components/view_manager/native_viewport/onscreen_context_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -6 lines 0 comments Download
M content/browser/android/in_process/DEPS View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_factory_impl.h View 1 2 3 4 5 6 4 chunks +11 lines, -1 line 0 comments Download
M content/browser/android/in_process/synchronous_compositor_factory_impl.cc View 1 2 3 4 5 6 6 chunks +32 lines, -12 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_impl.cc View 1 2 3 4 5 6 3 chunks +8 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +3 lines, -3 lines 0 comments Download
M content/common/gpu/gpu_channel_manager.h View 1 2 3 4 5 6 3 chunks +4 lines, -2 lines 0 comments Download
M content/common/gpu/gpu_channel_manager.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -1 line 0 comments Download
M content/common/gpu/gpu_channel_manager_unittest.cc View 1 2 3 4 5 6 3 chunks +6 lines, -3 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +16 lines, -5 lines 0 comments Download
M content/gpu/gpu_child_thread.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +11 lines, -2 lines 0 comments Download
M content/gpu/gpu_child_thread.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +8 lines, -3 lines 0 comments Download
M content/gpu/gpu_main.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -1 line 0 comments Download
M content/gpu/in_process_gpu_thread.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +12 lines, -1 line 0 comments Download
M content/gpu/in_process_gpu_thread.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +12 lines, -4 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 2 3 4 5 6 7 8 4 chunks +29 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 3 4 5 6 9 chunks +50 lines, -71 lines 0 comments Download
M gpu/command_buffer/service/sync_point_manager.h View 1 2 3 4 5 6 2 chunks +7 lines, -21 lines 0 comments Download
M gpu/command_buffer/service/sync_point_manager.cc View 1 2 3 4 5 6 7 5 chunks +19 lines, -33 lines 0 comments Download

Messages

Total messages: 36 (6 generated)
boliu
ptal net -50 lines!
5 years, 5 months ago (2015-07-15 16:08:29 UTC) #2
no sievers
Looks fine but +jbauman to confirm that it's fine to make this global and that ...
5 years, 5 months ago (2015-07-15 21:53:27 UTC) #4
jbauman
lgtm. Having only one SyncPointManager makes sense to me, though I could imagine doing weird ...
5 years, 5 months ago (2015-07-15 23:35:24 UTC) #5
boliu
+msw for components/view_manager
5 years, 5 months ago (2015-07-15 23:43:49 UTC) #7
msw
components/view_manager lgtm. CC'ing sky for FYI.
5 years, 5 months ago (2015-07-16 19:59:10 UTC) #8
piman
Drive-by: making this a singleton seems like a regression... why can't we keep dependency injection? ...
5 years, 5 months ago (2015-07-16 20:20:50 UTC) #9
boliu
How does this sound On 2015/07/16 20:20:50, piman (Very slow to review) wrote: > Drive-by: ...
5 years, 5 months ago (2015-07-16 21:26:31 UTC) #10
no sievers
On 2015/07/16 21:26:31, boliu wrote:> > > Needing a default constructor (for > > LazyInstance) ...
5 years, 5 months ago (2015-07-16 21:53:41 UTC) #11
boliu
On 2015/07/16 21:53:41, sievers wrote: > On 2015/07/16 21:26:31, boliu wrote:> > > > Needing ...
5 years, 5 months ago (2015-07-16 21:56:18 UTC) #12
chromium-reviews
On Thu, Jul 16, 2015 at 2:26 PM, <boliu@chromium.org> wrote: > How does this sound ...
5 years, 5 months ago (2015-07-16 23:55:58 UTC) #13
boliu
On 2015/07/16 23:55:58, chromium-reviews wrote: > On Thu, Jul 16, 2015 at 2:26 PM, <mailto:boliu@chromium.org> ...
5 years, 5 months ago (2015-07-17 00:01:37 UTC) #14
chromium-reviews
On Thu, Jul 16, 2015 at 5:01 PM, <boliu@chromium.org> wrote: > On 2015/07/16 23:55:58, chromium-reviews ...
5 years, 5 months ago (2015-07-17 00:27:42 UTC) #16
boliu
On 2015/07/17 00:27:42, chromium-reviews wrote: > On Thu, Jul 16, 2015 at 5:01 PM, <mailto:boliu@chromium.org> ...
5 years, 5 months ago (2015-07-17 00:40:42 UTC) #17
piman
On Thu, Jul 16, 2015 at 5:40 PM, <boliu@chromium.org> wrote: > On 2015/07/17 00:27:42, chromium-reviews ...
5 years, 5 months ago (2015-07-17 01:06:00 UTC) #18
boliu
PS8 adds all the plumbing to inject the SyncPointManager instance in android webview. The only ...
5 years, 5 months ago (2015-07-17 20:20:37 UTC) #19
boliu
piman: ptal I think all the bots should be green now
5 years, 5 months ago (2015-07-17 23:17:12 UTC) #20
piman
LGTM, thanks https://codereview.chromium.org/1231263003/diff/200001/content/gpu/gpu_child_thread.h File content/gpu/gpu_child_thread.h (right): https://codereview.chromium.org/1231263003/diff/200001/content/gpu/gpu_child_thread.h#newcode97 content/gpu/gpu_child_thread.h:97: scoped_ptr<gpu::SyncPointManager> sync_point_manager_; This works, or you can ...
5 years, 5 months ago (2015-07-20 22:26:11 UTC) #21
boliu
https://codereview.chromium.org/1231263003/diff/200001/content/gpu/gpu_child_thread.h File content/gpu/gpu_child_thread.h (right): https://codereview.chromium.org/1231263003/diff/200001/content/gpu/gpu_child_thread.h#newcode97 content/gpu/gpu_child_thread.h:97: scoped_ptr<gpu::SyncPointManager> sync_point_manager_; On 2015/07/20 22:26:11, piman (Very slow to ...
5 years, 5 months ago (2015-07-20 23:58:05 UTC) #22
boliu
msw and/or sky: want to look over components/view_manager again? There have been changes since approval
5 years, 5 months ago (2015-07-20 23:59:01 UTC) #23
msw
https://codereview.chromium.org/1231263003/diff/240001/components/view_manager/gles2/command_buffer_impl.cc File components/view_manager/gles2/command_buffer_impl.cc (right): https://codereview.chromium.org/1231263003/diff/240001/components/view_manager/gles2/command_buffer_impl.cc#newcode113 components/view_manager/gles2/command_buffer_impl.cc:113: base::Unretained(sync_point_manager_), sync_point)); What guarantees that |sync_point_manager_| exists when the ...
5 years, 5 months ago (2015-07-21 00:46:03 UTC) #24
boliu
https://codereview.chromium.org/1231263003/diff/240001/components/view_manager/gles2/command_buffer_impl.cc File components/view_manager/gles2/command_buffer_impl.cc (right): https://codereview.chromium.org/1231263003/diff/240001/components/view_manager/gles2/command_buffer_impl.cc#newcode113 components/view_manager/gles2/command_buffer_impl.cc:113: base::Unretained(sync_point_manager_), sync_point)); On 2015/07/21 00:46:03, msw wrote: > What ...
5 years, 5 months ago (2015-07-21 00:57:19 UTC) #25
piman
On Mon, Jul 20, 2015 at 5:57 PM, <boliu@chromium.org> wrote: > > > https://codereview.chromium.org/1231263003/diff/240001/components/view_manager/gles2/command_buffer_impl.cc > ...
5 years, 5 months ago (2015-07-21 02:44:05 UTC) #26
boliu
msw: ptal On 2015/07/21 02:44:05, piman (Very slow to review) wrote: > I think we ...
5 years, 5 months ago (2015-07-21 17:34:36 UTC) #27
piman
lgtm
5 years, 5 months ago (2015-07-21 17:51:02 UTC) #28
msw
Nice, components/view_manager/ lgtm with nits. https://codereview.chromium.org/1231263003/diff/280001/components/view_manager/gles2/command_buffer_driver.h File components/view_manager/gles2/command_buffer_driver.h (right): https://codereview.chromium.org/1231263003/diff/280001/components/view_manager/gles2/command_buffer_driver.h#newcode22 components/view_manager/gles2/command_buffer_driver.h:22: class SyncPointManager; nit: remove ...
5 years, 5 months ago (2015-07-21 17:53:01 UTC) #29
boliu
All unused forward declarations and includes removed. This includes a bunch from gpu_impl.h which wasn't ...
5 years, 5 months ago (2015-07-21 18:03:08 UTC) #30
msw
thanks lgtm
5 years, 5 months ago (2015-07-21 18:05:15 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1231263003/300001
5 years, 5 months ago (2015-07-21 18:06:02 UTC) #34
commit-bot: I haz the power
Committed patchset #16 (id:300001)
5 years, 5 months ago (2015-07-21 19:09:05 UTC) #35
commit-bot: I haz the power
5 years, 5 months ago (2015-07-21 19:09:54 UTC) #36
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/c5befe7d0b86bb4996017605f1edc4bfa1c327f8
Cr-Commit-Position: refs/heads/master@{#339712}

Powered by Google App Engine
This is Rietveld 408576698