Commit 16f5a3f0 authored by Sadrul Habib Chowdhury's avatar Sadrul Habib Chowdhury Committed by Commit Bot

viz: Snap sequence numbers in BeginFrameArgs based on vsync.

This brings GpuVSyncBeginFrameSource in-line with how BeginFrameArgs is
generated in other sources (e.g. ExternalBeginFrameSourceAndroid, and
DelayBasedBeginFrameSource).

BUG=none

Change-Id: Ib6f126c15092c0dc3be35a3ee6953ea1c2a21c48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2058034Reviewed-by: default avatarSunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Auto-Submit: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#742427}
parent 8b5f375c
......@@ -23,10 +23,9 @@ GpuVSyncBeginFrameSource::~GpuVSyncBeginFrameSource() = default;
void GpuVSyncBeginFrameSource::OnGpuVSync(base::TimeTicks vsync_time,
base::TimeDelta vsync_interval) {
ExternalBeginFrameSource::OnBeginFrame(BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, source_id(), next_begin_frame_sequence_number_++,
vsync_time, vsync_time + vsync_interval, vsync_interval,
BeginFrameArgs::NORMAL));
auto begin_frame_args = begin_frame_args_generator_.GenerateBeginFrameArgs(
source_id(), vsync_time, vsync_time + vsync_interval, vsync_interval);
ExternalBeginFrameSource::OnBeginFrame(begin_frame_args);
}
BeginFrameArgs GpuVSyncBeginFrameSource::GetMissedBeginFrameArgs(
......@@ -46,9 +45,8 @@ BeginFrameArgs GpuVSyncBeginFrameSource::GetMissedBeginFrameArgs(
// Don't create new args unless we've actually moved past the previous frame.
if (!last_begin_frame_args_.IsValid() ||
frame_time > last_begin_frame_args_.frame_time) {
last_begin_frame_args_ = BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, source_id(), next_begin_frame_sequence_number_++,
frame_time, frame_time + interval, interval, BeginFrameArgs::NORMAL);
last_begin_frame_args_ = begin_frame_args_generator_.GenerateBeginFrameArgs(
source_id(), frame_time, frame_time + interval, interval);
}
return ExternalBeginFrameSource::GetMissedBeginFrameArgs(obs);
......
......@@ -34,7 +34,7 @@ class VIZ_SERVICE_EXPORT GpuVSyncBeginFrameSource
void OnGpuVSync(base::TimeTicks vsync_time, base::TimeDelta vsync_interval);
OutputSurface* const output_surface_;
uint64_t next_begin_frame_sequence_number_ = 1;
BeginFrameArgsGenerator begin_frame_args_generator_;
DISALLOW_COPY_AND_ASSIGN(GpuVSyncBeginFrameSource);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment