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

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

Issue 1821863002: Hook up ui::Compositor to Display's BeginFrameSource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Display member destruction order Created 4 years, 8 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/direct_output_surface_ozone.cc
diff --git a/components/mus/surfaces/direct_output_surface_ozone.cc b/components/mus/surfaces/direct_output_surface_ozone.cc
index c71230eec7359528e4db2d06659e8530c541e8dc..e04a479604a124b99b2cdf8f53af1fec23eaf445 100644
--- a/components/mus/surfaces/direct_output_surface_ozone.cc
+++ b/components/mus/surfaces/direct_output_surface_ozone.cc
@@ -21,11 +21,15 @@ namespace mus {
DirectOutputSurfaceOzone::DirectOutputSurfaceOzone(
const scoped_refptr<SurfacesContextProvider>& context_provider,
gfx::AcceleratedWidget widget,
+ base::SingleThreadTaskRunner* task_runner,
uint32_t target,
uint32_t internalformat)
: cc::OutputSurface(context_provider),
output_surface_(
new BufferQueue(context_provider, target, internalformat, widget)),
+ synthetic_begin_frame_source_(new cc::SyntheticBeginFrameSource(
+ task_runner,
+ cc::BeginFrameArgs::DefaultInterval())),
weak_ptr_factory_(this) {
capabilities_.uses_default_gl_framebuffer = false;
capabilities_.flipped_output_surface = true;
@@ -88,6 +92,8 @@ bool DirectOutputSurfaceOzone::BindToClient(cc::OutputSurfaceClient* client) {
if (!cc::OutputSurface::BindToClient(client))
return false;
+ client->SetBeginFrameSource(synthetic_begin_frame_source_.get());
+
if (capabilities_.uses_default_gl_framebuffer) {
capabilities_.flipped_output_surface =
context_provider()->ContextCapabilities().gpu.flips_vertically;
@@ -95,13 +101,11 @@ bool DirectOutputSurfaceOzone::BindToClient(cc::OutputSurfaceClient* client) {
return true;
}
-// TODO(rjkroege): Plumb vsync properties.
void DirectOutputSurfaceOzone::OnUpdateVSyncParametersFromGpu(
base::TimeTicks timebase,
base::TimeDelta interval) {
DCHECK(HasClient());
- CommitVSyncParameters(timebase, interval);
- // vsync_manager_->UpdateVSyncParameters(timebase, interval);
+ synthetic_begin_frame_source_->OnUpdateVSyncParameters(timebase, interval);
}
void DirectOutputSurfaceOzone::OnGpuSwapBuffersCompleted(
« no previous file with comments | « components/mus/surfaces/direct_output_surface_ozone.h ('k') | components/mus/surfaces/surfaces_context_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698