Index: content/common/gpu/texture_image_transport_surface.cc |
diff --git a/content/common/gpu/texture_image_transport_surface.cc b/content/common/gpu/texture_image_transport_surface.cc |
index 5ec5e2e2d0b9e20c163188ac238b47fef9ff81df..f55d2cb5d5fcd837fe28d776b575ad175a0cf6f0 100644 |
--- a/content/common/gpu/texture_image_transport_surface.cc |
+++ b/content/common/gpu/texture_image_transport_surface.cc |
@@ -202,8 +202,25 @@ void TextureImageTransportSurface::OnWillDestroyStub( |
stub_destroyed_ = true; |
} |
+void TextureImageTransportSurface::SetLatencyInfo( |
+ const cc::LatencyInfo& latency_info) { |
+ if (latency_info_.rendererImplFrameNumber != |
+ latency_info.rendererImplFrameNumber) { |
+ TRACE_EVENT_ASYNC_BEGIN2("frame", "Renderer Frame", this, |
+ "frame_number", |
+ latency_info.rendererImplFrameNumber, |
+ "input_number", latency_info.inputNumber); |
+ } |
+ |
+ latency_info_ = latency_info; |
+} |
+ |
bool TextureImageTransportSurface::SwapBuffers() { |
DCHECK(backbuffer_suggested_allocation_); |
+ TRACE_EVENT_ASYNC_END2("frame", "Renderer Frame", this, |
+ "frame_number", latency_info_.rendererImplFrameNumber, |
+ "input_number", latency_info_.inputNumber); |
+ |
if (!frontbuffer_suggested_allocation_) |
return true; |
@@ -221,6 +238,7 @@ bool TextureImageTransportSurface::SwapBuffers() { |
// so we do not leak a texture in the mailbox. |
AddRef(); |
+ params.latency_info = latency_info_; |
helper_->SendAcceleratedSurfaceBuffersSwapped(params); |
DCHECK(!is_swap_buffers_pending_); |
@@ -231,6 +249,9 @@ bool TextureImageTransportSurface::SwapBuffers() { |
bool TextureImageTransportSurface::PostSubBuffer( |
int x, int y, int width, int height) { |
DCHECK(backbuffer_suggested_allocation_); |
+ TRACE_EVENT_ASYNC_END2("frame", "Renderer Frame", this, |
+ "frame_number", latency_info_.rendererImplFrameNumber, |
+ "input_number", latency_info_.inputNumber); |
if (!frontbuffer_suggested_allocation_) |
return true; |
const gfx::Rect new_damage_rect(x, y, width, height); |
@@ -258,6 +279,7 @@ bool TextureImageTransportSurface::PostSubBuffer( |
// so we do not leak a texture in the mailbox. |
AddRef(); |
+ params.latency_info = latency_info_; |
helper_->SendAcceleratedSurfacePostSubBuffer(params); |
DCHECK(!is_swap_buffers_pending_); |