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

Issue 2208153002: Create GPU child window on new thread. (Closed)

Created:
4 years, 4 months ago by jbauman
Modified:
4 years, 3 months ago
Reviewers:
stanisc, piman
CC:
chromium-reviews, 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

Create GPU child window on new thread. On Windows 10 when processing touch events, the GPU process main thread can block waiting for the browser UI thread to process the events. This can cause a deadlock if the browser process has sent a synchronous IPC to the GPU process. We can work around this by creating all GPU process windows on separate threads. Then the GPU process main thread won't attach input queues with the browser process main thread, which reduce the risk of deadlock. There's still a small risk of deadlock when the window is resized, which causes the GPU main thread to need to wait for the window owner thread. BUG=596190 CQ_INCLUDE_TRYBOTS=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 Committed: https://crrev.com/6b820b8ad092a59c8315c5ed942d21f723890ca1 Committed: https://crrev.com/8a13be547ac764cde127bf3262e4e45d71d63f87 Cr-Original-Commit-Position: refs/heads/master@{#410902} Cr-Commit-Position: refs/heads/master@{#418030}

Patch Set 1 #

Total comments: 13

Patch Set 2 : review changes #

Patch Set 3 : make hidden window on main thread #

Unified diffs Side-by-side diffs Delta from patch set Stats (+84 lines, -31 lines) Patch
M gpu/ipc/service/child_window_surface_win.h View 1 2 chunks +4 lines, -3 lines 0 comments Download
M gpu/ipc/service/child_window_surface_win.cc View 1 2 7 chunks +80 lines, -28 lines 0 comments Download

Messages

Total messages: 35 (23 generated)
jbauman
4 years, 4 months ago (2016-08-04 01:31:15 UTC) #8
stanisc
Looks clever! I thought this would be more complex! https://codereview.chromium.org/2208153002/diff/1/gpu/ipc/service/child_window_surface_win.cc File gpu/ipc/service/child_window_surface_win.cc (right): https://codereview.chromium.org/2208153002/diff/1/gpu/ipc/service/child_window_surface_win.cc#newcode57 gpu/ipc/service/child_window_surface_win.cc:57: ...
4 years, 4 months ago (2016-08-04 02:03:36 UTC) #9
piman
lgtm
4 years, 4 months ago (2016-08-04 03:15:42 UTC) #14
jbauman
https://codereview.chromium.org/2208153002/diff/1/gpu/ipc/service/child_window_surface_win.cc File gpu/ipc/service/child_window_surface_win.cc (right): https://codereview.chromium.org/2208153002/diff/1/gpu/ipc/service/child_window_surface_win.cc#newcode57 gpu/ipc/service/child_window_surface_win.cc:57: shared_data->rect_to_clear.Union(gfx::Rect(paint.rcPaint)); On 2016/08/04 02:03:35, stanisc wrote: > Should the ...
4 years, 4 months ago (2016-08-04 20:45:51 UTC) #15
stanisc
lgtm
4 years, 4 months ago (2016-08-05 22:45:04 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2208153002/20001
4 years, 4 months ago (2016-08-09 23:34:22 UTC) #18
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 4 months ago (2016-08-10 00:43:03 UTC) #20
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/6b820b8ad092a59c8315c5ed942d21f723890ca1 Cr-Commit-Position: refs/heads/master@{#410902}
4 years, 4 months ago (2016-08-10 00:46:35 UTC) #22
jbauman
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/2230683004/ by jbauman@chromium.org. ...
4 years, 4 months ago (2016-08-10 22:02:24 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2208153002/40001
4 years, 3 months ago (2016-09-12 19:47:38 UTC) #31
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 3 months ago (2016-09-12 20:40:39 UTC) #33
commit-bot: I haz the power
4 years, 3 months ago (2016-09-12 20:42:19 UTC) #35
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/8a13be547ac764cde127bf3262e4e45d71d63f87
Cr-Commit-Position: refs/heads/master@{#418030}

Powered by Google App Engine
This is Rietveld 408576698