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

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: mac build fix 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 13 matching lines...) Expand all
24 #include "ui/gfx/size.h" 24 #include "ui/gfx/size.h"
25 #include "ui/gfx/vector2d.h" 25 #include "ui/gfx/vector2d.h"
26 26
27 namespace base { 27 namespace base {
28 class MessageLoopProxy; 28 class MessageLoopProxy;
29 class RunLoop; 29 class RunLoop;
30 } 30 }
31 31
32 namespace cc { 32 namespace cc {
33 class ContextProvider; 33 class ContextProvider;
34 class GpuMemoryBufferManager;
34 class Layer; 35 class Layer;
35 class LayerTreeDebugState; 36 class LayerTreeDebugState;
36 class LayerTreeHost; 37 class LayerTreeHost;
37 class SharedBitmapManager; 38 class SharedBitmapManager;
38 } 39 }
39 40
40 namespace gfx { 41 namespace gfx {
41 class Rect; 42 class Rect;
42 class Size; 43 class Size;
43 } 44 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // Destroys per-compositor data. 84 // Destroys per-compositor data.
84 virtual void RemoveCompositor(Compositor* compositor) = 0; 85 virtual void RemoveCompositor(Compositor* compositor) = 0;
85 86
86 // When true, the factory uses test contexts that do not do real GL 87 // When true, the factory uses test contexts that do not do real GL
87 // operations. 88 // operations.
88 virtual bool DoesCreateTestContexts() = 0; 89 virtual bool DoesCreateTestContexts() = 0;
89 90
90 // Gets the shared bitmap manager for software mode. 91 // Gets the shared bitmap manager for software mode.
91 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; 92 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0;
92 93
94 // Gets the GPU memory buffer manager.
95 virtual cc::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0;
96
93 // Gets the compositor message loop, or NULL if not using threaded 97 // Gets the compositor message loop, or NULL if not using threaded
94 // compositing. 98 // compositing.
95 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; 99 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0;
96 }; 100 };
97 101
98 // This class represents a lock on the compositor, that can be used to prevent 102 // This class represents a lock on the compositor, that can be used to prevent
99 // commits to the compositor tree while we're waiting for an asynchronous 103 // commits to the compositor tree while we're waiting for an asynchronous
100 // event. The typical use case is when waiting for a renderer to produce a frame 104 // event. The typical use case is when waiting for a renderer to produce a frame
101 // at the right size. The caller keeps a reference on this object, and drops the 105 // at the right size. The caller keeps a reference on this object, and drops the
102 // reference once it desires to release the lock. 106 // reference once it desires to release the lock.
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 CompositorLock* compositor_lock_; 301 CompositorLock* compositor_lock_;
298 302
299 LayerAnimatorCollection layer_animator_collection_; 303 LayerAnimatorCollection layer_animator_collection_;
300 304
301 DISALLOW_COPY_AND_ASSIGN(Compositor); 305 DISALLOW_COPY_AND_ASSIGN(Compositor);
302 }; 306 };
303 307
304 } // namespace ui 308 } // namespace ui
305 309
306 #endif // UI_COMPOSITOR_COMPOSITOR_H_ 310 #endif // UI_COMPOSITOR_COMPOSITOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698