diff options
author | miletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 18:25:44 +0000 |
---|---|---|
committer | miletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 18:25:44 +0000 |
commit | 030d4c5068925f73b85a29c29875dcbbfcdb6f9d (patch) | |
tree | 78f21b44f51907e0dd8b98e498828ae33c83fa62 /content/browser/gpu/gpu_process_host.cc | |
parent | 326b71ab656d94ffa8517de3c525dcc79404a920 (diff) | |
download | chromium_src-030d4c5068925f73b85a29c29875dcbbfcdb6f9d.zip chromium_src-030d4c5068925f73b85a29c29875dcbbfcdb6f9d.tar.gz chromium_src-030d4c5068925f73b85a29c29875dcbbfcdb6f9d.tar.bz2 |
Remove gpu side LatencyInfo merging
This CL removes the LatecyInfo merging from the following path:
Compsitor to GPU:
CommandBufferProxyImpl::SetLatencyInfo()
-> (GpuCommandBufferMsg_SetLatencyInfo)
-> GpuCommandBufferStub::OnSetLatencyInfo()
-> ImageTransportHelper::SetLatencyInfo()
-> XXXImageTransportSurface:SetLatencyInfo()
After swap buffers:
XXXImageTransportSurface::SwapBuffers()
-> (GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params/
GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params/
GpuHostMsg_FrameDrawn)
-> RenderWidgetHostView
BUG=246034
TEST=unittests pass.
Tested on Pixel. chrome://tracing shows correct InputLatency tracking for
various inputs.
Review URL: https://codereview.chromium.org/123563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245260 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/gpu/gpu_process_host.cc')
-rw-r--r-- | content/browser/gpu/gpu_process_host.cc | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc index fbfba30..a901ba3 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -132,7 +132,7 @@ void AcceleratedSurfaceBuffersSwappedCompletedForRenderer( int surface_id, base::TimeTicks timebase, base::TimeDelta interval, - const ui::LatencyInfo& latency_info) { + const std::vector<ui::LatencyInfo>& latency_info) { if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { BrowserThread::PostTask( BrowserThread::UI, @@ -156,7 +156,8 @@ void AcceleratedSurfaceBuffersSwappedCompletedForRenderer( RenderWidgetHostImpl::From(rwh)->AcknowledgeSwapBuffersToRenderer(); if (interval != base::TimeDelta()) RenderWidgetHostImpl::From(rwh)->UpdateVSyncParameters(timebase, interval); - RenderWidgetHostImpl::From(rwh)->FrameSwapped(latency_info); + for (size_t i = 0; i < latency_info.size(); i++) + RenderWidgetHostImpl::From(rwh)->FrameSwapped(latency_info[i]); RenderWidgetHostImpl::From(rwh)->DidReceiveRendererFrame(); } @@ -167,7 +168,7 @@ void AcceleratedSurfaceBuffersSwappedCompleted( bool alive, base::TimeTicks timebase, base::TimeDelta interval, - const ui::LatencyInfo& latency_info) { + const std::vector<ui::LatencyInfo>& latency_info) { AcceleratedSurfaceBuffersSwappedCompletedForGPU( host_id, route_id, alive, timebase, interval); AcceleratedSurfaceBuffersSwappedCompletedForRenderer( @@ -881,6 +882,10 @@ void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped( const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params) { TRACE_EVENT0("gpu", "GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped"); + if (!ui::LatencyInfo::Verify(params.latency_info, + "GpuHostMsg_AcceleratedSurfaceBuffersSwapped")) + return; + gfx::GLSurfaceHandle surface_handle = GpuSurfaceTracker::Get()->GetSurfaceHandle(params.surface_id); // Compositor window is always gfx::kNullPluginWindow. @@ -933,10 +938,15 @@ void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped( const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params) { TRACE_EVENT0("gpu", "GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped"); + if (!ui::LatencyInfo::Verify(params.latency_info, + "GpuHostMsg_AcceleratedSurfaceBuffersSwapped")) + return; + base::ScopedClosureRunner scoped_completion_runner( base::Bind(&AcceleratedSurfaceBuffersSwappedCompleted, host_id_, params.route_id, params.surface_id, - true, base::TimeTicks(), base::TimeDelta(), ui::LatencyInfo())); + true, base::TimeTicks(), base::TimeDelta(), + std::vector<ui::LatencyInfo>())); gfx::GLSurfaceHandle handle = GpuSurfaceTracker::Get()->GetSurfaceHandle(params.surface_id); @@ -1003,6 +1013,10 @@ void GpuProcessHost::OnAcceleratedSurfacePostSubBuffer( const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params) { TRACE_EVENT0("gpu", "GpuProcessHost::OnAcceleratedSurfacePostSubBuffer"); + if (!ui::LatencyInfo::Verify(params.latency_info, + "GpuHostMsg_AcceleratedSurfacePostSubBuffer")) + return; + NOTIMPLEMENTED(); } |