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

Side by Side Diff: ui/compositor/test/in_process_context_factory.cc

Issue 2452483002: Move GpuMemoryBufferManager and SharedBitmapManager to CompositorFrameSink (Closed)
Patch Set: compile fixes Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/compositor/test/in_process_context_factory.h" 5 #include "ui/compositor/test/in_process_context_factory.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/threading/thread.h" 13 #include "base/threading/thread.h"
14 #include "cc/output/context_provider.h" 14 #include "cc/output/context_provider.h"
15 #include "cc/output/output_surface_client.h" 15 #include "cc/output/output_surface_client.h"
16 #include "cc/output/output_surface_frame.h" 16 #include "cc/output/output_surface_frame.h"
17 #include "cc/output/texture_mailbox_deleter.h" 17 #include "cc/output/texture_mailbox_deleter.h"
18 #include "cc/scheduler/begin_frame_source.h" 18 #include "cc/scheduler/begin_frame_source.h"
19 #include "cc/scheduler/delay_based_time_source.h" 19 #include "cc/scheduler/delay_based_time_source.h"
20 #include "cc/surfaces/direct_compositor_frame_sink.h" 20 #include "cc/surfaces/direct_compositor_frame_sink.h"
21 #include "cc/surfaces/display.h" 21 #include "cc/surfaces/display.h"
22 #include "cc/surfaces/display_scheduler.h" 22 #include "cc/surfaces/display_scheduler.h"
23 #include "cc/surfaces/surface_id_allocator.h" 23 #include "cc/surfaces/surface_id_allocator.h"
24 #include "cc/test/pixel_test_output_surface.h" 24 #include "cc/test/pixel_test_output_surface.h"
25 #include "cc/test/test_shared_bitmap_manager.h"
26 #include "gpu/command_buffer/client/context_support.h" 25 #include "gpu/command_buffer/client/context_support.h"
27 #include "gpu/command_buffer/client/gles2_interface.h" 26 #include "gpu/command_buffer/client/gles2_interface.h"
28 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 27 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
29 #include "ui/compositor/compositor_switches.h" 28 #include "ui/compositor/compositor_switches.h"
30 #include "ui/compositor/layer.h" 29 #include "ui/compositor/layer.h"
31 #include "ui/compositor/reflector.h" 30 #include "ui/compositor/reflector.h"
32 #include "ui/compositor/test/in_process_context_provider.h" 31 #include "ui/compositor/test/in_process_context_provider.h"
33 #include "ui/gl/gl_implementation.h" 32 #include "ui/gl/gl_implementation.h"
34 #include "ui/gl/test/gl_surface_test_support.h" 33 #include "ui/gl/test/gl_surface_test_support.h"
35 34
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 } 183 }
185 184
186 std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source( 185 std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source(
187 new cc::DelayBasedBeginFrameSource( 186 new cc::DelayBasedBeginFrameSource(
188 base::MakeUnique<cc::DelayBasedTimeSource>( 187 base::MakeUnique<cc::DelayBasedTimeSource>(
189 compositor->task_runner().get()))); 188 compositor->task_runner().get())));
190 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( 189 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler(
191 begin_frame_source.get(), compositor->task_runner().get(), 190 begin_frame_source.get(), compositor->task_runner().get(),
192 display_output_surface->capabilities().max_frames_pending)); 191 display_output_surface->capabilities().max_frames_pending));
193 per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>( 192 per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>(
194 GetSharedBitmapManager(), GetGpuMemoryBufferManager(), 193 &shared_bitmap_manager_, GetGpuMemoryBufferManager(),
danakj 2016/10/27 21:00:34 why the asymetry here with SBM and GMBM?
piman 2016/10/28 00:58:36 Meh, mostly because GetGpuMemoryManager could beco
195 compositor->GetRendererSettings(), std::move(begin_frame_source), 194 compositor->GetRendererSettings(), std::move(begin_frame_source),
196 std::move(display_output_surface), std::move(scheduler), 195 std::move(display_output_surface), std::move(scheduler),
197 base::MakeUnique<cc::TextureMailboxDeleter>( 196 base::MakeUnique<cc::TextureMailboxDeleter>(
198 compositor->task_runner().get())); 197 compositor->task_runner().get()));
199 198
200 auto* display = per_compositor_data_[compositor.get()].get(); 199 auto* display = per_compositor_data_[compositor.get()].get();
201 auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>( 200 auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>(
202 compositor->frame_sink_id(), surface_manager_, display, context_provider, 201 compositor->frame_sink_id(), surface_manager_, display, context_provider,
203 shared_worker_context_provider_); 202 shared_worker_context_provider_, GetGpuMemoryBufferManager(),
203 &shared_bitmap_manager_);
204 compositor->SetCompositorFrameSink(std::move(compositor_frame_sink)); 204 compositor->SetCompositorFrameSink(std::move(compositor_frame_sink));
205 } 205 }
206 206
207 std::unique_ptr<Reflector> InProcessContextFactory::CreateReflector( 207 std::unique_ptr<Reflector> InProcessContextFactory::CreateReflector(
208 Compositor* mirrored_compositor, 208 Compositor* mirrored_compositor,
209 Layer* mirroring_layer) { 209 Layer* mirroring_layer) {
210 return base::WrapUnique(new FakeReflector); 210 return base::WrapUnique(new FakeReflector);
211 } 211 }
212 212
213 void InProcessContextFactory::RemoveReflector(Reflector* reflector) { 213 void InProcessContextFactory::RemoveReflector(Reflector* reflector) {
(...skipping 24 matching lines...) Expand all
238 bool InProcessContextFactory::DoesCreateTestContexts() { 238 bool InProcessContextFactory::DoesCreateTestContexts() {
239 return context_factory_for_test_; 239 return context_factory_for_test_;
240 } 240 }
241 241
242 uint32_t InProcessContextFactory::GetImageTextureTarget( 242 uint32_t InProcessContextFactory::GetImageTextureTarget(
243 gfx::BufferFormat format, 243 gfx::BufferFormat format,
244 gfx::BufferUsage usage) { 244 gfx::BufferUsage usage) {
245 return GL_TEXTURE_2D; 245 return GL_TEXTURE_2D;
246 } 246 }
247 247
248 cc::SharedBitmapManager* InProcessContextFactory::GetSharedBitmapManager() {
249 return &shared_bitmap_manager_;
250 }
251
252 gpu::GpuMemoryBufferManager* 248 gpu::GpuMemoryBufferManager*
253 InProcessContextFactory::GetGpuMemoryBufferManager() { 249 InProcessContextFactory::GetGpuMemoryBufferManager() {
254 return &gpu_memory_buffer_manager_; 250 return &gpu_memory_buffer_manager_;
255 } 251 }
256 252
257 cc::TaskGraphRunner* InProcessContextFactory::GetTaskGraphRunner() { 253 cc::TaskGraphRunner* InProcessContextFactory::GetTaskGraphRunner() {
258 return &task_graph_runner_; 254 return &task_graph_runner_;
259 } 255 }
260 256
261 cc::FrameSinkId InProcessContextFactory::AllocateFrameSinkId() { 257 cc::FrameSinkId InProcessContextFactory::AllocateFrameSinkId() {
(...skipping 20 matching lines...) Expand all
282 278
283 void InProcessContextFactory::AddObserver(ContextFactoryObserver* observer) { 279 void InProcessContextFactory::AddObserver(ContextFactoryObserver* observer) {
284 observer_list_.AddObserver(observer); 280 observer_list_.AddObserver(observer);
285 } 281 }
286 282
287 void InProcessContextFactory::RemoveObserver(ContextFactoryObserver* observer) { 283 void InProcessContextFactory::RemoveObserver(ContextFactoryObserver* observer) {
288 observer_list_.RemoveObserver(observer); 284 observer_list_.RemoveObserver(observer);
289 } 285 }
290 286
291 } // namespace ui 287 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698