Commit bbe4a1b0 authored by Jonathan Backer's avatar Jonathan Backer Committed by Commit Bot

Add latency info for SkDDL output path

This fixes instrumentation relied on by rendering.desktop telemetry
tests.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Ibfdb788359a873f7eba83a678a903d0aab8f9b19
Reviewed-on: https://chromium-review.googlesource.com/c/1288715Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600870}
parent 43eaa184
......@@ -189,17 +189,21 @@ void SkiaOutputSurfaceImplOnGpu::FinishPaintCurrentFrame(
void SkiaOutputSurfaceImplOnGpu::SwapBuffers(OutputSurfaceFrame frame) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
DCHECK(sk_surface_);
base::TimeTicks swap_start, swap_end;
if (!gpu_service_->is_using_vulkan()) {
if (!gl_context_->MakeCurrent(gl_surface_.get())) {
LOG(FATAL) << "Failed to make current.";
// TODO(penghuang): Handle the failure.
}
swap_start = base::TimeTicks::Now();
OnSwapBuffers();
gl_surface_->SwapBuffers(frame.need_presentation_feedback
? buffer_presented_callback_
: base::DoNothing());
swap_end = base::TimeTicks::Now();
} else {
#if BUILDFLAG(ENABLE_VULKAN)
swap_start = base::TimeTicks::Now();
OnSwapBuffers();
auto backend = sk_surface_->getBackendRenderTarget(
SkSurface::kFlushRead_BackendHandleAccess);
......@@ -216,10 +220,17 @@ void SkiaOutputSurfaceImplOnGpu::SwapBuffers(OutputSurfaceFrame frame) {
DidSwapBuffersComplete(params);
CreateSkSurfaceForVulkan();
swap_end = base::TimeTicks::Now();
#else
NOTREACHED();
#endif
}
for (auto& latency : frame.latency_info) {
latency.AddLatencyNumberWithTimestamp(
ui::INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT, swap_start, 1);
latency.AddLatencyNumberWithTimestamp(
ui::INPUT_EVENT_LATENCY_FRAME_SWAP_COMPONENT, swap_end, 1);
}
}
void SkiaOutputSurfaceImplOnGpu::FinishPaintRenderPass(
......
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