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

Issue 2596123002: GpuVSyncProvider with unit test (Closed)

Created:
4 years ago by stanisc
Modified:
3 years, 11 months ago
Reviewers:
jbauman, brucedawson
CC:
chromium-reviews, piman+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

GpuVSyncProvider with unit test This introduces a class for waiting for GPU VSync signals on background thread. For now this class isn't hooked anywhere but eventually it is going to be hooked to either GpuCommandBufferStub or PassThroughImageTransportSurface and replace the current VSyncProvider based mechanism on Windows. I verified functionality of this code as a part of the prototype (where this class is called VSyncThread): https://codereview.chromium.org/2555173003/ BUG=467617 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 Review-Url: https://codereview.chromium.org/2596123002 Cr-Commit-Position: refs/heads/master@{#442386} Committed: https://chromium.googlesource.com/chromium/src/+/a4002d66074c748ac4630dd9dd5414aa4ce06ec4

Patch Set 1 #

Patch Set 2 : Fixed build failure on posix. #

Total comments: 20

Patch Set 3 : Addressed CR feedback #

Patch Set 4 : Self review. #

Patch Set 5 : Fixed win_clang build error #

Total comments: 3

Patch Set 6 : Optimized opening/closing adapter #

Total comments: 2

Patch Set 7 : Added comment for GpuVSyncWorker destructor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+422 lines, -0 lines) Patch
M gpu/ipc/service/BUILD.gn View 2 chunks +4 lines, -0 lines 0 comments Download
A gpu/ipc/service/gpu_vsync_provider.h View 1 2 1 chunk +48 lines, -0 lines 0 comments Download
A gpu/ipc/service/gpu_vsync_provider_posix.cc View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
A gpu/ipc/service/gpu_vsync_provider_unittest_win.cc View 1 2 1 chunk +84 lines, -0 lines 0 comments Download
A gpu/ipc/service/gpu_vsync_provider_win.cc View 1 2 3 4 5 6 1 chunk +264 lines, -0 lines 0 comments Download

Messages

Total messages: 49 (32 generated)
stanisc
PTAL! https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h File gpu/ipc/service/gpu_vsync_provider.h (right): https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h#newcode18 gpu/ipc/service/gpu_vsync_provider.h:18: class GPU_EXPORT GpuVSyncProvider : public base::Thread { Not ...
4 years ago (2016-12-22 21:35:08 UTC) #11
brucedawson
A few thoughts. Swing by if you want details. https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h File gpu/ipc/service/gpu_vsync_provider.h (right): https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h#newcode18 gpu/ipc/service/gpu_vsync_provider.h:18: ...
4 years ago (2016-12-22 21:49:16 UTC) #12
stanisc
https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h File gpu/ipc/service/gpu_vsync_provider.h (right): https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h#newcode43 gpu/ipc/service/gpu_vsync_provider.h:43: volatile bool enabled_ = false; On 2016/12/22 21:49:16, brucedawson ...
4 years ago (2016-12-22 22:59:31 UTC) #13
brucedawson
https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h File gpu/ipc/service/gpu_vsync_provider.h (right): https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h#newcode43 gpu/ipc/service/gpu_vsync_provider.h:43: volatile bool enabled_ = false; A few possibilities... 1) ...
4 years ago (2016-12-23 00:37:30 UTC) #16
stanisc
Addressed Bruce's feedback. Please take a look. https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h File gpu/ipc/service/gpu_vsync_provider.h (right): https://codereview.chromium.org/2596123002/diff/20001/gpu/ipc/service/gpu_vsync_provider.h#newcode42 gpu/ipc/service/gpu_vsync_provider.h:42: // This ...
3 years, 11 months ago (2017-01-04 22:33:04 UTC) #19
jbauman
lgtm https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode152 gpu/ipc/service/gpu_vsync_provider_win.cc:152: NTSTATUS result = open_adapter_from_hdc_ptr_(&open_adapter_data); I guess we'll see ...
3 years, 11 months ago (2017-01-06 03:25:50 UTC) #26
stanisc
https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode152 gpu/ipc/service/gpu_vsync_provider_win.cc:152: NTSTATUS result = open_adapter_from_hdc_ptr_(&open_adapter_data); On 2017/01/06 03:25:50, jbauman wrote: ...
3 years, 11 months ago (2017-01-06 21:35:51 UTC) #27
brucedawson
lgtm with one request https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode152 gpu/ipc/service/gpu_vsync_provider_win.cc:152: NTSTATUS result = open_adapter_from_hdc_ptr_(&open_adapter_data); On ...
3 years, 11 months ago (2017-01-06 21:43:52 UTC) #28
stanisc
On 2017/01/06 21:43:52, brucedawson wrote: > lgtm with one request > > https://codereview.chromium.org/2596123002/diff/80001/gpu/ipc/service/gpu_vsync_provider_win.cc > File ...
3 years, 11 months ago (2017-01-06 22:07:31 UTC) #29
stanisc
The average CPU cost of the code block that creates DC, opens adapter, and closes ...
3 years, 11 months ago (2017-01-07 00:18:47 UTC) #30
stanisc
Here is the version with adapter handle caching that avoids opening and closing the adapter ...
3 years, 11 months ago (2017-01-07 01:53:45 UTC) #33
stanisc
On 2017/01/07 01:53:45, stanisc wrote: > Here is the version with adapter handle caching that ...
3 years, 11 months ago (2017-01-09 18:44:29 UTC) #36
brucedawson
One area of concern - can you comment? https://codereview.chromium.org/2596123002/diff/100001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2596123002/diff/100001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode125 gpu/ipc/service/gpu_vsync_provider_win.cc:125: base::Unretained(this))); ...
3 years, 11 months ago (2017-01-09 18:51:54 UTC) #37
stanisc
https://codereview.chromium.org/2596123002/diff/100001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2596123002/diff/100001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode125 gpu/ipc/service/gpu_vsync_provider_win.cc:125: base::Unretained(this))); On 2017/01/09 18:51:54, brucedawson wrote: > This looks ...
3 years, 11 months ago (2017-01-09 19:13:37 UTC) #38
brucedawson
Perfect. Thanks for the explanation. lgtm
3 years, 11 months ago (2017-01-09 19:16:23 UTC) #39
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/2596123002/120001
3 years, 11 months ago (2017-01-09 22:29:48 UTC) #46
commit-bot: I haz the power
3 years, 11 months ago (2017-01-09 22:49:49 UTC) #49
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/chromium/src/+/a4002d66074c748ac4630dd9dd54...

Powered by Google App Engine
This is Rietveld 408576698