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

Side by Side Diff: components/mus/surfaces/direct_output_surface_ozone.cc

Issue 2061273002: cc: Make BackToBackBeginFrameSource a SyntheticBeginFrameSource. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: syntheticbeginframesource: delete-DEBUG_FRAMES 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/mus/surfaces/direct_output_surface_ozone.h" 5 #include "components/mus/surfaces/direct_output_surface_ozone.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h"
10 #include "cc/output/compositor_frame.h" 11 #include "cc/output/compositor_frame.h"
11 #include "cc/output/context_provider.h" 12 #include "cc/output/context_provider.h"
12 #include "cc/output/output_surface_client.h" 13 #include "cc/output/output_surface_client.h"
14 #include "cc/scheduler/delay_based_time_source.h"
13 #include "components/display_compositor/buffer_queue.h" 15 #include "components/display_compositor/buffer_queue.h"
14 #include "components/mus/common/gpu_service.h" 16 #include "components/mus/common/gpu_service.h"
15 #include "components/mus/common/mojo_gpu_memory_buffer_manager.h" 17 #include "components/mus/common/mojo_gpu_memory_buffer_manager.h"
16 #include "components/mus/gpu/mus_gpu_memory_buffer_manager.h" 18 #include "components/mus/gpu/mus_gpu_memory_buffer_manager.h"
17 #include "components/mus/surfaces/surfaces_context_provider.h" 19 #include "components/mus/surfaces/surfaces_context_provider.h"
18 #include "gpu/command_buffer/client/context_support.h" 20 #include "gpu/command_buffer/client/context_support.h"
19 #include "gpu/command_buffer/client/gles2_interface.h" 21 #include "gpu/command_buffer/client/gles2_interface.h"
20 22
21 using display_compositor::BufferQueue; 23 using display_compositor::BufferQueue;
22 24
23 namespace mus { 25 namespace mus {
24 26
25 DirectOutputSurfaceOzone::DirectOutputSurfaceOzone( 27 DirectOutputSurfaceOzone::DirectOutputSurfaceOzone(
26 scoped_refptr<SurfacesContextProvider> context_provider, 28 scoped_refptr<SurfacesContextProvider> context_provider,
27 gfx::AcceleratedWidget widget, 29 gfx::AcceleratedWidget widget,
28 base::SingleThreadTaskRunner* task_runner, 30 base::SingleThreadTaskRunner* task_runner,
29 uint32_t target, 31 uint32_t target,
30 uint32_t internalformat) 32 uint32_t internalformat)
31 : cc::OutputSurface(context_provider, nullptr, nullptr), 33 : cc::OutputSurface(context_provider, nullptr, nullptr),
32 gl_helper_(context_provider->ContextGL(), 34 gl_helper_(context_provider->ContextGL(),
33 context_provider->ContextSupport()), 35 context_provider->ContextSupport()),
34 synthetic_begin_frame_source_(new cc::SyntheticBeginFrameSource( 36 synthetic_begin_frame_source_(new cc::DelayBasedBeginFrameSource(
35 task_runner, 37 base::MakeUnique<cc::DelayBasedTimeSource>(task_runner))),
36 cc::BeginFrameArgs::DefaultInterval())),
37 weak_ptr_factory_(this) { 38 weak_ptr_factory_(this) {
38 if (!GpuService::UseChromeGpuCommandBuffer()) { 39 if (!GpuService::UseChromeGpuCommandBuffer()) {
39 ozone_gpu_memory_buffer_manager_.reset(new OzoneGpuMemoryBufferManager()); 40 ozone_gpu_memory_buffer_manager_.reset(new OzoneGpuMemoryBufferManager());
40 buffer_queue_.reset(new BufferQueue( 41 buffer_queue_.reset(new BufferQueue(
41 context_provider->ContextGL(), target, internalformat, &gl_helper_, 42 context_provider->ContextGL(), target, internalformat, &gl_helper_,
42 ozone_gpu_memory_buffer_manager_.get(), widget)); 43 ozone_gpu_memory_buffer_manager_.get(), widget));
43 } else { 44 } else {
44 buffer_queue_.reset(new BufferQueue( 45 buffer_queue_.reset(new BufferQueue(
45 context_provider->ContextGL(), target, internalformat, &gl_helper_, 46 context_provider->ContextGL(), target, internalformat, &gl_helper_,
46 MusGpuMemoryBufferManager::current(), widget)); 47 MusGpuMemoryBufferManager::current(), widget));
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 // must create the native window in the size that the hardware reports. 155 // must create the native window in the size that the hardware reports.
155 void DirectOutputSurfaceOzone::Reshape(const gfx::Size& size, 156 void DirectOutputSurfaceOzone::Reshape(const gfx::Size& size,
156 float scale_factor, 157 float scale_factor,
157 bool alpha) { 158 bool alpha) {
158 OutputSurface::Reshape(size, scale_factor, alpha); 159 OutputSurface::Reshape(size, scale_factor, alpha);
159 DCHECK(buffer_queue_); 160 DCHECK(buffer_queue_);
160 buffer_queue_->Reshape(SurfaceSize(), scale_factor); 161 buffer_queue_->Reshape(SurfaceSize(), scale_factor);
161 } 162 }
162 163
163 } // namespace mus 164 } // namespace mus
OLDNEW
« no previous file with comments | « components/mus/surfaces/direct_output_surface.cc ('k') | content/browser/compositor/browser_compositor_output_surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698