| 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 |