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

Issue 1339203002: Added global order numbers to in process command buffers. (Closed)

Created:
5 years, 3 months ago by David Yen
Modified:
5 years, 3 months ago
Reviewers:
sunnyps, no sievers, piman
CC:
chromium-reviews, piman+watch_chromium.org, sunnyps, vmiura
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Added global order numbers to in process command buffers. The global order numbers have been generalized and managed by the sync point manager. The GpuChannel previously managed the global order numbers by itself, but these order numbers have to be ordered with respect to order numbers for in process command buffers as well. The global order numbers have been merged to a sync point state class (SyncPointClientState), and later wait/release functions will be implemented in SyncPointClient. R=piman@chromium.org, sievers@chromium.org BUG=514815 Committed: https://crrev.com/a6b0d39acbecdc8585ea240992f933f131ff0bde Cr-Commit-Position: refs/heads/master@{#350247}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Added destroy functions, unprocessed order number #

Patch Set 3 : Fixed DCHECK conditions #

Patch Set 4 : Added DCHECK in destructor #

Total comments: 4

Patch Set 5 : rebase #

Patch Set 6 : merged command buffer namespace changes #

Patch Set 7 : Separated out sync point client state #

Total comments: 6

Patch Set 8 : Forgot to actually create the client state... #

Patch Set 9 : Added comment about in process descheduling, removed protected section in SyncPointClient #

Patch Set 10 : Moved all global order tracking to SyncPointClientState, GpuChannel implementation #

Patch Set 11 : reverted unnecessary changes #

Total comments: 16

Patch Set 12 : minor changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+303 lines, -48 lines) Patch
M content/common/gpu/gpu_channel.h View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +17 lines, -19 lines 0 comments Download
M content/common/gpu/gpu_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 9 chunks +40 lines, -20 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +15 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -1 line 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 3 4 5 6 7 8 9 5 chunks +23 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/sync_point_manager.h View 1 2 3 4 5 6 7 8 9 3 chunks +111 lines, -1 line 0 comments Download
M gpu/command_buffer/service/sync_point_manager.cc View 1 2 3 4 5 6 7 8 9 2 chunks +90 lines, -2 lines 0 comments Download

Messages

Total messages: 29 (5 generated)
David Yen
5 years, 3 months ago (2015-09-14 23:22:17 UTC) #1
David Yen
Note that I decided to modify GpuChannel.cc/.h later to help sunnyps@ not have to deal ...
5 years, 3 months ago (2015-09-14 23:23:28 UTC) #2
piman
https://codereview.chromium.org/1339203002/diff/1/gpu/command_buffer/service/sync_point_manager.cc File gpu/command_buffer/service/sync_point_manager.cc (right): https://codereview.chromium.org/1339203002/diff/1/gpu/command_buffer/service/sync_point_manager.cc#newcode41 gpu/command_buffer/service/sync_point_manager.cc:41: SyncPointManager::~SyncPointManager() {} Can you DCHECK that all client maps ...
5 years, 3 months ago (2015-09-14 23:43:53 UTC) #3
sunnyps
Can you please make SyncPointClient an abstract class and have GpuCommandBufferStub / InProcessCommandBuffer implement it? ...
5 years, 3 months ago (2015-09-15 00:21:53 UTC) #5
David Yen
On 2015/09/15 00:21:53, sunnyps wrote: > Can you please make SyncPointClient an abstract class and ...
5 years, 3 months ago (2015-09-15 17:44:06 UTC) #6
David Yen
https://codereview.chromium.org/1339203002/diff/1/gpu/command_buffer/service/sync_point_manager.cc File gpu/command_buffer/service/sync_point_manager.cc (right): https://codereview.chromium.org/1339203002/diff/1/gpu/command_buffer/service/sync_point_manager.cc#newcode41 gpu/command_buffer/service/sync_point_manager.cc:41: SyncPointManager::~SyncPointManager() {} On 2015/09/14 23:43:53, piman (slow to review) ...
5 years, 3 months ago (2015-09-15 18:09:31 UTC) #7
David Yen
On 2015/09/15 17:44:06, David Yen wrote: > On 2015/09/15 00:21:53, sunnyps wrote: > > Can ...
5 years, 3 months ago (2015-09-15 18:42:45 UTC) #8
piman
I think this can work as is, so LGTM+nits, but see comments if you want ...
5 years, 3 months ago (2015-09-15 23:47:16 UTC) #9
David Yen
Back to this CL again, I've merged the CommandBufferNamespace changes and separated out SyncPointClientState. PTAL. ...
5 years, 3 months ago (2015-09-18 18:43:59 UTC) #10
piman
lgtm https://codereview.chromium.org/1339203002/diff/120001/gpu/command_buffer/service/in_process_command_buffer.cc File gpu/command_buffer/service/in_process_command_buffer.cc (right): https://codereview.chromium.org/1339203002/diff/120001/gpu/command_buffer/service/in_process_command_buffer.cc#newcode503 gpu/command_buffer/service/in_process_command_buffer.cc:503: DCHECK(context_lost_ || put_offset == state_after_last_flush_.get_offset); I don't think ...
5 years, 3 months ago (2015-09-18 21:39:15 UTC) #11
David Yen
https://codereview.chromium.org/1339203002/diff/120001/gpu/command_buffer/service/in_process_command_buffer.cc File gpu/command_buffer/service/in_process_command_buffer.cc (right): https://codereview.chromium.org/1339203002/diff/120001/gpu/command_buffer/service/in_process_command_buffer.cc#newcode503 gpu/command_buffer/service/in_process_command_buffer.cc:503: DCHECK(context_lost_ || put_offset == state_after_last_flush_.get_offset); On 2015/09/18 21:39:15, piman ...
5 years, 3 months ago (2015-09-18 22:39:59 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1339203002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1339203002/160001
5 years, 3 months ago (2015-09-18 22:59:50 UTC) #15
David Yen
On 2015/09/18 22:59:50, commit-bot: I haz the power wrote: > CQ is trying da patch. ...
5 years, 3 months ago (2015-09-19 00:08:15 UTC) #17
piman
On Fri, Sep 18, 2015 at 5:08 PM, <dyen@chromium.org> wrote: > On 2015/09/18 22:59:50, commit-bot: ...
5 years, 3 months ago (2015-09-19 00:38:23 UTC) #18
David Yen
On 2015/09/19 00:38:23, piman (slow to review) wrote: > On Fri, Sep 18, 2015 at ...
5 years, 3 months ago (2015-09-19 00:48:09 UTC) #19
piman
On Fri, Sep 18, 2015 at 5:48 PM, <dyen@chromium.org> wrote: > On 2015/09/19 00:38:23, piman ...
5 years, 3 months ago (2015-09-19 01:01:40 UTC) #20
David Yen
On 2015/09/19 01:01:40, piman (slow to review) wrote: > On Fri, Sep 18, 2015 at ...
5 years, 3 months ago (2015-09-21 19:17:26 UTC) #21
sunnyps
https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc File content/common/gpu/gpu_channel.cc (right): https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc#newcode154 content/common/gpu/gpu_channel.cc:154: sync_point_client_state_->BeginProcessingOrderNumber(m->order_number); How does this work? GetNextMessage is const but ...
5 years, 3 months ago (2015-09-22 17:26:00 UTC) #22
piman
https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc File content/common/gpu/gpu_channel.cc (right): https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc#newcode107 content/common/gpu/gpu_channel.cc:107: if (enabled_) nit: needs {} per style. https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc#newcode154 content/common/gpu/gpu_channel.cc:154: ...
5 years, 3 months ago (2015-09-22 19:43:09 UTC) #23
David Yen
https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc File content/common/gpu/gpu_channel.cc (right): https://codereview.chromium.org/1339203002/diff/200001/content/common/gpu/gpu_channel.cc#newcode107 content/common/gpu/gpu_channel.cc:107: if (enabled_) On 2015/09/22 19:43:08, piman (slow to review) ...
5 years, 3 months ago (2015-09-22 20:01:54 UTC) #24
piman
lgtm
5 years, 3 months ago (2015-09-22 20:56:22 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1339203002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1339203002/220001
5 years, 3 months ago (2015-09-22 21:06:57 UTC) #27
commit-bot: I haz the power
Committed patchset #12 (id:220001)
5 years, 3 months ago (2015-09-22 21:53:35 UTC) #28
commit-bot: I haz the power
5 years, 3 months ago (2015-09-22 22:09:37 UTC) #29
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/a6b0d39acbecdc8585ea240992f933f131ff0bde
Cr-Commit-Position: refs/heads/master@{#350247}

Powered by Google App Engine
This is Rietveld 408576698