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_QUADS_RENDER_PASS_H_ | 5 #ifndef CC_QUADS_RENDER_PASS_H_ |
6 #define CC_QUADS_RENDER_PASS_H_ | 6 #define CC_QUADS_RENDER_PASS_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
55 } | 55 } |
56 bool operator!=(const Id& other) const { | 56 bool operator!=(const Id& other) const { |
57 return !(*this == other); | 57 return !(*this == other); |
58 } | 58 } |
59 bool operator<(const Id& other) const { | 59 bool operator<(const Id& other) const { |
60 return layer_id < other.layer_id || | 60 return layer_id < other.layer_id || |
61 (layer_id == other.layer_id && index < other.index); | 61 (layer_id == other.layer_id && index < other.index); |
62 } | 62 } |
63 }; | 63 }; |
64 | 64 |
65 enum HwOverlayState { NO_OVERLAY, RENDER_AND_OVERLAY, SIMPLE_OVERLAY, }; | |
enne (OOO)
2014/03/14 18:13:41
bikeshed: maybe just OverlayState? Are there other
| |
66 | |
65 ~RenderPass(); | 67 ~RenderPass(); |
66 | 68 |
67 static scoped_ptr<RenderPass> Create(); | 69 static scoped_ptr<RenderPass> Create(); |
68 static scoped_ptr<RenderPass> Create(size_t num_layers); | 70 static scoped_ptr<RenderPass> Create(size_t num_layers); |
69 | 71 |
70 // A shallow copy of the render pass, which does not include its quads or copy | 72 // A shallow copy of the render pass, which does not include its quads or copy |
71 // requests. | 73 // requests. |
72 scoped_ptr<RenderPass> Copy(Id new_id) const; | 74 scoped_ptr<RenderPass> Copy(Id new_id) const; |
73 | 75 |
74 // A deep copy of the render passes in the list including the quads. | 76 // A deep copy of the render passes in the list including the quads. |
(...skipping 29 matching lines...) Expand all Loading... | |
104 | 106 |
105 // If non-empty, the renderer should produce a copy of the render pass' | 107 // If non-empty, the renderer should produce a copy of the render pass' |
106 // contents as a bitmap, and give a copy of the bitmap to each callback in | 108 // contents as a bitmap, and give a copy of the bitmap to each callback in |
107 // this list. This property should not be serialized between compositors, as | 109 // this list. This property should not be serialized between compositors, as |
108 // it only makes sense in the root compositor. | 110 // it only makes sense in the root compositor. |
109 ScopedPtrVector<CopyOutputRequest> copy_requests; | 111 ScopedPtrVector<CopyOutputRequest> copy_requests; |
110 | 112 |
111 QuadList quad_list; | 113 QuadList quad_list; |
112 SharedQuadStateList shared_quad_state_list; | 114 SharedQuadStateList shared_quad_state_list; |
113 | 115 |
116 // Specifies whether the pass is going into an overlay, needs to be rendered | |
117 // into a buffer before it can be presented to overlay hardware or a quad | |
118 // inside it is presented as is. | |
piman
2014/03/14 03:42:34
nit: this would be a great comment to have on the
| |
119 HwOverlayState overlay_state; | |
piman
2014/03/14 03:42:34
Generally, adding a field here requires it to be a
alexst (slow to review)
2014/03/14 19:54:22
Yes, this should only exist in one process. I adde
| |
120 | |
114 protected: | 121 protected: |
115 explicit RenderPass(size_t num_layers); | 122 explicit RenderPass(size_t num_layers); |
116 RenderPass(); | 123 RenderPass(); |
117 | 124 |
118 private: | 125 private: |
119 DISALLOW_COPY_AND_ASSIGN(RenderPass); | 126 DISALLOW_COPY_AND_ASSIGN(RenderPass); |
120 }; | 127 }; |
121 | 128 |
122 } // namespace cc | 129 } // namespace cc |
123 | 130 |
(...skipping 13 matching lines...) Expand all Loading... | |
137 #error define a hash function for your compiler | 144 #error define a hash function for your compiler |
138 #endif // COMPILER | 145 #endif // COMPILER |
139 } // namespace BASE_HASH_NAMESPACE | 146 } // namespace BASE_HASH_NAMESPACE |
140 | 147 |
141 namespace cc { | 148 namespace cc { |
142 typedef ScopedPtrVector<RenderPass> RenderPassList; | 149 typedef ScopedPtrVector<RenderPass> RenderPassList; |
143 typedef base::hash_map<RenderPass::Id, RenderPass*> RenderPassIdHashMap; | 150 typedef base::hash_map<RenderPass::Id, RenderPass*> RenderPassIdHashMap; |
144 } // namespace cc | 151 } // namespace cc |
145 | 152 |
146 #endif // CC_QUADS_RENDER_PASS_H_ | 153 #endif // CC_QUADS_RENDER_PASS_H_ |
OLD | NEW |