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

Side by Side Diff: ui/compositor/compositor.h

Issue 634083002: gpu: Compositor management of GpuMemoryBuffer instances. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cc-pre-chromium-image-refactor
Patch Set: address review feedback Created 6 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef UI_COMPOSITOR_COMPOSITOR_H_ 5 #ifndef UI_COMPOSITOR_COMPOSITOR_H_
6 #define UI_COMPOSITOR_COMPOSITOR_H_ 6 #define UI_COMPOSITOR_COMPOSITOR_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
(...skipping 15 matching lines...) Expand all
26 26
27 class SkBitmap; 27 class SkBitmap;
28 28
29 namespace base { 29 namespace base {
30 class MessageLoopProxy; 30 class MessageLoopProxy;
31 class RunLoop; 31 class RunLoop;
32 } 32 }
33 33
34 namespace cc { 34 namespace cc {
35 class ContextProvider; 35 class ContextProvider;
36 class GpuMemoryBufferManager;
36 class Layer; 37 class Layer;
37 class LayerTreeDebugState; 38 class LayerTreeDebugState;
38 class LayerTreeHost; 39 class LayerTreeHost;
39 class SharedBitmapManager; 40 class SharedBitmapManager;
40 } 41 }
41 42
42 namespace gfx { 43 namespace gfx {
43 class Rect; 44 class Rect;
44 class Size; 45 class Size;
45 } 46 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 // Destroys per-compositor data. 86 // Destroys per-compositor data.
86 virtual void RemoveCompositor(Compositor* compositor) = 0; 87 virtual void RemoveCompositor(Compositor* compositor) = 0;
87 88
88 // When true, the factory uses test contexts that do not do real GL 89 // When true, the factory uses test contexts that do not do real GL
89 // operations. 90 // operations.
90 virtual bool DoesCreateTestContexts() = 0; 91 virtual bool DoesCreateTestContexts() = 0;
91 92
92 // Gets the shared bitmap manager for software mode. 93 // Gets the shared bitmap manager for software mode.
93 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; 94 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0;
94 95
96 // Gets the GPU memory buffer manager.
97 virtual cc::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0;
98
95 // Gets the compositor message loop, or NULL if not using threaded 99 // Gets the compositor message loop, or NULL if not using threaded
96 // compositing. 100 // compositing.
97 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; 101 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0;
98 }; 102 };
99 103
100 // This class represents a lock on the compositor, that can be used to prevent 104 // This class represents a lock on the compositor, that can be used to prevent
101 // commits to the compositor tree while we're waiting for an asynchronous 105 // commits to the compositor tree while we're waiting for an asynchronous
102 // event. The typical use case is when waiting for a renderer to produce a frame 106 // event. The typical use case is when waiting for a renderer to produce a frame
103 // at the right size. The caller keeps a reference on this object, and drops the 107 // at the right size. The caller keeps a reference on this object, and drops the
104 // reference once it desires to release the lock. 108 // reference once it desires to release the lock.
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 LayerAnimatorCollection layer_animator_collection_; 325 LayerAnimatorCollection layer_animator_collection_;
322 326
323 base::WeakPtrFactory<Compositor> schedule_draw_factory_; 327 base::WeakPtrFactory<Compositor> schedule_draw_factory_;
324 328
325 DISALLOW_COPY_AND_ASSIGN(Compositor); 329 DISALLOW_COPY_AND_ASSIGN(Compositor);
326 }; 330 };
327 331
328 } // namespace ui 332 } // namespace ui
329 333
330 #endif // UI_COMPOSITOR_COMPOSITOR_H_ 334 #endif // UI_COMPOSITOR_COMPOSITOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698