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

Unified Diff: chrome/browser/gpu_process_host.cc

Issue 5317007: Add flow control between renderer and GPU processes, and, on Mac OS X,... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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: chrome/browser/gpu_process_host.cc
===================================================================
--- chrome/browser/gpu_process_host.cc (revision 67289)
+++ chrome/browser/gpu_process_host.cc (working copy)
@@ -272,11 +272,15 @@
int32 renderer_id,
int32 render_view_id,
gfx::PluginWindowHandle window,
- uint64 surface_id)
+ uint64 surface_id,
+ int32 route_id,
+ uint64 swap_buffers_count)
: renderer_id_(renderer_id),
render_view_id_(render_view_id),
window_(window),
- surface_id_(surface_id) {
+ surface_id_(surface_id),
+ route_id_(route_id),
+ swap_buffers_count_(swap_buffers_count) {
}
void Run() {
@@ -287,7 +291,14 @@
RenderWidgetHostView* view = host->view();
if (!view)
return;
- view->AcceleratedSurfaceBuffersSwapped(window_, surface_id_);
+ view->AcceleratedSurfaceBuffersSwapped(
+ // Parameters needed to swap the IOSurface.
+ window_,
+ surface_id_,
+ // Parameters needed to formulate an acknowledgment.
+ renderer_id_,
+ route_id_,
+ swap_buffers_count_);
}
private:
@@ -295,6 +306,8 @@
int32 render_view_id_;
gfx::PluginWindowHandle window_;
uint64 surface_id_;
+ int32 route_id_;
+ uint64 swap_buffers_count_;
DISALLOW_COPY_AND_ASSIGN(BuffersSwappedDispatcher);
};
@@ -302,14 +315,20 @@
} // namespace
void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped(
- int32 renderer_id,
- int32 render_view_id,
- gfx::PluginWindowHandle window,
- uint64 surface_id) {
+ const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params) {
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
new BuffersSwappedDispatcher(
- renderer_id, render_view_id, window, surface_id));
+ // These are the parameters needed to look up the IOSurface
+ // on this side.
+ params.renderer_id,
+ params.render_view_id,
+ params.window,
+ params.surface_id,
+ // These are additional parameters needed to formulate an
+ // acknowledgment.
+ params.route_id,
+ params.swap_buffers_count));
}
#endif

Powered by Google App Engine
This is Rietveld 408576698