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

Side by Side Diff: mojo/services/public/cpp/surfaces/tests/surface_unittest.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, 2 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 unified diff | Download patch
« no previous file with comments | « mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "cc/quads/solid_color_draw_quad.h" 6 #include "cc/quads/solid_color_draw_quad.h"
7 #include "cc/quads/surface_draw_quad.h" 7 #include "cc/quads/surface_draw_quad.h"
8 #include "cc/quads/texture_draw_quad.h" 8 #include "cc/quads/texture_draw_quad.h"
9 #include "gpu/command_buffer/common/mailbox.h" 9 #include "gpu/command_buffer/common/mailbox.h"
10 #include "gpu/command_buffer/common/mailbox_holder.h" 10 #include "gpu/command_buffer/common/mailbox_holder.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 SkColor arbitrary_color = SK_ColorGREEN; 62 SkColor arbitrary_color = SK_ColorGREEN;
63 bool force_anti_aliasing_off = true; 63 bool force_anti_aliasing_off = true;
64 color_quad->SetAll(sqs, 64 color_quad->SetAll(sqs,
65 rect, 65 rect,
66 opaque_rect, 66 opaque_rect,
67 visible_rect, 67 visible_rect,
68 needs_blending, 68 needs_blending,
69 arbitrary_color, 69 arbitrary_color,
70 force_anti_aliasing_off); 70 force_anti_aliasing_off);
71 71
72 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); 72 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*color_quad);
73 ASSERT_FALSE(mojo_quad.is_null()); 73 ASSERT_FALSE(mojo_quad.is_null());
74 EXPECT_EQ(MATERIAL_SOLID_COLOR, mojo_quad->material); 74 EXPECT_EQ(MATERIAL_SOLID_COLOR, mojo_quad->material);
75 EXPECT_EQ(Rect::From(rect), mojo_quad->rect); 75 EXPECT_EQ(Rect::From(rect), mojo_quad->rect);
76 EXPECT_EQ(Rect::From(opaque_rect), mojo_quad->opaque_rect); 76 EXPECT_EQ(Rect::From(opaque_rect), mojo_quad->opaque_rect);
77 EXPECT_EQ(Rect::From(visible_rect), mojo_quad->visible_rect); 77 EXPECT_EQ(Rect::From(visible_rect), mojo_quad->visible_rect);
78 EXPECT_EQ(needs_blending, mojo_quad->needs_blending); 78 EXPECT_EQ(needs_blending, mojo_quad->needs_blending);
79 ASSERT_TRUE(mojo_quad->solid_color_quad_state); 79 ASSERT_TRUE(mojo_quad->solid_color_quad_state);
80 SolidColorQuadStatePtr& mojo_color_state = mojo_quad->solid_color_quad_state; 80 SolidColorQuadStatePtr& mojo_color_state = mojo_quad->solid_color_quad_state;
81 EXPECT_EQ(Color::From(arbitrary_color), mojo_color_state->color); 81 EXPECT_EQ(Color::From(arbitrary_color), mojo_color_state->color);
82 EXPECT_EQ(force_anti_aliasing_off, mojo_color_state->force_anti_aliasing_off); 82 EXPECT_EQ(force_anti_aliasing_off, mojo_color_state->force_anti_aliasing_off);
83 } 83 }
84 84
85 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { 85 TEST_F(SurfaceLibQuadTest, SurfaceQuad) {
86 cc::SurfaceDrawQuad* surface_quad = 86 cc::SurfaceDrawQuad* surface_quad =
87 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); 87 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>();
88 cc::SurfaceId arbitrary_id(5); 88 cc::SurfaceId arbitrary_id(5);
89 surface_quad->SetAll( 89 surface_quad->SetAll(
90 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); 90 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id);
91 91
92 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); 92 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*surface_quad);
93 ASSERT_FALSE(mojo_quad.is_null()); 93 ASSERT_FALSE(mojo_quad.is_null());
94 EXPECT_EQ(MATERIAL_SURFACE_CONTENT, mojo_quad->material); 94 EXPECT_EQ(MATERIAL_SURFACE_CONTENT, mojo_quad->material);
95 ASSERT_TRUE(mojo_quad->surface_quad_state); 95 ASSERT_TRUE(mojo_quad->surface_quad_state);
96 SurfaceQuadStatePtr& mojo_surface_state = mojo_quad->surface_quad_state; 96 SurfaceQuadStatePtr& mojo_surface_state = mojo_quad->surface_quad_state;
97 EXPECT_EQ(SurfaceId::From(arbitrary_id), 97 EXPECT_EQ(SurfaceId::From(arbitrary_id),
98 mojo_surface_state->surface); 98 mojo_surface_state->surface);
99 } 99 }
100 100
101 TEST_F(SurfaceLibQuadTest, TextureQuad) { 101 TEST_F(SurfaceLibQuadTest, TextureQuad) {
102 cc::TextureDrawQuad* texture_quad = 102 cc::TextureDrawQuad* texture_quad =
(...skipping 11 matching lines...) Expand all
114 visible_rect, 114 visible_rect,
115 needs_blending, 115 needs_blending,
116 resource_id, 116 resource_id,
117 premultiplied_alpha, 117 premultiplied_alpha,
118 uv_top_left, 118 uv_top_left,
119 uv_bottom_right, 119 uv_bottom_right,
120 background_color, 120 background_color,
121 vertex_opacity, 121 vertex_opacity,
122 flipped); 122 flipped);
123 123
124 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); 124 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*texture_quad);
125 ASSERT_FALSE(mojo_quad.is_null()); 125 ASSERT_FALSE(mojo_quad.is_null());
126 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material); 126 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material);
127 ASSERT_TRUE(mojo_quad->texture_quad_state); 127 ASSERT_TRUE(mojo_quad->texture_quad_state);
128 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state; 128 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state;
129 EXPECT_EQ(resource_id, mojo_texture_state->resource_id); 129 EXPECT_EQ(resource_id, mojo_texture_state->resource_id);
130 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha); 130 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha);
131 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left); 131 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left);
132 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right); 132 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right);
133 EXPECT_EQ(Color::From(background_color), 133 EXPECT_EQ(Color::From(background_color),
134 mojo_texture_state->background_color); 134 mojo_texture_state->background_color);
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 round_trip_pass->shared_quad_state_list.front(); 310 round_trip_pass->shared_quad_state_list.front();
311 EXPECT_EQ(content_to_target_transform, 311 EXPECT_EQ(content_to_target_transform,
312 round_trip_sqs->content_to_target_transform); 312 round_trip_sqs->content_to_target_transform);
313 EXPECT_EQ(content_bounds, round_trip_sqs->content_bounds); 313 EXPECT_EQ(content_bounds, round_trip_sqs->content_bounds);
314 EXPECT_EQ(visible_content_rect, round_trip_sqs->visible_content_rect); 314 EXPECT_EQ(visible_content_rect, round_trip_sqs->visible_content_rect);
315 EXPECT_EQ(clip_rect, round_trip_sqs->clip_rect); 315 EXPECT_EQ(clip_rect, round_trip_sqs->clip_rect);
316 EXPECT_EQ(is_clipped, round_trip_sqs->is_clipped); 316 EXPECT_EQ(is_clipped, round_trip_sqs->is_clipped);
317 EXPECT_EQ(opacity, round_trip_sqs->opacity); 317 EXPECT_EQ(opacity, round_trip_sqs->opacity);
318 EXPECT_EQ(sorting_context_id, round_trip_sqs->sorting_context_id); 318 EXPECT_EQ(sorting_context_id, round_trip_sqs->sorting_context_id);
319 319
320 cc::QuadList::iterator dq_iter = round_trip_pass->quad_list.begin(); 320 cc::QuadList::Iterator dq_iter = round_trip_pass->quad_list.begin();
321 // First is solid color quad. 321 // First is solid color quad.
322 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, (*dq_iter)->material); 322 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, dq_iter->material);
323 EXPECT_EQ(rect, (*dq_iter)->rect); 323 EXPECT_EQ(rect, dq_iter->rect);
324 EXPECT_EQ(opaque_rect, (*dq_iter)->opaque_rect); 324 EXPECT_EQ(opaque_rect, dq_iter->opaque_rect);
325 EXPECT_EQ(visible_rect, (*dq_iter)->visible_rect); 325 EXPECT_EQ(visible_rect, dq_iter->visible_rect);
326 EXPECT_EQ(needs_blending, (*dq_iter)->needs_blending); 326 EXPECT_EQ(needs_blending, dq_iter->needs_blending);
327 const cc::SolidColorDrawQuad* round_trip_color_quad = 327 const cc::SolidColorDrawQuad* round_trip_color_quad =
328 cc::SolidColorDrawQuad::MaterialCast(*dq_iter); 328 cc::SolidColorDrawQuad::MaterialCast(&*dq_iter);
329 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color); 329 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color);
330 EXPECT_EQ(force_anti_aliasing_off, 330 EXPECT_EQ(force_anti_aliasing_off,
331 round_trip_color_quad->force_anti_aliasing_off); 331 round_trip_color_quad->force_anti_aliasing_off);
332 332
333 ++dq_iter; 333 ++dq_iter;
334 // Second is surface quad. 334 // Second is surface quad.
335 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, (*dq_iter)->material); 335 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, dq_iter->material);
336 const cc::SurfaceDrawQuad* round_trip_surface_quad = 336 const cc::SurfaceDrawQuad* round_trip_surface_quad =
337 cc::SurfaceDrawQuad::MaterialCast(*dq_iter); 337 cc::SurfaceDrawQuad::MaterialCast(&*dq_iter);
338 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id); 338 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id);
339 339
340 ++dq_iter; 340 ++dq_iter;
341 // Third is texture quad. 341 // Third is texture quad.
342 ASSERT_EQ(cc::DrawQuad::TEXTURE_CONTENT, (*dq_iter)->material); 342 ASSERT_EQ(cc::DrawQuad::TEXTURE_CONTENT, dq_iter->material);
343 const cc::TextureDrawQuad* round_trip_texture_quad = 343 const cc::TextureDrawQuad* round_trip_texture_quad =
344 cc::TextureDrawQuad::MaterialCast(*dq_iter); 344 cc::TextureDrawQuad::MaterialCast(&*dq_iter);
345 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id); 345 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id);
346 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha); 346 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha);
347 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left); 347 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left);
348 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right); 348 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right);
349 EXPECT_EQ(background_color, round_trip_texture_quad->background_color); 349 EXPECT_EQ(background_color, round_trip_texture_quad->background_color);
350 for (size_t i = 0; i < 4; ++i) { 350 for (size_t i = 0; i < 4; ++i) {
351 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) 351 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i])
352 << i; 352 << i;
353 } 353 }
354 EXPECT_EQ(flipped, round_trip_texture_quad->flipped); 354 EXPECT_EQ(flipped, round_trip_texture_quad->flipped);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 cc::ReturnedResource round_trip_resource = 451 cc::ReturnedResource round_trip_resource =
452 mojo_resource.To<cc::ReturnedResource>(); 452 mojo_resource.To<cc::ReturnedResource>();
453 EXPECT_EQ(id, round_trip_resource.id); 453 EXPECT_EQ(id, round_trip_resource.id);
454 EXPECT_EQ(sync_point, round_trip_resource.sync_point); 454 EXPECT_EQ(sync_point, round_trip_resource.sync_point);
455 EXPECT_EQ(count, round_trip_resource.count); 455 EXPECT_EQ(count, round_trip_resource.count);
456 EXPECT_EQ(lost, round_trip_resource.lost); 456 EXPECT_EQ(lost, round_trip_resource.lost);
457 } 457 }
458 458
459 } // namespace 459 } // namespace
460 } // namespace mojo 460 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698