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

Side by Side Diff: cc/ipc/struct_traits_unittest.cc

Issue 2543473004: cc: Move filters from RenderPassDrawQuad to RenderPass (Closed)
Patch Set: Rebase again Created 4 years 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/ipc/render_pass_struct_traits.cc ('k') | cc/layers/render_surface_impl.cc » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "cc/input/selection.h" 6 #include "cc/input/selection.h"
7 #include "cc/ipc/traits_test_service.mojom.h" 7 #include "cc/ipc/traits_test_service.mojom.h"
8 #include "cc/quads/debug_border_draw_quad.h" 8 #include "cc/quads/debug_border_draw_quad.h"
9 #include "cc/quads/render_pass.h" 9 #include "cc/quads/render_pass.h"
10 #include "cc/quads/render_pass_draw_quad.h" 10 #include "cc/quads/render_pass_draw_quad.h"
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 LocalFrameId(5678, base::UnguessableToken::Create())); 439 LocalFrameId(5678, base::UnguessableToken::Create()));
440 SurfaceDrawQuad* surface_quad = 440 SurfaceDrawQuad* surface_quad =
441 render_pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 441 render_pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
442 surface_quad->SetNew(sqs, rect3, rect3, surface_id); 442 surface_quad->SetNew(sqs, rect3, rect3, surface_id);
443 443
444 const gfx::Rect rect4(1234, 5678, 9101112, 13141516); 444 const gfx::Rect rect4(1234, 5678, 9101112, 13141516);
445 const ResourceId resource_id4(1337); 445 const ResourceId resource_id4(1337);
446 const int render_pass_id = 1234; 446 const int render_pass_id = 1234;
447 const gfx::Vector2dF mask_uv_scale(1337.1f, 1234.2f); 447 const gfx::Vector2dF mask_uv_scale(1337.1f, 1234.2f);
448 const gfx::Size mask_texture_size(1234, 5678); 448 const gfx::Size mask_texture_size(1234, 5678);
449 FilterOperations filters;
450 filters.Append(FilterOperation::CreateBlurFilter(0.f));
451 filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
452 gfx::Vector2dF filters_scale(1234.1f, 4321.2f); 449 gfx::Vector2dF filters_scale(1234.1f, 4321.2f);
453 gfx::PointF filters_origin(8765.4f, 4567.8f); 450 gfx::PointF filters_origin(8765.4f, 4567.8f);
454 FilterOperations background_filters;
455 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f));
456 background_filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
457 background_filters.Append(FilterOperation::CreateSaturateFilter(2.f));
458 451
459 RenderPassDrawQuad* render_pass_quad = 452 RenderPassDrawQuad* render_pass_quad =
460 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 453 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
461 render_pass_quad->SetNew(sqs, rect4, rect4, render_pass_id, resource_id4, 454 render_pass_quad->SetNew(sqs, rect4, rect4, render_pass_id, resource_id4,
462 mask_uv_scale, mask_texture_size, filters, 455 mask_uv_scale, mask_texture_size, filters_scale,
463 filters_scale, filters_origin, background_filters); 456 filters_origin);
464 457
465 const gfx::Rect rect5(123, 567, 91011, 131415); 458 const gfx::Rect rect5(123, 567, 91011, 131415);
466 const ResourceId resource_id5(1337); 459 const ResourceId resource_id5(1337);
467 const float vertex_opacity[4] = {1.f, 2.f, 3.f, 4.f}; 460 const float vertex_opacity[4] = {1.f, 2.f, 3.f, 4.f};
468 const bool premultiplied_alpha = true; 461 const bool premultiplied_alpha = true;
469 const gfx::PointF uv_top_left(12.1f, 34.2f); 462 const gfx::PointF uv_top_left(12.1f, 34.2f);
470 const gfx::PointF uv_bottom_right(56.3f, 78.4f); 463 const gfx::PointF uv_bottom_right(56.3f, 78.4f);
471 const SkColor background_color = SK_ColorGREEN; 464 const SkColor background_color = SK_ColorGREEN;
472 const bool y_flipped = true; 465 const bool y_flipped = true;
473 const bool nearest_neighbor = true; 466 const bool nearest_neighbor = true;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 EXPECT_EQ(rect3, out_surface_draw_quad->visible_rect); 513 EXPECT_EQ(rect3, out_surface_draw_quad->visible_rect);
521 EXPECT_EQ(surface_id, out_surface_draw_quad->surface_id); 514 EXPECT_EQ(surface_id, out_surface_draw_quad->surface_id);
522 515
523 const RenderPassDrawQuad* out_render_pass_draw_quad = 516 const RenderPassDrawQuad* out_render_pass_draw_quad =
524 RenderPassDrawQuad::MaterialCast(output->quad_list.ElementAt(3)); 517 RenderPassDrawQuad::MaterialCast(output->quad_list.ElementAt(3));
525 EXPECT_EQ(rect4, out_render_pass_draw_quad->rect); 518 EXPECT_EQ(rect4, out_render_pass_draw_quad->rect);
526 EXPECT_EQ(rect4, out_render_pass_draw_quad->visible_rect); 519 EXPECT_EQ(rect4, out_render_pass_draw_quad->visible_rect);
527 EXPECT_EQ(render_pass_id, out_render_pass_draw_quad->render_pass_id); 520 EXPECT_EQ(render_pass_id, out_render_pass_draw_quad->render_pass_id);
528 EXPECT_EQ(resource_id4, out_render_pass_draw_quad->mask_resource_id()); 521 EXPECT_EQ(resource_id4, out_render_pass_draw_quad->mask_resource_id());
529 EXPECT_EQ(mask_texture_size, out_render_pass_draw_quad->mask_texture_size); 522 EXPECT_EQ(mask_texture_size, out_render_pass_draw_quad->mask_texture_size);
530 EXPECT_EQ(filters.size(), out_render_pass_draw_quad->filters.size());
531 for (size_t i = 0; i < filters.size(); ++i)
532 EXPECT_EQ(filters.at(i), out_render_pass_draw_quad->filters.at(i));
533 EXPECT_EQ(filters_scale, out_render_pass_draw_quad->filters_scale); 523 EXPECT_EQ(filters_scale, out_render_pass_draw_quad->filters_scale);
534 EXPECT_EQ(background_filters.size(),
535 out_render_pass_draw_quad->background_filters.size());
536 for (size_t i = 0; i < background_filters.size(); ++i)
537 EXPECT_EQ(background_filters.at(i),
538 out_render_pass_draw_quad->background_filters.at(i));
539 524
540 const TextureDrawQuad* out_texture_draw_quad = 525 const TextureDrawQuad* out_texture_draw_quad =
541 TextureDrawQuad::MaterialCast(output->quad_list.ElementAt(4)); 526 TextureDrawQuad::MaterialCast(output->quad_list.ElementAt(4));
542 EXPECT_EQ(rect5, out_texture_draw_quad->rect); 527 EXPECT_EQ(rect5, out_texture_draw_quad->rect);
543 EXPECT_EQ(rect5, out_texture_draw_quad->opaque_rect); 528 EXPECT_EQ(rect5, out_texture_draw_quad->opaque_rect);
544 EXPECT_EQ(rect5, out_texture_draw_quad->visible_rect); 529 EXPECT_EQ(rect5, out_texture_draw_quad->visible_rect);
545 EXPECT_EQ(needs_blending, out_texture_draw_quad->needs_blending); 530 EXPECT_EQ(needs_blending, out_texture_draw_quad->needs_blending);
546 EXPECT_EQ(resource_id5, out_texture_draw_quad->resource_id()); 531 EXPECT_EQ(resource_id5, out_texture_draw_quad->resource_id());
547 EXPECT_EQ(resource_size_in_pixels5, 532 EXPECT_EQ(resource_size_in_pixels5,
548 out_texture_draw_quad->resource_size_in_pixels()); 533 out_texture_draw_quad->resource_size_in_pixels());
(...skipping 19 matching lines...) Expand all
568 out_stream_video_draw_quad->resource_size_in_pixels()); 553 out_stream_video_draw_quad->resource_size_in_pixels());
569 EXPECT_EQ(matrix, out_stream_video_draw_quad->matrix); 554 EXPECT_EQ(matrix, out_stream_video_draw_quad->matrix);
570 } 555 }
571 556
572 TEST_F(StructTraitsTest, RenderPass) { 557 TEST_F(StructTraitsTest, RenderPass) {
573 const int id = 3; 558 const int id = 3;
574 const gfx::Rect output_rect(45, 22, 120, 13); 559 const gfx::Rect output_rect(45, 22, 120, 13);
575 const gfx::Transform transform_to_root = 560 const gfx::Transform transform_to_root =
576 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0); 561 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
577 const gfx::Rect damage_rect(56, 123, 19, 43); 562 const gfx::Rect damage_rect(56, 123, 19, 43);
563 FilterOperations filters;
564 filters.Append(FilterOperation::CreateBlurFilter(0.f));
565 filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
566 FilterOperations background_filters;
567 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f));
568 background_filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
569 background_filters.Append(FilterOperation::CreateSaturateFilter(2.f));
578 const bool has_transparent_background = true; 570 const bool has_transparent_background = true;
579 std::unique_ptr<RenderPass> input = RenderPass::Create(); 571 std::unique_ptr<RenderPass> input = RenderPass::Create();
580 input->SetAll(id, output_rect, damage_rect, transform_to_root, 572 input->SetAll(id, output_rect, damage_rect, transform_to_root, filters,
581 has_transparent_background); 573 background_filters, has_transparent_background);
582 574
583 SharedQuadState* shared_state_1 = input->CreateAndAppendSharedQuadState(); 575 SharedQuadState* shared_state_1 = input->CreateAndAppendSharedQuadState();
584 shared_state_1->SetAll( 576 shared_state_1->SetAll(
585 gfx::Transform(16.1f, 15.3f, 14.3f, 13.7f, 12.2f, 11.4f, 10.4f, 9.8f, 577 gfx::Transform(16.1f, 15.3f, 14.3f, 13.7f, 12.2f, 11.4f, 10.4f, 9.8f,
586 8.1f, 7.3f, 6.3f, 5.7f, 4.8f, 3.4f, 2.4f, 1.2f), 578 8.1f, 7.3f, 6.3f, 5.7f, 4.8f, 3.4f, 2.4f, 1.2f),
587 gfx::Size(1, 2), gfx::Rect(1337, 5679, 9101112, 131415), 579 gfx::Size(1, 2), gfx::Rect(1337, 5679, 9101112, 131415),
588 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkBlendMode::kSrcOver, 1); 580 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkBlendMode::kSrcOver, 1);
589 581
590 SharedQuadState* shared_state_2 = input->CreateAndAppendSharedQuadState(); 582 SharedQuadState* shared_state_2 = input->CreateAndAppendSharedQuadState();
591 shared_state_2->SetAll( 583 shared_state_2->SetAll(
(...skipping 29 matching lines...) Expand all
621 proxy->EchoRenderPass(input->DeepCopy(), &output); 613 proxy->EchoRenderPass(input->DeepCopy(), &output);
622 614
623 EXPECT_EQ(input->quad_list.size(), output->quad_list.size()); 615 EXPECT_EQ(input->quad_list.size(), output->quad_list.size());
624 EXPECT_EQ(input->shared_quad_state_list.size(), 616 EXPECT_EQ(input->shared_quad_state_list.size(),
625 output->shared_quad_state_list.size()); 617 output->shared_quad_state_list.size());
626 EXPECT_EQ(id, output->id); 618 EXPECT_EQ(id, output->id);
627 EXPECT_EQ(output_rect, output->output_rect); 619 EXPECT_EQ(output_rect, output->output_rect);
628 EXPECT_EQ(damage_rect, output->damage_rect); 620 EXPECT_EQ(damage_rect, output->damage_rect);
629 EXPECT_EQ(transform_to_root, output->transform_to_root_target); 621 EXPECT_EQ(transform_to_root, output->transform_to_root_target);
630 EXPECT_EQ(has_transparent_background, output->has_transparent_background); 622 EXPECT_EQ(has_transparent_background, output->has_transparent_background);
623 EXPECT_EQ(filters, output->filters);
624 EXPECT_EQ(background_filters, output->background_filters);
631 625
632 SharedQuadState* out_sqs1 = output->shared_quad_state_list.ElementAt(0); 626 SharedQuadState* out_sqs1 = output->shared_quad_state_list.ElementAt(0);
633 EXPECT_EQ(shared_state_1->quad_to_target_transform, 627 EXPECT_EQ(shared_state_1->quad_to_target_transform,
634 out_sqs1->quad_to_target_transform); 628 out_sqs1->quad_to_target_transform);
635 EXPECT_EQ(shared_state_1->quad_layer_bounds, out_sqs1->quad_layer_bounds); 629 EXPECT_EQ(shared_state_1->quad_layer_bounds, out_sqs1->quad_layer_bounds);
636 EXPECT_EQ(shared_state_1->visible_quad_layer_rect, 630 EXPECT_EQ(shared_state_1->visible_quad_layer_rect,
637 out_sqs1->visible_quad_layer_rect); 631 out_sqs1->visible_quad_layer_rect);
638 EXPECT_EQ(shared_state_1->clip_rect, out_sqs1->clip_rect); 632 EXPECT_EQ(shared_state_1->clip_rect, out_sqs1->clip_rect);
639 EXPECT_EQ(shared_state_1->is_clipped, out_sqs1->is_clipped); 633 EXPECT_EQ(shared_state_1->is_clipped, out_sqs1->is_clipped);
640 EXPECT_EQ(shared_state_1->opacity, out_sqs1->opacity); 634 EXPECT_EQ(shared_state_1->opacity, out_sqs1->opacity);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 674
681 TEST_F(StructTraitsTest, RenderPassWithEmptySharedQuadStateList) { 675 TEST_F(StructTraitsTest, RenderPassWithEmptySharedQuadStateList) {
682 const int id = 3; 676 const int id = 3;
683 const gfx::Rect output_rect(45, 22, 120, 13); 677 const gfx::Rect output_rect(45, 22, 120, 13);
684 const gfx::Transform transform_to_root = 678 const gfx::Transform transform_to_root =
685 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0); 679 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
686 const gfx::Rect damage_rect(56, 123, 19, 43); 680 const gfx::Rect damage_rect(56, 123, 19, 43);
687 const bool has_transparent_background = true; 681 const bool has_transparent_background = true;
688 std::unique_ptr<RenderPass> input = RenderPass::Create(); 682 std::unique_ptr<RenderPass> input = RenderPass::Create();
689 input->SetAll(id, output_rect, damage_rect, transform_to_root, 683 input->SetAll(id, output_rect, damage_rect, transform_to_root,
684 FilterOperations(), FilterOperations(),
690 has_transparent_background); 685 has_transparent_background);
691 686
692 // Unlike the previous test, don't add any quads to the list; we need to 687 // Unlike the previous test, don't add any quads to the list; we need to
693 // verify that the serialization code can deal with that. 688 // verify that the serialization code can deal with that.
694 std::unique_ptr<RenderPass> output; 689 std::unique_ptr<RenderPass> output;
695 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); 690 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
696 proxy->EchoRenderPass(input->DeepCopy(), &output); 691 proxy->EchoRenderPass(input->DeepCopy(), &output);
697 692
698 EXPECT_EQ(input->quad_list.size(), output->quad_list.size()); 693 EXPECT_EQ(input->quad_list.size(), output->quad_list.size());
699 EXPECT_EQ(input->shared_quad_state_list.size(), 694 EXPECT_EQ(input->shared_quad_state_list.size(),
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id()); 919 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id());
925 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id()); 920 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id());
926 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id()); 921 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id());
927 EXPECT_EQ(color_space, out_quad->color_space); 922 EXPECT_EQ(color_space, out_quad->color_space);
928 EXPECT_EQ(resource_offset, out_quad->resource_offset); 923 EXPECT_EQ(resource_offset, out_quad->resource_offset);
929 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier); 924 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier);
930 EXPECT_EQ(bits_per_channel, out_quad->bits_per_channel); 925 EXPECT_EQ(bits_per_channel, out_quad->bits_per_channel);
931 } 926 }
932 927
933 } // namespace cc 928 } // namespace cc
OLDNEW
« no previous file with comments | « cc/ipc/render_pass_struct_traits.cc ('k') | cc/layers/render_surface_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698