| 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/debug/trace_event_argument.h" | 9 #include "base/debug/trace_event_argument.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 scoped_ptr<RenderPass> copy_pass(Create( | 108 scoped_ptr<RenderPass> copy_pass(Create( |
| 109 source->shared_quad_state_list.size(), source->quad_list.size())); | 109 source->shared_quad_state_list.size(), source->quad_list.size())); |
| 110 copy_pass->SetAll(source->id, | 110 copy_pass->SetAll(source->id, |
| 111 source->output_rect, | 111 source->output_rect, |
| 112 source->damage_rect, | 112 source->damage_rect, |
| 113 source->transform_to_root_target, | 113 source->transform_to_root_target, |
| 114 source->has_transparent_background); | 114 source->has_transparent_background); |
| 115 for (const auto& shared_quad_state : source->shared_quad_state_list) { | 115 for (const auto& shared_quad_state : source->shared_quad_state_list) { |
| 116 SharedQuadState* copy_shared_quad_state = | 116 SharedQuadState* copy_shared_quad_state = |
| 117 copy_pass->CreateAndAppendSharedQuadState(); | 117 copy_pass->CreateAndAppendSharedQuadState(); |
| 118 copy_shared_quad_state->CopyFrom(&shared_quad_state); | 118 copy_shared_quad_state->CopyFrom(shared_quad_state); |
| 119 } | 119 } |
| 120 SharedQuadStateList::Iterator sqs_iter = | 120 SharedQuadStateList::Iterator sqs_iter = |
| 121 source->shared_quad_state_list.begin(); | 121 source->shared_quad_state_list.begin(); |
| 122 SharedQuadStateList::Iterator copy_sqs_iter = | 122 SharedQuadStateList::Iterator copy_sqs_iter = |
| 123 copy_pass->shared_quad_state_list.begin(); | 123 copy_pass->shared_quad_state_list.begin(); |
| 124 for (const auto& quad : source->quad_list) { | 124 for (const auto& quad : source->quad_list) { |
| 125 while (quad.shared_quad_state != &*sqs_iter) { | 125 while (quad->shared_quad_state != *sqs_iter) { |
| 126 ++sqs_iter; | 126 ++sqs_iter; |
| 127 ++copy_sqs_iter; | 127 ++copy_sqs_iter; |
| 128 DCHECK(sqs_iter != source->shared_quad_state_list.end()); | 128 DCHECK(sqs_iter != source->shared_quad_state_list.end()); |
| 129 } | 129 } |
| 130 DCHECK(quad.shared_quad_state == &*sqs_iter); | 130 DCHECK(quad->shared_quad_state == *sqs_iter); |
| 131 | 131 |
| 132 SharedQuadState* copy_shared_quad_state = &*copy_sqs_iter; | 132 SharedQuadState* copy_shared_quad_state = *copy_sqs_iter; |
| 133 | 133 |
| 134 if (quad.material == DrawQuad::RENDER_PASS) { | 134 if (quad->material == DrawQuad::RENDER_PASS) { |
| 135 const RenderPassDrawQuad* pass_quad = | 135 const RenderPassDrawQuad* pass_quad = |
| 136 RenderPassDrawQuad::MaterialCast(&quad); | 136 RenderPassDrawQuad::MaterialCast(quad); |
| 137 copy_pass->CopyFromAndAppendRenderPassDrawQuad( | 137 copy_pass->CopyFromAndAppendRenderPassDrawQuad( |
| 138 pass_quad, copy_shared_quad_state, pass_quad->render_pass_id); | 138 pass_quad, copy_shared_quad_state, pass_quad->render_pass_id); |
| 139 } else { | 139 } else { |
| 140 copy_pass->CopyFromAndAppendDrawQuad(&quad, copy_shared_quad_state); | 140 copy_pass->CopyFromAndAppendDrawQuad(quad, copy_shared_quad_state); |
| 141 } | 141 } |
| 142 } | 142 } |
| 143 out->push_back(copy_pass.Pass()); | 143 out->push_back(copy_pass.Pass()); |
| 144 } | 144 } |
| 145 } | 145 } |
| 146 | 146 |
| 147 void RenderPass::SetNew(RenderPassId id, | 147 void RenderPass::SetNew(RenderPassId id, |
| 148 const gfx::Rect& output_rect, | 148 const gfx::Rect& output_rect, |
| 149 const gfx::Rect& damage_rect, | 149 const gfx::Rect& damage_rect, |
| 150 const gfx::Transform& transform_to_root_target) { | 150 const gfx::Transform& transform_to_root_target) { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 value->BeginArray("damage_rect"); | 189 value->BeginArray("damage_rect"); |
| 190 MathUtil::AddToTracedValue(damage_rect, value); | 190 MathUtil::AddToTracedValue(damage_rect, value); |
| 191 value->EndArray(); | 191 value->EndArray(); |
| 192 | 192 |
| 193 value->SetBoolean("has_transparent_background", has_transparent_background); | 193 value->SetBoolean("has_transparent_background", has_transparent_background); |
| 194 value->SetInteger("copy_requests", copy_requests.size()); | 194 value->SetInteger("copy_requests", copy_requests.size()); |
| 195 | 195 |
| 196 value->BeginArray("shared_quad_state_list"); | 196 value->BeginArray("shared_quad_state_list"); |
| 197 for (const auto& shared_quad_state : shared_quad_state_list) { | 197 for (const auto& shared_quad_state : shared_quad_state_list) { |
| 198 value->BeginDictionary(); | 198 value->BeginDictionary(); |
| 199 shared_quad_state.AsValueInto(value); | 199 shared_quad_state->AsValueInto(value); |
| 200 value->EndDictionary(); | 200 value->EndDictionary(); |
| 201 } | 201 } |
| 202 value->EndArray(); | 202 value->EndArray(); |
| 203 | 203 |
| 204 value->BeginArray("quad_list"); | 204 value->BeginArray("quad_list"); |
| 205 for (const auto& quad : quad_list) { | 205 for (const auto& quad : quad_list) { |
| 206 value->BeginDictionary(); | 206 value->BeginDictionary(); |
| 207 quad.AsValueInto(value); | 207 quad->AsValueInto(value); |
| 208 value->EndDictionary(); | 208 value->EndDictionary(); |
| 209 } | 209 } |
| 210 value->EndArray(); | 210 value->EndArray(); |
| 211 | 211 |
| 212 TracedValue::MakeDictIntoImplicitSnapshotWithCategory( | 212 TracedValue::MakeDictIntoImplicitSnapshotWithCategory( |
| 213 TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"), | 213 TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"), |
| 214 value, | 214 value, |
| 215 "cc::RenderPass", | 215 "cc::RenderPass", |
| 216 id.AsTracingId()); | 216 id.AsTracingId()); |
| 217 } | 217 } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 case DrawQuad::RENDER_PASS: | 269 case DrawQuad::RENDER_PASS: |
| 270 case DrawQuad::INVALID: | 270 case DrawQuad::INVALID: |
| 271 LOG(FATAL) << "Invalid DrawQuad material " << quad->material; | 271 LOG(FATAL) << "Invalid DrawQuad material " << quad->material; |
| 272 break; | 272 break; |
| 273 } | 273 } |
| 274 quad_list.back()->shared_quad_state = shared_quad_state; | 274 quad_list.back()->shared_quad_state = shared_quad_state; |
| 275 return quad_list.back(); | 275 return quad_list.back(); |
| 276 } | 276 } |
| 277 | 277 |
| 278 } // namespace cc | 278 } // namespace cc |
| OLD | NEW |