OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_PROXY_H_ | 5 #ifndef CC_PROXY_H_ |
6 #define CC_PROXY_H_ | 6 #define CC_PROXY_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/ref_counted.h" |
| 11 #include "base/memory/scoped_ptr.h" |
10 #include "base/time.h" | 12 #include "base/time.h" |
11 #include "base/memory/scoped_ptr.h" | |
12 #include "cc/cc_export.h" | 13 #include "cc/cc_export.h" |
13 | 14 |
14 namespace gfx { | 15 namespace gfx { |
15 class Rect; | 16 class Rect; |
16 class Vector2d; | 17 class Vector2d; |
17 } | 18 } |
18 | 19 |
19 namespace cc { | 20 namespace cc { |
20 | 21 |
| 22 class PictureLayer; |
| 23 class PicturePileImpl; |
21 class Thread; | 24 class Thread; |
22 struct RenderingStats; | 25 struct RenderingStats; |
23 struct RendererCapabilities; | 26 struct RendererCapabilities; |
24 | 27 |
25 // Abstract class responsible for proxying commands from the main-thread side of | 28 // Abstract class responsible for proxying commands from the main-thread side of |
26 // the compositor over to the compositor implementation. | 29 // the compositor over to the compositor implementation. |
27 class CC_EXPORT Proxy { | 30 class CC_EXPORT Proxy { |
28 public: | 31 public: |
29 Thread* mainThread() const; | 32 Thread* mainThread() const; |
30 bool hasImplThread() const; | 33 bool hasImplThread() const; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 92 |
90 // Forces 3D commands on all contexts to wait for all previous SwapBuffers t
o finish before executing in the GPU | 93 // Forces 3D commands on all contexts to wait for all previous SwapBuffers t
o finish before executing in the GPU |
91 // process. | 94 // process. |
92 virtual void forceSerializeOnSwapBuffers() = 0; | 95 virtual void forceSerializeOnSwapBuffers() = 0; |
93 | 96 |
94 // Maximum number of sub-region texture updates supported for each commit. | 97 // Maximum number of sub-region texture updates supported for each commit. |
95 virtual size_t maxPartialTextureUpdates() const = 0; | 98 virtual size_t maxPartialTextureUpdates() const = 0; |
96 | 99 |
97 virtual void acquireLayerTextures() = 0; | 100 virtual void acquireLayerTextures() = 0; |
98 | 101 |
| 102 virtual scoped_refptr<PicturePileImpl> capturePicturePile(const PictureLayer
* layer) = 0; |
| 103 |
99 // Testing hooks | 104 // Testing hooks |
100 virtual void loseOutputSurface() = 0; | 105 virtual void loseOutputSurface() = 0; |
101 virtual bool commitPendingForTesting() = 0; | 106 virtual bool commitPendingForTesting() = 0; |
102 | 107 |
103 protected: | 108 protected: |
104 explicit Proxy(scoped_ptr<Thread> implThread); | 109 explicit Proxy(scoped_ptr<Thread> implThread); |
105 friend class DebugScopedSetImplThread; | 110 friend class DebugScopedSetImplThread; |
106 friend class DebugScopedSetMainThread; | 111 friend class DebugScopedSetMainThread; |
107 friend class DebugScopedSetMainThreadBlocked; | 112 friend class DebugScopedSetMainThreadBlocked; |
108 | 113 |
(...skipping 29 matching lines...) Expand all Loading... |
138 class DebugScopedSetMainThreadBlocked { | 143 class DebugScopedSetMainThreadBlocked { |
139 public: | 144 public: |
140 explicit DebugScopedSetMainThreadBlocked(Proxy*) { } | 145 explicit DebugScopedSetMainThreadBlocked(Proxy*) { } |
141 ~DebugScopedSetMainThreadBlocked() { } | 146 ~DebugScopedSetMainThreadBlocked() { } |
142 }; | 147 }; |
143 #endif | 148 #endif |
144 | 149 |
145 } | 150 } |
146 | 151 |
147 #endif // CC_PROXY_H_ | 152 #endif // CC_PROXY_H_ |
OLD | NEW |