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

Unified Diff: mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc

Issue 448303002: Use custom ListContainer to allocate DrawQuads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@perftest
Patch Set: change header files to try fix compile error Created 6 years, 3 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/common/cc_messages_unittest.cc ('k') | mojo/services/public/cpp/surfaces/tests/surface_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
diff --git a/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc b/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
index 9eda457f88aed650038c3139ffb4f60ac7b30197..7d1798ea6ae58c8e6c72e708db88cd09882f5c2e 100644
--- a/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
+++ b/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
@@ -359,8 +359,11 @@ PassPtr TypeConverter<PassPtr, cc::RenderPass>::Convert(
input.shared_quad_state_list.size());
int sqs_i = -1;
const cc::SharedQuadState* last_sqs = NULL;
- for (size_t i = 0; i < quads.size(); ++i) {
- const cc::DrawQuad& quad = *input.quad_list[i];
+ size_t i = 0;
+ for (cc::QuadList::ConstIterator iter = input.quad_list.begin();
+ iter != input.quad_list.end();
+ ++iter) {
+ const cc::DrawQuad& quad = *iter;
quads[i] = Quad::From(quad);
if (quad.shared_quad_state != last_sqs) {
sqs_i++;
@@ -369,6 +372,7 @@ PassPtr TypeConverter<PassPtr, cc::RenderPass>::Convert(
last_sqs = quad.shared_quad_state;
}
quads[i]->shared_quad_state_index = sqs_i;
+ ++i;
}
// We should copy all shared quad states.
DCHECK_EQ(static_cast<size_t>(sqs_i + 1), shared_quad_state.size());
@@ -381,6 +385,8 @@ PassPtr TypeConverter<PassPtr, cc::RenderPass>::Convert(
scoped_ptr<cc::RenderPass>
TypeConverter<scoped_ptr<cc::RenderPass>, PassPtr>::Convert(
const PassPtr& input) {
+ // TODO(weiliangc): RenderPass will have a constructor that takes in preset
+ // size of quad list and shared quad state list size in upcoming CL.
scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
pass->SetAll(cc::RenderPassId(1, input->id),
input->output_rect.To<gfx::Rect>(),
@@ -392,7 +398,6 @@ TypeConverter<scoped_ptr<cc::RenderPass>, PassPtr>::Convert(
for (size_t i = 0; i < input->shared_quad_states.size(); ++i) {
ConvertSharedQuadState(input->shared_quad_states[i], pass.get());
}
- pass->quad_list.reserve(input->quads.size());
for (size_t i = 0; i < input->quads.size(); ++i) {
QuadPtr quad = input->quads[i].Pass();
if (!ConvertDrawQuad(
« no previous file with comments | « content/common/cc_messages_unittest.cc ('k') | mojo/services/public/cpp/surfaces/tests/surface_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698