Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(830)

Unified Diff: content/common/gpu/gpu_messages.h

Issue 12614013: Plumb cc::LatencyInfo through command buffer and output surface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/gpu_messages.h
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index 1cac2e72ba5329b7bfaca20993a21309f3479a21..a6d8152c64bb788da99cb0de30a414ae3c30d3f5 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -9,6 +9,7 @@
#include <vector>
#include "base/shared_memory.h"
+#include "cc/latency_info.h"
#include "content/common/content_export.h"
#include "content/common/gpu/gpu_memory_allocation.h"
#include "content/common/gpu/gpu_memory_uma_stats.h"
@@ -34,6 +35,14 @@
#define IPC_MESSAGE_START GpuMsgStart
+IPC_STRUCT_TRAITS_BEGIN(cc::LatencyInfo)
+ IPC_STRUCT_TRAITS_MEMBER(renderer_main_frame_number)
+ IPC_STRUCT_TRAITS_MEMBER(renderer_impl_frame_number)
+ IPC_STRUCT_TRAITS_MEMBER(browser_main_frame_number)
+ IPC_STRUCT_TRAITS_MEMBER(browser_impl_frame_number)
+ IPC_STRUCT_TRAITS_MEMBER(swap_timestamp)
+IPC_STRUCT_TRAITS_END()
piman 2013/03/19 04:30:29 could we move this to content/common/cc_messages.h
+
IPC_STRUCT_BEGIN(GPUCreateCommandBufferConfig)
IPC_STRUCT_MEMBER(int32, share_group_id)
IPC_STRUCT_MEMBER(std::string, allowed_extensions)
@@ -53,6 +62,7 @@ IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params)
#if defined(OS_MACOSX)
IPC_STRUCT_MEMBER(gfx::PluginWindowHandle, window)
#endif
+ IPC_STRUCT_MEMBER(cc::LatencyInfo, latency_info)
IPC_STRUCT_END()
#undef IPC_MESSAGE_EXPORT
#define IPC_MESSAGE_EXPORT
@@ -70,6 +80,7 @@ IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params)
#if defined(OS_MACOSX)
IPC_STRUCT_MEMBER(gfx::PluginWindowHandle, window)
#endif
+ IPC_STRUCT_MEMBER(cc::LatencyInfo, latency_info)
IPC_STRUCT_END()
IPC_STRUCT_BEGIN(GpuHostMsg_AcceleratedSurfaceRelease_Params)
@@ -279,6 +290,12 @@ IPC_MESSAGE_ROUTED0(AcceleratedSurfaceMsg_ResizeViewACK)
IPC_MESSAGE_ROUTED1(AcceleratedSurfaceMsg_BufferPresented,
AcceleratedSurfaceMsg_BufferPresented_Params)
+// Tells the GPU process that the browser process has handled the swap
+// buffers or post sub-buffer request. A non-zero sync point means
+// that we should wait for the sync point.
+IPC_MESSAGE_ROUTED1(AcceleratedSurfaceMsg_FrameDisplayed,
+ cc::LatencyInfo /* latency_info */)
+
// Tells the GPU process to remove all contexts.
IPC_MESSAGE_CONTROL0(GpuMsg_Clean)
@@ -508,6 +525,11 @@ IPC_MESSAGE_ROUTED2(GpuCommandBufferMsg_AsyncFlush,
int32 /* put_offset */,
uint32 /* flush_count */)
+// Sends information about the latency of the current frame to or from the GPU
+// process.
+IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_SetLatencyInfo,
+ cc::LatencyInfo /* latency_info */)
+
// Asynchronously process any commands known to the GPU process. This is only
// used in the event that a channel is unscheduled and needs to be flushed
// again to process any commands issued subsequent to unscheduling. The GPU

Powered by Google App Engine
This is Rietveld 408576698