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

Issue 896723008: Add OrderingBarrierCHROMIUM API. (Closed)

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

Description

Add OrderingBarrierCHROMIUM API. Implements a GPU Channel level command buffer barrier, which ensures ordering between channels, without immediately notifying the GPU service. Multiple Ordering Barriers can be combined into single IPCs to the GPU service, thus this API can be used in place of ShallowFlushCHROMIUM, to reduce IPC count and GPU service overhead. BUG=454500 Committed: https://crrev.com/b700b43d82aee159ade4db622dea6bdd920a7d7b Cr-Commit-Position: refs/heads/master@{#315048}

Patch Set 1 : #

Patch Set 2 : Update unit test classes. #

Total comments: 5

Patch Set 3 : Rename to OrderingBarrier. Optimizations. #

Patch Set 4 : Initial route_id = MSG_ROUTING_NONE. #

Patch Set 5 : Update more vars names. #

Patch Set 6 : Ensure Flush & OrderingBarrier are passed to GpuChannelHost. No implicit flushes on IPC Send. #

Patch Set 7 : Only clear latency_info_ after a new put_offset is registered. #

Total comments: 4

Patch Set 8 : Fixed nits. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+253 lines, -23 lines) Patch
M content/common/gpu/client/command_buffer_proxy_impl.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.cc View 1 2 3 4 5 6 7 2 chunks +30 lines, -10 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.h View 1 2 3 4 5 5 chunks +24 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.cc View 1 2 3 4 5 4 chunks +48 lines, -4 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/client_test_helper.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/client_test_helper.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/cmd_buffer_helper.h View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/cmd_buffer_helper.cc View 1 2 3 4 5 2 chunks +13 lines, -1 line 0 comments Download
M gpu/command_buffer/client/cmd_buffer_helper_test.cc View 1 2 3 4 5 1 chunk +60 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/query_tracker_unittest.cc View 1 2 3 4 5 1 chunk +7 lines, -8 lines 0 comments Download
M gpu/command_buffer/client/transfer_buffer_unittest.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/common/command_buffer.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/command_buffer_mock.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/command_buffer_service.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/command_buffer_service.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/proxy/ppapi_command_buffer_proxy.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (7 generated)
vmiura
PTAL.
5 years, 10 months ago (2015-02-04 04:03:45 UTC) #2
jbauman
On 2015/02/04 04:03:45, vmiura wrote: > PTAL. Overall lgtm, but the name needs some work. ...
5 years, 10 months ago (2015-02-05 00:23:02 UTC) #4
piman
Re name: OrderingBarrier() ? Implying it ensures order, but doesn't really "flush" anything (doesn't ensure ...
5 years, 10 months ago (2015-02-05 01:14:15 UTC) #5
vmiura
https://codereview.chromium.org/896723008/diff/40001/content/common/gpu/client/gpu_channel_host.cc File content/common/gpu/client/gpu_channel_host.cc (right): https://codereview.chromium.org/896723008/diff/40001/content/common/gpu/client/gpu_channel_host.cc#newcode92 content/common/gpu/client/gpu_channel_host.cc:92: return InternalSend(msg); Makes sense. I think doing InternalFlush on ...
5 years, 10 months ago (2015-02-05 01:20:49 UTC) #6
piman
On 2015/02/05 01:20:49, vmiura wrote: > https://codereview.chromium.org/896723008/diff/40001/content/common/gpu/client/gpu_channel_host.cc > File content/common/gpu/client/gpu_channel_host.cc (right): > > https://codereview.chromium.org/896723008/diff/40001/content/common/gpu/client/gpu_channel_host.cc#newcode92 > ...
5 years, 10 months ago (2015-02-05 01:59:10 UTC) #7
vmiura
> > I think doing InternalFlush on every Send may be overkill. Certain IPCs must ...
5 years, 10 months ago (2015-02-05 02:34:13 UTC) #8
vmiura
PTAL. I changed the name to OrderingBarrierCHROMIUM(). I optimized the case so we don't InternalFlush() ...
5 years, 10 months ago (2015-02-05 20:06:48 UTC) #10
vmiura
Please take another look. After discussing offline with piman@ it looks good to remove implicit ...
5 years, 10 months ago (2015-02-06 00:05:55 UTC) #11
piman
LGTM + nits. https://codereview.chromium.org/896723008/diff/40001/gpu/command_buffer/common/command_buffer.h File gpu/command_buffer/common/command_buffer.h (right): https://codereview.chromium.org/896723008/diff/40001/gpu/command_buffer/common/command_buffer.h#newcode93 gpu/command_buffer/common/command_buffer.h:93: // As Flush, ensuress that on ...
5 years, 10 months ago (2015-02-06 03:37:48 UTC) #12
vmiura
Fixed nits. Thanks. https://codereview.chromium.org/896723008/diff/40001/gpu/command_buffer/common/command_buffer.h File gpu/command_buffer/common/command_buffer.h (right): https://codereview.chromium.org/896723008/diff/40001/gpu/command_buffer/common/command_buffer.h#newcode93 gpu/command_buffer/common/command_buffer.h:93: // As Flush, ensuress that on ...
5 years, 10 months ago (2015-02-06 05:15:22 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/896723008/150001
5 years, 10 months ago (2015-02-06 05:58:20 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/23702)
5 years, 10 months ago (2015-02-06 07:15:18 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/896723008/150001
5 years, 10 months ago (2015-02-06 16:42:10 UTC) #20
commit-bot: I haz the power
Committed patchset #8 (id:150001)
5 years, 10 months ago (2015-02-06 16:43:01 UTC) #21
commit-bot: I haz the power
5 years, 10 months ago (2015-02-06 16:43:36 UTC) #22
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/b700b43d82aee159ade4db622dea6bdd920a7d7b
Cr-Commit-Position: refs/heads/master@{#315048}

Powered by Google App Engine
This is Rietveld 408576698