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

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

Issue 2693723002: cc: Move output color space from DrawingFrame to RenderPass (Closed)
Patch Set: Fix typo Created 3 years, 10 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
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/output/copy_output_result.h" 8 #include "cc/output/copy_output_result.h"
9 #include "cc/quads/debug_border_draw_quad.h" 9 #include "cc/quads/debug_border_draw_quad.h"
10 #include "cc/quads/render_pass.h" 10 #include "cc/quads/render_pass.h"
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 const gfx::Transform transform_to_root = 670 const gfx::Transform transform_to_root =
671 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0); 671 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
672 const gfx::Rect damage_rect(56, 123, 19, 43); 672 const gfx::Rect damage_rect(56, 123, 19, 43);
673 FilterOperations filters; 673 FilterOperations filters;
674 filters.Append(FilterOperation::CreateBlurFilter(0.f)); 674 filters.Append(FilterOperation::CreateBlurFilter(0.f));
675 filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1)); 675 filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
676 FilterOperations background_filters; 676 FilterOperations background_filters;
677 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f)); 677 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f));
678 background_filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1)); 678 background_filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1));
679 background_filters.Append(FilterOperation::CreateSaturateFilter(2.f)); 679 background_filters.Append(FilterOperation::CreateSaturateFilter(2.f));
680 gfx::ColorSpace color_space = gfx::ColorSpace::CreateXYZD50();
680 const bool has_transparent_background = true; 681 const bool has_transparent_background = true;
681 std::unique_ptr<RenderPass> input = RenderPass::Create(); 682 std::unique_ptr<RenderPass> input = RenderPass::Create();
682 input->SetAll(id, output_rect, damage_rect, transform_to_root, filters, 683 input->SetAll(id, output_rect, damage_rect, transform_to_root, filters,
683 background_filters, has_transparent_background); 684 background_filters, color_space, has_transparent_background);
684 685
685 SharedQuadState* shared_state_1 = input->CreateAndAppendSharedQuadState(); 686 SharedQuadState* shared_state_1 = input->CreateAndAppendSharedQuadState();
686 shared_state_1->SetAll( 687 shared_state_1->SetAll(
687 gfx::Transform(16.1f, 15.3f, 14.3f, 13.7f, 12.2f, 11.4f, 10.4f, 9.8f, 688 gfx::Transform(16.1f, 15.3f, 14.3f, 13.7f, 12.2f, 11.4f, 10.4f, 9.8f,
688 8.1f, 7.3f, 6.3f, 5.7f, 4.8f, 3.4f, 2.4f, 1.2f), 689 8.1f, 7.3f, 6.3f, 5.7f, 4.8f, 3.4f, 2.4f, 1.2f),
689 gfx::Size(1, 2), gfx::Rect(1337, 5679, 9101112, 131415), 690 gfx::Size(1, 2), gfx::Rect(1337, 5679, 9101112, 131415),
690 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkBlendMode::kSrcOver, 1); 691 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkBlendMode::kSrcOver, 1);
691 692
692 SharedQuadState* shared_state_2 = input->CreateAndAppendSharedQuadState(); 693 SharedQuadState* shared_state_2 = input->CreateAndAppendSharedQuadState();
693 shared_state_2->SetAll( 694 shared_state_2->SetAll(
(...skipping 28 matching lines...) Expand all
722 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); 723 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
723 proxy->EchoRenderPass(input->DeepCopy(), &output); 724 proxy->EchoRenderPass(input->DeepCopy(), &output);
724 725
725 EXPECT_EQ(input->quad_list.size(), output->quad_list.size()); 726 EXPECT_EQ(input->quad_list.size(), output->quad_list.size());
726 EXPECT_EQ(input->shared_quad_state_list.size(), 727 EXPECT_EQ(input->shared_quad_state_list.size(),
727 output->shared_quad_state_list.size()); 728 output->shared_quad_state_list.size());
728 EXPECT_EQ(id, output->id); 729 EXPECT_EQ(id, output->id);
729 EXPECT_EQ(output_rect, output->output_rect); 730 EXPECT_EQ(output_rect, output->output_rect);
730 EXPECT_EQ(damage_rect, output->damage_rect); 731 EXPECT_EQ(damage_rect, output->damage_rect);
731 EXPECT_EQ(transform_to_root, output->transform_to_root_target); 732 EXPECT_EQ(transform_to_root, output->transform_to_root_target);
733 EXPECT_EQ(color_space, output->color_space);
732 EXPECT_EQ(has_transparent_background, output->has_transparent_background); 734 EXPECT_EQ(has_transparent_background, output->has_transparent_background);
733 EXPECT_EQ(filters, output->filters); 735 EXPECT_EQ(filters, output->filters);
734 EXPECT_EQ(background_filters, output->background_filters); 736 EXPECT_EQ(background_filters, output->background_filters);
735 737
736 SharedQuadState* out_sqs1 = output->shared_quad_state_list.ElementAt(0); 738 SharedQuadState* out_sqs1 = output->shared_quad_state_list.ElementAt(0);
737 EXPECT_EQ(shared_state_1->quad_to_target_transform, 739 EXPECT_EQ(shared_state_1->quad_to_target_transform,
738 out_sqs1->quad_to_target_transform); 740 out_sqs1->quad_to_target_transform);
739 EXPECT_EQ(shared_state_1->quad_layer_bounds, out_sqs1->quad_layer_bounds); 741 EXPECT_EQ(shared_state_1->quad_layer_bounds, out_sqs1->quad_layer_bounds);
740 EXPECT_EQ(shared_state_1->visible_quad_layer_rect, 742 EXPECT_EQ(shared_state_1->visible_quad_layer_rect,
741 out_sqs1->visible_quad_layer_rect); 743 out_sqs1->visible_quad_layer_rect);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 EXPECT_EQ(surface_quad->visible_rect, out_surface_quad->visible_rect); 783 EXPECT_EQ(surface_quad->visible_rect, out_surface_quad->visible_rect);
782 EXPECT_EQ(surface_quad->surface_id, out_surface_quad->surface_id); 784 EXPECT_EQ(surface_quad->surface_id, out_surface_quad->surface_id);
783 } 785 }
784 786
785 TEST_F(StructTraitsTest, RenderPassWithEmptySharedQuadStateList) { 787 TEST_F(StructTraitsTest, RenderPassWithEmptySharedQuadStateList) {
786 const int id = 3; 788 const int id = 3;
787 const gfx::Rect output_rect(45, 22, 120, 13); 789 const gfx::Rect output_rect(45, 22, 120, 13);
788 const gfx::Transform transform_to_root = 790 const gfx::Transform transform_to_root =
789 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0); 791 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
790 const gfx::Rect damage_rect(56, 123, 19, 43); 792 const gfx::Rect damage_rect(56, 123, 19, 43);
793 gfx::ColorSpace color_space = gfx::ColorSpace::CreateSCRGBLinear();
791 const bool has_transparent_background = true; 794 const bool has_transparent_background = true;
792 std::unique_ptr<RenderPass> input = RenderPass::Create(); 795 std::unique_ptr<RenderPass> input = RenderPass::Create();
793 input->SetAll(id, output_rect, damage_rect, transform_to_root, 796 input->SetAll(id, output_rect, damage_rect, transform_to_root,
794 FilterOperations(), FilterOperations(), 797 FilterOperations(), FilterOperations(), color_space,
795 has_transparent_background); 798 has_transparent_background);
796 799
797 // Unlike the previous test, don't add any quads to the list; we need to 800 // Unlike the previous test, don't add any quads to the list; we need to
798 // verify that the serialization code can deal with that. 801 // verify that the serialization code can deal with that.
799 std::unique_ptr<RenderPass> output; 802 std::unique_ptr<RenderPass> output;
800 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); 803 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
801 proxy->EchoRenderPass(input->DeepCopy(), &output); 804 proxy->EchoRenderPass(input->DeepCopy(), &output);
802 805
803 EXPECT_EQ(input->quad_list.size(), output->quad_list.size()); 806 EXPECT_EQ(input->quad_list.size(), output->quad_list.size());
804 EXPECT_EQ(input->shared_quad_state_list.size(), 807 EXPECT_EQ(input->shared_quad_state_list.size(),
805 output->shared_quad_state_list.size()); 808 output->shared_quad_state_list.size());
806 EXPECT_EQ(id, output->id); 809 EXPECT_EQ(id, output->id);
807 EXPECT_EQ(output_rect, output->output_rect); 810 EXPECT_EQ(output_rect, output->output_rect);
808 EXPECT_EQ(damage_rect, output->damage_rect); 811 EXPECT_EQ(damage_rect, output->damage_rect);
809 EXPECT_EQ(transform_to_root, output->transform_to_root_target); 812 EXPECT_EQ(transform_to_root, output->transform_to_root_target);
810 EXPECT_EQ(has_transparent_background, output->has_transparent_background); 813 EXPECT_EQ(has_transparent_background, output->has_transparent_background);
814 EXPECT_EQ(color_space, output->color_space);
811 } 815 }
812 816
813 TEST_F(StructTraitsTest, ReturnedResource) { 817 TEST_F(StructTraitsTest, ReturnedResource) {
814 const uint32_t id = 1337; 818 const uint32_t id = 1337;
815 const gpu::CommandBufferNamespace command_buffer_namespace = gpu::IN_PROCESS; 819 const gpu::CommandBufferNamespace command_buffer_namespace = gpu::IN_PROCESS;
816 const int32_t extra_data_field = 0xbeefbeef; 820 const int32_t extra_data_field = 0xbeefbeef;
817 const gpu::CommandBufferId command_buffer_id( 821 const gpu::CommandBufferId command_buffer_id(
818 gpu::CommandBufferId::FromUnsafeValue(0xdeadbeef)); 822 gpu::CommandBufferId::FromUnsafeValue(0xdeadbeef));
819 const uint64_t release_count = 0xdeadbeefdead; 823 const uint64_t release_count = 0xdeadbeefdead;
820 const gpu::SyncToken sync_token(command_buffer_namespace, extra_data_field, 824 const gpu::SyncToken sync_token(command_buffer_namespace, extra_data_field,
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id()); 1086 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id());
1083 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id()); 1087 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id());
1084 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id()); 1088 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id());
1085 EXPECT_EQ(color_space, out_quad->color_space); 1089 EXPECT_EQ(color_space, out_quad->color_space);
1086 EXPECT_EQ(resource_offset, out_quad->resource_offset); 1090 EXPECT_EQ(resource_offset, out_quad->resource_offset);
1087 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier); 1091 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier);
1088 EXPECT_EQ(bits_per_channel, out_quad->bits_per_channel); 1092 EXPECT_EQ(bits_per_channel, out_quad->bits_per_channel);
1089 } 1093 }
1090 1094
1091 } // namespace cc 1095 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698