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

Issue 2710183004: Support GPU VSync when DirectComposition isn't enabled (Closed)

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

Description

Support GPU VSync when DirectComposition isn't enabled This fixes a few additional issues that came up in private testing. 1) Blank screen with DirectComposition isn't enabled. What happens is that GPU VSync ends up being activated on Compositor side but not on GPU side. I'd prototyped this solution when I tested GPU VSync on Win 7 but decided to leave it out because I mistakenly assumed that DirectComposition is always available on Win 8+. I verified this but running Chrome with --disable-direct-composition flag. 2) In gpu_vsync_provider_win.cc "GpuVSyncWorker::SendVSyncUpdate" trace event always logs adjustment = 0 due to incorrect variable scope. 3) It was pointed out to me that if D3DKMTWaitForVerticalBlankEvent keep returning an error for whatever reason the worker thread would just spin. It might be a better idea to just crash in that unlikely case so that we can investigate the crash dump. What would be a condition for GL Implementation being anything other than kGLImplementationEGLGLES2? Should we care about that case? BUG=467617 Review-Url: https://codereview.chromium.org/2710183004 Cr-Commit-Position: refs/heads/master@{#453050} Committed: https://chromium.googlesource.com/chromium/src/+/f188ef999b74cbf90fee37f3dd7a4cc53a701334

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -28 lines) Patch
M gpu/ipc/service/gpu_vsync_provider_win.cc View 2 chunks +7 lines, -6 lines 0 comments Download
M gpu/ipc/service/image_transport_surface_win.cc View 2 chunks +19 lines, -13 lines 0 comments Download
M ui/gl/init/gl_factory.h View 3 chunks +12 lines, -0 lines 0 comments Download
M ui/gl/init/gl_factory_win.cc View 2 chunks +18 lines, -9 lines 0 comments Download

Messages

Total messages: 20 (13 generated)
stanisc
This is a fairly small change. PTAL!
3 years, 10 months ago (2017-02-23 23:22:44 UTC) #9
jbauman
lgtm. The GL implementation will only be something different than EGL/GLES2 when using SwiftShader. But ...
3 years, 10 months ago (2017-02-24 23:51:09 UTC) #10
stanisc
Verified that GPU VSync isn't used when --disable-gpu is specified.
3 years, 10 months ago (2017-02-25 01:03:19 UTC) #11
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/2710183004/1
3 years, 10 months ago (2017-02-25 01:03:41 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/218773) android_cronet on master.tryserver.chromium.android (JOB_FAILED, ...
3 years, 10 months ago (2017-02-25 01:04:53 UTC) #15
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/2710183004/1
3 years, 10 months ago (2017-02-25 01:47:23 UTC) #17
commit-bot: I haz the power
3 years, 10 months ago (2017-02-25 02:39:51 UTC) #20
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/f188ef999b74cbf90fee37f3dd7a...

Powered by Google App Engine
This is Rietveld 408576698