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

Issue 1429213002: Converted video frame and image callbacks to use new sync tokens. (Closed)

Created:
5 years, 1 month ago by David Yen
Modified:
5 years, 1 month ago
Reviewers:
piman, sky, dcheng, DaleCurtis
CC:
cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, jbauman+watch_chromium.org, kalyank, mcasas+watch_chromium.org, miu+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org, sievers+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Converted video frame and image callbacks to use new sync tokens. As an incremental step towards utilizing the new sync tokens, this CL converts existing video frame and image sync points to use sync tokens instead. In order to accomplish this, the GpuCommandBufferMsg_CreateImage IPC message has been modified to accept a fence_release parameter so that it can act as a sync token IPC. A new SyncPointClientWaiter concept has also added which can wait on other sync point clients without an associated order number. This only works because the SyncPointClientWaiter cannot be waited on so no deadlocks can occur. BUG=514815 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/c7aff68a0c11820cc2b8d488851c682c0d32cd2b Cr-Commit-Position: refs/heads/master@{#357997}

Patch Set 1 #

Patch Set 2 : minor fix, modified unit test #

Patch Set 3 : Fixed content_unittests #

Total comments: 9

Patch Set 4 : Fixed android, applied dcheng suggestions #

Patch Set 5 : Fix MojoGpuMemoryBufferManager #

Patch Set 6 : GPU_EXPORT SyncPointClientWaiter. #

Patch Set 7 : Shallow flush before image creation #

Total comments: 10

Patch Set 8 : Use ShallowFlushCHROMIUM(), modified SyncPointClientWaiter comment. #

Patch Set 9 : fixed typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+315 lines, -150 lines) Patch
M cc/resources/video_resource_updater.cc View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -5 lines 0 comments Download
M cc/test/test_gpu_memory_buffer_manager.h View 1 chunk +2 lines, -2 lines 0 comments Download
M cc/test/test_gpu_memory_buffer_manager.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M components/mus/gles2/mojo_gpu_memory_buffer_manager.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M components/mus/gles2/mojo_gpu_memory_buffer_manager.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.h View 1 3 chunks +4 lines, -4 lines 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.cc View 7 chunks +11 lines, -11 lines 0 comments Download
M content/browser/gpu/gpu_process_host.h View 2 chunks +5 lines, -1 line 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller.cc View 1 chunk +3 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 2 chunks +5 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M content/child/child_gpu_memory_buffer_manager.h View 1 chunk +2 lines, -2 lines 0 comments Download
M content/child/child_gpu_memory_buffer_manager.cc View 3 chunks +7 lines, -6 lines 0 comments Download
M content/common/child_process_host_impl.h View 2 chunks +5 lines, -1 line 0 comments Download
M content/common/child_process_host_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/common/child_process_messages.h View 2 chunks +2 lines, -1 line 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.cc View 1 2 3 4 chunks +37 lines, -18 lines 0 comments Download
M content/common/gpu/client/gl_helper.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/gpu/client/gl_helper.cc View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.h View 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/client/gpu_channel_host.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.h View 4 chunks +5 lines, -4 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_shared_memory_unittest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/gpu_channel_manager.h View 3 chunks +4 lines, -1 line 0 comments Download
M content/common/gpu/gpu_channel_manager.cc View 2 chunks +16 lines, -10 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.h View 2 chunks +3 lines, -5 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 2 chunks +11 lines, -5 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 3 chunks +14 lines, -9 lines 0 comments Download
M content/renderer/media/android/webmediaplayer_android.cc View 1 2 3 1 chunk +4 lines, -5 lines 0 comments Download
M content/renderer/media/video_capture_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/test/gpu_memory_buffer_impl_test_template.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gpu_memory_buffer_manager.h View 2 chunks +4 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 chunk +3 lines, -1 line 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 3 5 chunks +61 lines, -24 lines 0 comments Download
M gpu/command_buffer/service/sync_point_manager.h View 1 2 3 4 5 6 7 3 chunks +28 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/sync_point_manager.cc View 1 2 3 1 chunk +23 lines, -0 lines 0 comments Download
M media/base/video_frame.h View 1 chunk +1 line, -1 line 0 comments Download
M media/base/video_frame.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/base/video_frame_unittest.cc View 1 3 chunks +11 lines, -5 lines 0 comments Download
M media/renderers/skcanvas_video_renderer.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -1 line 0 comments Download

Messages

Total messages: 22 (5 generated)
David Yen
I've modified the image/frame construction/destruction sync points to use sync tokens instead now. Most of ...
5 years, 1 month ago (2015-11-04 18:58:36 UTC) #3
dcheng
https://codereview.chromium.org/1429213002/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1429213002/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode429 content/common/gpu/client/command_buffer_proxy_impl.cc:429: DCHECK((image_fence_sync - 1) <= flushed_fence_sync_release_); DCHECK_LE https://codereview.chromium.org/1429213002/diff/40001/content/common/gpu/gpu_messages.h File content/common/gpu/gpu_messages.h ...
5 years, 1 month ago (2015-11-04 19:22:43 UTC) #4
David Yen
https://codereview.chromium.org/1429213002/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://codereview.chromium.org/1429213002/diff/40001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode429 content/common/gpu/client/command_buffer_proxy_impl.cc:429: DCHECK((image_fence_sync - 1) <= flushed_fence_sync_release_); On 2015/11/04 19:22:43, dcheng ...
5 years, 1 month ago (2015-11-04 19:47:40 UTC) #5
David Yen
+sky@ for mojo changes
5 years, 1 month ago (2015-11-04 21:16:21 UTC) #7
sky
LGTM
5 years, 1 month ago (2015-11-04 21:50:08 UTC) #8
piman
https://codereview.chromium.org/1429213002/diff/120001/cc/resources/video_resource_updater.cc File cc/resources/video_resource_updater.cc (right): https://codereview.chromium.org/1429213002/diff/120001/cc/resources/video_resource_updater.cc#newcode83 cc/resources/video_resource_updater.cc:83: gl_->Flush(); ShallowFlushCHROMIUM instead off Flush: - it doesn't imply ...
5 years, 1 month ago (2015-11-05 00:04:36 UTC) #9
David Yen
https://codereview.chromium.org/1429213002/diff/120001/cc/resources/video_resource_updater.cc File cc/resources/video_resource_updater.cc (right): https://codereview.chromium.org/1429213002/diff/120001/cc/resources/video_resource_updater.cc#newcode83 cc/resources/video_resource_updater.cc:83: gl_->Flush(); On 2015/11/05 00:04:36, piman (slow to review) wrote: ...
5 years, 1 month ago (2015-11-05 00:34:27 UTC) #10
piman
lgtm
5 years, 1 month ago (2015-11-05 00:44:32 UTC) #11
dcheng
IPC changes lgtm https://codereview.chromium.org/1429213002/diff/40001/gpu/command_buffer/service/in_process_command_buffer.cc File gpu/command_buffer/service/in_process_command_buffer.cc (right): https://codereview.chromium.org/1429213002/diff/40001/gpu/command_buffer/service/in_process_command_buffer.cc#newcode700 gpu/command_buffer/service/in_process_command_buffer.cc:700: QueueTask(base::Bind(&InProcessCommandBuffer::CreateImageOnGpuThread, On 2015/11/04 at 19:47:40, David ...
5 years, 1 month ago (2015-11-05 00:59:22 UTC) #12
DaleCurtis
media/ lgtm
5 years, 1 month ago (2015-11-05 01:09:30 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1429213002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1429213002/160001
5 years, 1 month ago (2015-11-05 02:06:51 UTC) #16
commit-bot: I haz the power
Committed patchset #9 (id:160001)
5 years, 1 month ago (2015-11-05 03:49:33 UTC) #17
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/c7aff68a0c11820cc2b8d488851c682c0d32cd2b Cr-Commit-Position: refs/heads/master@{#357997}
5 years, 1 month ago (2015-11-05 03:50:21 UTC) #18
reveman
On 2015/11/05 at 03:50:21, commit-bot wrote: > Patchset 9 (id:??) landed as https://crrev.com/c7aff68a0c11820cc2b8d488851c682c0d32cd2b > Cr-Commit-Position: ...
5 years, 1 month ago (2015-11-05 05:37:09 UTC) #19
kochi
On 2015/11/05 05:37:09, reveman wrote: > On 2015/11/05 at 03:50:21, commit-bot wrote: > > Patchset ...
5 years, 1 month ago (2015-11-05 05:48:08 UTC) #20
nhiroki
On 2015/11/05 05:48:08, Takayoshi Kochi wrote: > On 2015/11/05 05:37:09, reveman wrote: > > On ...
5 years, 1 month ago (2015-11-05 05:50:54 UTC) #21
nhiroki
5 years, 1 month ago (2015-11-05 05:54:44 UTC) #22
Message was sent while issue was closed.
A revert of this CL (patchset #9 id:160001) has been created in
https://codereview.chromium.org/1414793018/ by nhiroki@chromium.org.

The reason for reverting is: This could be breaking webkit_tests:

http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%...
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.7%20%28db....

Powered by Google App Engine
This is Rietveld 408576698