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