OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
870 id1); | 870 id1); |
871 child_resource_provider_->DeleteResource(id1); | 871 child_resource_provider_->DeleteResource(id1); |
872 EXPECT_EQ(1u, child_resource_provider_->num_resources()); | 872 EXPECT_EQ(1u, child_resource_provider_->num_resources()); |
873 EXPECT_TRUE(child_resource_provider_->InUseByConsumer(id1)); | 873 EXPECT_TRUE(child_resource_provider_->InUseByConsumer(id1)); |
874 } | 874 } |
875 | 875 |
876 EXPECT_EQ(0u, child_resource_provider_->num_resources()); | 876 EXPECT_EQ(0u, child_resource_provider_->num_resources()); |
877 resource_provider_->DestroyChild(child_id); | 877 resource_provider_->DestroyChild(child_id); |
878 } | 878 } |
879 | 879 |
880 void MailboxReleased(unsigned sync_point, bool lost_resource) { | |
danakj
2014/08/06 14:13:43
There's EmptyReleaseCallback at the top of this fi
| |
881 } | |
882 | |
883 TEST_P(ResourceProviderTest, AllowOverlayTransfersToParent) { | |
884 if (GetParam() != ResourceProvider::GLTexture) | |
danakj
2014/08/06 14:13:43
Add a comment explaining why please
| |
885 return; | |
886 | |
887 unsigned sync_point = 0; | |
danakj
2014/08/06 14:13:43
nit: can you uint32 for this? someone previously w
| |
888 TextureMailbox mailbox = | |
889 TextureMailbox(gpu::Mailbox::Generate(), GL_TEXTURE_2D, sync_point); | |
danakj
2014/08/06 14:13:43
nit: drop the "= TextureMailbox"
| |
890 mailbox.set_allow_overlay(true); | |
891 scoped_ptr<SingleReleaseCallback> release_callback = | |
892 SingleReleaseCallback::Create(base::Bind(&MailboxReleased)); | |
893 ResourceProvider::ResourceId id1 = | |
894 child_resource_provider_->CreateResourceFromTextureMailbox( | |
895 mailbox, release_callback.Pass()); | |
896 | |
897 TextureMailbox mailbox2 = | |
898 TextureMailbox(gpu::Mailbox::Generate(), GL_TEXTURE_2D, sync_point); | |
899 mailbox2.set_allow_overlay(false); | |
900 scoped_ptr<SingleReleaseCallback> release_callback2 = | |
901 SingleReleaseCallback::Create(base::Bind(&MailboxReleased)); | |
902 ResourceProvider::ResourceId id2 = | |
903 child_resource_provider_->CreateResourceFromTextureMailbox( | |
904 mailbox2, release_callback2.Pass()); | |
905 | |
906 ReturnedResourceArray returned_to_child; | |
907 int child_id = | |
908 resource_provider_->CreateChild(GetReturnCallback(&returned_to_child)); | |
909 | |
910 // Transfer some resources to the parent. | |
911 ResourceProvider::ResourceIdArray resource_ids_to_transfer; | |
912 resource_ids_to_transfer.push_back(id1); | |
913 resource_ids_to_transfer.push_back(id2); | |
914 TransferableResourceArray list; | |
915 child_resource_provider_->PrepareSendToParent(resource_ids_to_transfer, | |
916 &list); | |
917 ASSERT_EQ(2u, list.size()); | |
918 resource_provider_->ReceiveFromChild(child_id, list); | |
919 EXPECT_TRUE(resource_provider_->AllowOverlay(list[0].id)); | |
920 EXPECT_FALSE(resource_provider_->AllowOverlay(list[1].id)); | |
921 | |
922 resource_provider_->DeclareUsedResourcesFromChild( | |
923 child_id, ResourceProvider::ResourceIdArray()); | |
924 | |
925 EXPECT_EQ(2u, returned_to_child.size()); | |
926 child_resource_provider_->ReceiveReturnsFromParent(returned_to_child); | |
927 | |
928 child_resource_provider_->DeleteResource(id1); | |
929 child_resource_provider_->DeleteResource(id2); | |
930 EXPECT_EQ(0u, child_resource_provider_->num_resources()); | |
931 | |
932 resource_provider_->DestroyChild(child_id); | |
933 } | |
934 | |
880 TEST_P(ResourceProviderTest, TransferSoftwareResources) { | 935 TEST_P(ResourceProviderTest, TransferSoftwareResources) { |
881 if (GetParam() != ResourceProvider::Bitmap) | 936 if (GetParam() != ResourceProvider::Bitmap) |
882 return; | 937 return; |
883 | 938 |
884 gfx::Size size(1, 1); | 939 gfx::Size size(1, 1); |
885 ResourceFormat format = RGBA_8888; | 940 ResourceFormat format = RGBA_8888; |
886 size_t pixel_size = TextureSizeBytes(size, format); | 941 size_t pixel_size = TextureSizeBytes(size, format); |
887 ASSERT_EQ(4U, pixel_size); | 942 ASSERT_EQ(4U, pixel_size); |
888 | 943 |
889 ResourceProvider::ResourceId id1 = child_resource_provider_->CreateResource( | 944 ResourceProvider::ResourceId id1 = child_resource_provider_->CreateResource( |
(...skipping 2464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3354 resource_provider->AllocateForTesting(id); | 3409 resource_provider->AllocateForTesting(id); |
3355 Mock::VerifyAndClearExpectations(context); | 3410 Mock::VerifyAndClearExpectations(context); |
3356 | 3411 |
3357 DCHECK_EQ(10u, context->PeekTextureId()); | 3412 DCHECK_EQ(10u, context->PeekTextureId()); |
3358 resource_provider->DeleteResource(id); | 3413 resource_provider->DeleteResource(id); |
3359 } | 3414 } |
3360 } | 3415 } |
3361 | 3416 |
3362 } // namespace | 3417 } // namespace |
3363 } // namespace cc | 3418 } // namespace cc |
OLD | NEW |