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 #include "cc/quads/render_pass.h" | 5 #include "cc/quads/render_pass.h" |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
9 #include "cc/debug/traced_value.h" | 9 #include "cc/debug/traced_value.h" |
10 #include "cc/output/copy_output_request.h" | 10 #include "cc/output/copy_output_request.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
100 DCHECK_LT(sqs_i, source->shared_quad_state_list.size()); | 100 DCHECK_LT(sqs_i, source->shared_quad_state_list.size()); |
101 } | 101 } |
102 DCHECK(source->quad_list[i]->shared_quad_state == | 102 DCHECK(source->quad_list[i]->shared_quad_state == |
103 source->shared_quad_state_list[sqs_i]); | 103 source->shared_quad_state_list[sqs_i]); |
104 | 104 |
105 DrawQuad* quad = source->quad_list[i]; | 105 DrawQuad* quad = source->quad_list[i]; |
106 | 106 |
107 if (quad->material == DrawQuad::RENDER_PASS) { | 107 if (quad->material == DrawQuad::RENDER_PASS) { |
108 const RenderPassDrawQuad* pass_quad = | 108 const RenderPassDrawQuad* pass_quad = |
109 RenderPassDrawQuad::MaterialCast(quad); | 109 RenderPassDrawQuad::MaterialCast(quad); |
110 copy_pass->quad_list.push_back( | 110 RenderPassDrawQuad* copy_quad = |
111 pass_quad->Copy(copy_pass->shared_quad_state_list[sqs_i], | 111 copy_pass->CopyFromAndAppendTypedDrawQuad<RenderPassDrawQuad>( |
danakj
2014/07/10 19:53:25
Why not copy_pass->CopyFromAndAppendRenderPassDraw
weiliangc
2014/07/11 15:59:12
Done.
| |
112 pass_quad->render_pass_id).PassAs<DrawQuad>()); | 112 pass_quad); |
113 copy_quad->shared_quad_state = copy_pass->shared_quad_state_list[sqs_i]; | |
114 copy_quad->render_pass_id = pass_quad->render_pass_id; | |
113 } else { | 115 } else { |
114 copy_pass->quad_list.push_back(source->quad_list[i]->Copy( | 116 copy_pass->CopyFromAndAppendDrawQuad( |
115 copy_pass->shared_quad_state_list[sqs_i])); | 117 quad, copy_pass->shared_quad_state_list[sqs_i]); |
116 } | 118 } |
117 } | 119 } |
118 out->push_back(copy_pass.Pass()); | 120 out->push_back(copy_pass.Pass()); |
119 } | 121 } |
120 } | 122 } |
121 | 123 |
122 void RenderPass::SetNew(Id id, | 124 void RenderPass::SetNew(Id id, |
123 const gfx::Rect& output_rect, | 125 const gfx::Rect& output_rect, |
124 const gfx::Rect& damage_rect, | 126 const gfx::Rect& damage_rect, |
125 const gfx::Transform& transform_to_root_target) { | 127 const gfx::Transform& transform_to_root_target) { |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
233 case DrawQuad::RENDER_PASS: | 235 case DrawQuad::RENDER_PASS: |
234 case DrawQuad::INVALID: | 236 case DrawQuad::INVALID: |
235 LOG(FATAL) << "Invalid DrawQuad material " << quad->material; | 237 LOG(FATAL) << "Invalid DrawQuad material " << quad->material; |
236 break; | 238 break; |
237 } | 239 } |
238 quad_list.back()->shared_quad_state = shared_quad_state; | 240 quad_list.back()->shared_quad_state = shared_quad_state; |
239 return quad_list.back(); | 241 return quad_list.back(); |
240 } | 242 } |
241 | 243 |
242 } // namespace cc | 244 } // namespace cc |
OLD | NEW |