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

Issue 1427213002: Lock the decoder device (Angle) device from the decoder thread before copying the decoded frame to … (Closed)

Created:
5 years, 1 month ago by ananta
Modified:
5 years, 1 month ago
Reviewers:
DaleCurtis, jbauman
CC:
chromium-reviews, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Lock the decoder device (Angle) device from the decoder thread before copying the decoded frame to the target texture. It appears that the change to use the angle device in the dxva decoder has caused the webgl conformance tests to fail intermittently. The reason that this may be happening is because the device is accessed from multiple threads. The critical code path here seems to be the copying of the decoded texture to the target texture created by angle. Proposed fix is to lock the device prior to the copy. If this works, then we can look at alternative approaches like moving the copy back to the main thread, or do away with the copy altogether. BUG=548383 R=dalecurtis Committed: https://crrev.com/378834484abf86953f242dc6c9e6135ef2424e7c Cr-Commit-Position: refs/heads/master@{#357487}

Patch Set 1 #

Patch Set 2 : Fix locking #

Total comments: 2

Patch Set 3 : Fix member order #

Total comments: 4

Patch Set 4 : Remove the wait for Flush for dx11 and disable-d3d11 #

Total comments: 2

Patch Set 5 : Remove disable-d3d11 command line check #

Patch Set 6 : Rename member variable #

Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -33 lines) Patch
M content/common/gpu/media/dxva_video_decode_accelerator.h View 1 2 3 4 5 3 chunks +7 lines, -0 lines 0 comments Download
M content/common/gpu/media/dxva_video_decode_accelerator.cc View 1 2 3 4 5 10 chunks +41 lines, -33 lines 0 comments Download

Messages

Total messages: 18 (2 generated)
ananta
5 years, 1 month ago (2015-10-31 03:05:48 UTC) #2
ananta
Please hold off on the review. Will update the patch.
5 years, 1 month ago (2015-10-31 07:13:43 UTC) #3
ananta
PTAL
5 years, 1 month ago (2015-11-02 19:48:46 UTC) #4
DaleCurtis
defer to jbauman, holding the "lock" across multiple threads and calls which each have early ...
5 years, 1 month ago (2015-11-02 19:58:30 UTC) #5
ananta
On 2015/11/02 19:58:30, DaleCurtis wrote: > defer to jbauman, holding the "lock" across multiple threads ...
5 years, 1 month ago (2015-11-02 20:01:37 UTC) #6
jbauman
On 2015/11/02 20:01:37, ananta wrote: > On 2015/11/02 19:58:30, DaleCurtis wrote: > > defer to ...
5 years, 1 month ago (2015-11-02 20:40:36 UTC) #7
ananta
On 2015/11/02 20:40:36, jbauman wrote: > On 2015/11/02 20:01:37, ananta wrote: > > On 2015/11/02 ...
5 years, 1 month ago (2015-11-02 20:48:17 UTC) #8
jbauman
https://codereview.chromium.org/1427213002/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/1427213002/diff/40001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode2042 content/common/gpu/media/dxva_video_decode_accelerator.cc:2042: decoder_thread_task_runner_->PostDelayedTask( I think you should do the Leave here ...
5 years, 1 month ago (2015-11-02 20:50:43 UTC) #9
ananta
Removed the wait for the flush to complete for dx11 and disable-d3d11 as we are ...
5 years, 1 month ago (2015-11-02 22:17:56 UTC) #10
jbauman
https://codereview.chromium.org/1427213002/diff/60001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/1427213002/diff/60001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode729 content/common/gpu/media/dxva_video_decode_accelerator.cc:729: dx11_disabled_ = base::CommandLine::ForCurrentProcess()->HasSwitch( I'm not sure why we're checking ...
5 years, 1 month ago (2015-11-02 22:55:43 UTC) #11
ananta
https://codereview.chromium.org/1427213002/diff/60001/content/common/gpu/media/dxva_video_decode_accelerator.cc File content/common/gpu/media/dxva_video_decode_accelerator.cc (right): https://codereview.chromium.org/1427213002/diff/60001/content/common/gpu/media/dxva_video_decode_accelerator.cc#newcode729 content/common/gpu/media/dxva_video_decode_accelerator.cc:729: dx11_disabled_ = base::CommandLine::ForCurrentProcess()->HasSwitch( On 2015/11/02 22:55:43, jbauman wrote: > ...
5 years, 1 month ago (2015-11-02 23:11:54 UTC) #12
jbauman
lgtm
5 years, 1 month ago (2015-11-02 23:18:11 UTC) #13
DaleCurtis
lgtm
5 years, 1 month ago (2015-11-03 00:03:09 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427213002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427213002/100001
5 years, 1 month ago (2015-11-03 00:29:00 UTC) #16
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 1 month ago (2015-11-03 00:40:05 UTC) #17
commit-bot: I haz the power
5 years, 1 month ago (2015-11-03 00:41:05 UTC) #18
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/378834484abf86953f242dc6c9e6135ef2424e7c
Cr-Commit-Position: refs/heads/master@{#357487}

Powered by Google App Engine
This is Rietveld 408576698