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

Issue 2681033011: Changed GpuVSyncProvider to implement gfx::VSyncProvider (Closed)

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

Description

Changed GpuVSyncProvider to implement gfx::VSyncProvider GpuVSyncProvider was introduced recently to generate D3D VSync signals in the GPU process. This change makes GpuVSyncProvider an actual VSync provider that derives from gfx::VSyncProvider. The class name is also changed to GpuVSyncProviderWin. This will make it easy to integrate GpuVSyncProviderWin into existing code by replacing the current version of the provider with this new one without having to change much of the existing code. GpuVSyncProviderWin ignores the existing mechanism for requesting VSync parameter updates and instead uses IPC::MessageFilter to send and receive VSync related IPC messages directly. That bypasses the main GPU thread and should allow us to achieve the best possible latency. 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/2681033011 Cr-Commit-Position: refs/heads/master@{#450784} Committed: https://chromium.googlesource.com/chromium/src/+/eed2187ba7e9acb812754997400e56ff9107d8a0

Patch Set 1 #

Patch Set 2 : Fixed build error on platforms other than WIN_OS. #

Patch Set 3 : Fixed clang build errors #

Total comments: 2

Patch Set 4 : Used base::MakeUnique #

Total comments: 16

Patch Set 5 : Addressed CR feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+407 lines, -122 lines) Patch
M gpu/ipc/common/gpu_messages.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/ipc/in_process_command_buffer.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/ipc/in_process_command_buffer.cc View 1 2 3 4 1 chunk +9 lines, -0 lines 0 comments Download
M gpu/ipc/service/BUILD.gn View 1 chunk +1 line, -2 lines 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.h View 1 2 chunks +3 lines, -4 lines 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.cc View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
D gpu/ipc/service/gpu_vsync_provider.h View 1 chunk +0 lines, -48 lines 0 comments Download
D gpu/ipc/service/gpu_vsync_provider_posix.cc View 1 chunk +0 lines, -22 lines 0 comments Download
M gpu/ipc/service/gpu_vsync_provider_unittest_win.cc View 1 2 3 4 5 chunks +159 lines, -16 lines 0 comments Download
A gpu/ipc/service/gpu_vsync_provider_win.h View 1 2 1 chunk +48 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_vsync_provider_win.cc View 1 2 3 4 11 chunks +159 lines, -30 lines 0 comments Download
M gpu/ipc/service/image_transport_surface_delegate.h View 2 chunks +9 lines, -0 lines 0 comments Download
M ui/gl/vsync_provider_win.h View 2 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 36 (25 generated)
stanisc
This is partial change from https://codereview.chromium.org/2626413002/ that addresses only GpuVSyncProvider on GPU side. The rest ...
3 years, 10 months ago (2017-02-10 22:02:09 UTC) #10
dcheng
One thought: does it make sense to use Mojo here, since we're bypassing the gpu ...
3 years, 10 months ago (2017-02-13 21:10:39 UTC) #16
stanisc
On 2017/02/13 21:10:39, dcheng wrote: > One thought: does it make sense to use Mojo ...
3 years, 10 months ago (2017-02-13 22:36:17 UTC) #19
stanisc
jbauman@ and sunnyps@, could you take a look when you have time? You've seen most ...
3 years, 10 months ago (2017-02-14 00:42:35 UTC) #20
jbauman
lgtm with a couple of nits (and a question). https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/service/gpu_vsync_provider_win.cc File gpu/ipc/service/gpu_vsync_provider_win.cc (right): https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/service/gpu_vsync_provider_win.cc#newcode212 gpu/ipc/service/gpu_vsync_provider_win.cc:212: ...
3 years, 10 months ago (2017-02-14 02:59:22 UTC) #21
dcheng
https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/service/gpu_vsync_provider_unittest_win.cc File gpu/ipc/service/gpu_vsync_provider_unittest_win.cc (right): https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/service/gpu_vsync_provider_unittest_win.cc#newcode154 gpu/ipc/service/gpu_vsync_provider_unittest_win.cc:154: provider_.reset(); Are these resets() needed to ensure a particular ...
3 years, 10 months ago (2017-02-14 09:03:17 UTC) #22
Fady Samuel
https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/in_process_command_buffer.cc File gpu/ipc/in_process_command_buffer.cc (right): https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/in_process_command_buffer.cc#newcode1069 gpu/ipc/in_process_command_buffer.cc:1069: NOTREACHED(); This is used by Mus. Any reason not ...
3 years, 10 months ago (2017-02-14 09:09:38 UTC) #24
stanisc
https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/in_process_command_buffer.cc File gpu/ipc/in_process_command_buffer.cc (right): https://codereview.chromium.org/2681033011/diff/60001/gpu/ipc/in_process_command_buffer.cc#newcode1069 gpu/ipc/in_process_command_buffer.cc:1069: NOTREACHED(); On 2017/02/14 09:09:38, Fady Samuel wrote: > This ...
3 years, 10 months ago (2017-02-14 19:56:13 UTC) #27
dcheng
ipc lgtm
3 years, 10 months ago (2017-02-15 08:31:17 UTC) #30
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/2681033011/80001
3 years, 10 months ago (2017-02-15 19:29:32 UTC) #33
commit-bot: I haz the power
3 years, 10 months ago (2017-02-15 19:56:52 UTC) #36
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/eed2187ba7e9acb812754997400e...

Powered by Google App Engine
This is Rietveld 408576698