|
|
DescriptionAllow presenting DXGI share handles as overlays.
Create a new type of GLImage representing an NV12 DXGI share handle (and
array level) and support displaying it in an overlay.
BUG=729238
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2968503003
Cr-Original-Commit-Position: refs/heads/master@{#485701}
Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b0004c705463140
Review-Url: https://codereview.chromium.org/2968503003
Cr-Commit-Position: refs/heads/master@{#488354}
Committed: https://chromium.googlesource.com/chromium/src/+/c4700d5a444904d53a5b576ff3cfb7fcff55890e
Patch Set 1 #Patch Set 2 : fix dxva #Patch Set 3 : fix build #
Total comments: 1
Patch Set 4 : add comment #
Total comments: 1
Patch Set 5 : change cast #Patch Set 6 : rebase #Patch Set 7 : fix keyed mutex usage #
Messages
Total messages: 46 (35 generated)
Description was changed from ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG= ========== to ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_clang on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/...)
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
jbauman@chromium.org changed reviewers: + sunnyps@chromium.org
I'm a bit confused about how these images will be shared. The code in DirectCompositionSurface suggests that another device might have the resource acquired and we wait for up to 1000ms for it. But shouldn't the other end have already released the resource by the time ScheduleDCLayers etc. are called.
On 2017/07/11 00:52:52, sunnyps wrote: > I'm a bit confused about how these images will be shared. The code in > DirectCompositionSurface suggests that another device might have the resource > acquired and we wait for up to 1000ms for it. But shouldn't the other end have > already released the resource by the time ScheduleDCLayers etc. are called. The problem is that the keyed mutex is taken per-texture, not per-array-level. Since the entire video is being decoded into different levels of one texture, it's possible the producer will be decoding into a different array level at the same time the consumer is trying to lock it to read from an older level. I expect the video decoding and video processing calls should be really fast so there won't be an issue in practice, but we want a delay to make sure it doesn't accidentally skip frames. If this turns out to be a problem we could use DXGI_RESOURCE_MISC_SHARED instead, but that has difficulty with synchronization that I'd prefer to avoid.
lgtm % nit https://codereview.chromium.org/2968503003/diff/40001/gpu/ipc/service/direct_... File gpu/ipc/service/direct_composition_surface_win.cc (right): https://codereview.chromium.org/2968503003/diff/40001/gpu/ipc/service/direct_... gpu/ipc/service/direct_composition_surface_win.cc:622: if (keyed_mutex) { nit: Can you add a comment about this?
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
jbauman@chromium.org changed reviewers: + sandersd@chromium.org
sandersd@, media/gpu OWNERS review.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
media/ lgtm. https://codereview.chromium.org/2968503003/diff/60001/media/gpu/dxva_picture_... File media/gpu/dxva_picture_buffer_win.cc (right): https://codereview.chromium.org/2968503003/diff/60001/media/gpu/dxva_picture_... media/gpu/dxva_picture_buffer_win.cc:650: static_cast<gl::GLImageDXGI*>(gl_image_.get()); Cast directly to CopyingGLImageDXGI here?
The CQ bit was checked by jbauman@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sunnyps@chromium.org, sandersd@chromium.org Link to the patchset: https://codereview.chromium.org/2968503003/#ps80001 (title: "change cast")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1499801071536430, "parent_rev": "3fb847da9e4ea7d740f050b500c8bee941520ffa", "commit_rev": "e072df78e45a1e01ae58b15cfcf8631ffa2f7aeb"}
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1499801071536430, "parent_rev": "6800733941f0ecb0023cc873f573e6b62253e30c", "commit_rev": "9c55dc68c453033f6d211731b77ee31966ebef8b"}
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1499801071536430, "parent_rev": "a4f70af6616619e994d16b67f4fae8cc4ea2f155", "commit_rev": "fc666dc7bc9d5141a6457ee08b0004c705463140"}
Message was sent while issue was closed.
Description was changed from ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2968503003 Cr-Commit-Position: refs/heads/master@{#485701} Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00...
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/2981713002/ by jbauman@chromium.org. The reason for reverting is: On NVIDIA drivers it causes an error - [396:4308:0711/184358.172:ERROR:direct_composition_surface_win.cc(640)] Error acquiring keyed mutex: 887a0001 See https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.gpu.fyi%2FWin10....
Message was sent while issue was closed.
Description was changed from ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2968503003 Cr-Commit-Position: refs/heads/master@{#485701} Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00... ========== to ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2968503003 Cr-Commit-Position: refs/heads/master@{#485701} Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00... ==========
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by jbauman@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sunnyps@chromium.org, sandersd@chromium.org Link to the patchset: https://codereview.chromium.org/2968503003/#ps120001 (title: "fix keyed mutex usage")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 120001, "attempt_start_ts": 1500578938744230, "parent_rev": "29786c71a84fc576bc6a861a1b91d830e2f686c9", "commit_rev": "c4700d5a444904d53a5b576ff3cfb7fcff55890e"}
Message was sent while issue was closed.
Description was changed from ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2968503003 Cr-Commit-Position: refs/heads/master@{#485701} Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00... ========== to ========== Allow presenting DXGI share handles as overlays. Create a new type of GLImage representing an NV12 DXGI share handle (and array level) and support displaying it in an overlay. BUG=729238 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2968503003 Cr-Original-Commit-Position: refs/heads/master@{#485701} Committed: https://chromium.googlesource.com/chromium/src/+/fc666dc7bc9d5141a6457ee08b00... Review-Url: https://codereview.chromium.org/2968503003 Cr-Commit-Position: refs/heads/master@{#488354} Committed: https://chromium.googlesource.com/chromium/src/+/c4700d5a444904d53a5b576ff3cf... ==========
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as https://chromium.googlesource.com/chromium/src/+/c4700d5a444904d53a5b576ff3cf... |