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

Side by Side Diff: cc/quads/render_pass.cc

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « cc/quads/list_container_unittest.cc ('k') | cc/resources/one_copy_raster_worker_pool.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cc/quads/list_container_unittest.cc ('k') | cc/resources/one_copy_raster_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698