summaryrefslogtreecommitdiffstats
path: root/content/browser/gpu/gpu_process_host.cc
diff options
context:
space:
mode:
authormiletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 18:25:44 +0000
committermiletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 18:25:44 +0000
commit030d4c5068925f73b85a29c29875dcbbfcdb6f9d (patch)
tree78f21b44f51907e0dd8b98e498828ae33c83fa62 /content/browser/gpu/gpu_process_host.cc
parent326b71ab656d94ffa8517de3c525dcc79404a920 (diff)
downloadchromium_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.cc22
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();
}