OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |