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

Unified Diff: components/mus/surfaces/surfaces_context_provider.cc

Issue 2049083002: Implement MusGpuMemoryBufferManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Created 4 years, 6 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: components/mus/surfaces/surfaces_context_provider.cc
diff --git a/components/mus/surfaces/surfaces_context_provider.cc b/components/mus/surfaces/surfaces_context_provider.cc
index 2e91b9897c17332a5a34e6ca830824c1dc2e9684..1b32c377cac46e27822ad082f9b81f738976e62f 100644
--- a/components/mus/surfaces/surfaces_context_provider.cc
+++ b/components/mus/surfaces/surfaces_context_provider.cc
@@ -60,6 +60,12 @@ SurfacesContextProvider::SurfacesContextProvider(
service->gpu_channel_local(), widget, gfx::Size(),
shared_command_buffer, stream_id, stream_priority, attributes,
active_url, gpu_preference, task_runner);
+ command_buffer_proxy_impl_->SetSwapBuffersCompletionCallback(
+ base::Bind(&SurfacesContextProvider::OnGpuSwapBuffersCompleted,
+ base::Unretained(this)));
+ command_buffer_proxy_impl_->SetUpdateVSyncParametersCallback(
+ base::Bind(&SurfacesContextProvider::OnUpdateVSyncParameters,
+ base::Unretained(this)));
}
}
@@ -170,6 +176,23 @@ void SurfacesContextProvider::GpuCompletedSwapBuffers(gfx::SwapResult result) {
}
}
+void SurfacesContextProvider::OnGpuSwapBuffersCompleted(
+ const std::vector<ui::LatencyInfo>& latency_info,
+ gfx::SwapResult result,
+ const gpu::GpuProcessHostedCALayerTreeParamsMac* params_mac) {
+ if (!swap_buffers_completion_callback_.is_null()) {
+ swap_buffers_completion_callback_.Run(result);
+ }
+}
+
+void SurfacesContextProvider::OnUpdateVSyncParameters(
+ base::TimeTicks timebase,
+ base::TimeDelta interval) {
+ if (delegate_)
piman 2016/06/09 19:31:32 nit: use {} per style.
Peng 2016/06/09 20:32:45 Done.
+ delegate_->OnVSyncParametersUpdated(timebase.ToInternalValue(),
+ interval.ToInternalValue());
+}
+
void SurfacesContextProvider::SetSwapBuffersCompletionCallback(
gl::GLSurface::SwapCompletionCallback callback) {
swap_buffers_completion_callback_ = callback;

Powered by Google App Engine
This is Rietveld 408576698