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

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 the mojom document 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
« no previous file with comments | « components/mus/surfaces/surfaces_context_provider.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..e4cd311cc0a8638b6a139ee66157a4e15882c6ad 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,24 @@ 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_) {
+ delegate_->OnVSyncParametersUpdated(timebase.ToInternalValue(),
+ interval.ToInternalValue());
+ }
+}
+
void SurfacesContextProvider::SetSwapBuffersCompletionCallback(
gl::GLSurface::SwapCompletionCallback callback) {
swap_buffers_completion_callback_ = callback;
« no previous file with comments | « components/mus/surfaces/surfaces_context_provider.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698