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

Side by Side Diff: cc/resources/resource_provider_unittest.cc

Issue 197883017: SkColorType instead of (deprecated) SkBitmap::Config (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments from #5 Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « cc/resources/resource_provider.cc ('k') | cc/resources/resource_update_controller_unittest.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 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 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 child_resource_provider_->SetPixels(id1, data1, rect, rect, gfx::Vector2d()); 841 child_resource_provider_->SetPixels(id1, data1, rect, rect, gfx::Vector2d());
842 842
843 ResourceProvider::ResourceId id2 = child_resource_provider_->CreateResource( 843 ResourceProvider::ResourceId id2 = child_resource_provider_->CreateResource(
844 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); 844 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
845 uint8_t data2[4] = { 5, 5, 5, 5 }; 845 uint8_t data2[4] = { 5, 5, 5, 5 };
846 child_resource_provider_->SetPixels(id2, data2, rect, rect, gfx::Vector2d()); 846 child_resource_provider_->SetPixels(id2, data2, rect, rect, gfx::Vector2d());
847 847
848 ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResource( 848 ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResource(
849 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); 849 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
850 uint8_t data3[4] = { 6, 7, 8, 9 }; 850 uint8_t data3[4] = { 6, 7, 8, 9 };
851 SkBitmap bitmap3; 851 SkImageInfo info = SkImageInfo::MakeN32Premul(size.width(), size.height());
852 bitmap3.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height());
853 bitmap3.setPixels(data3);
854 SkCanvas* raster_canvas = child_resource_provider_->MapImageRasterBuffer(id3); 852 SkCanvas* raster_canvas = child_resource_provider_->MapImageRasterBuffer(id3);
855 raster_canvas->writePixels(bitmap3, 0, 0); 853 raster_canvas->writePixels(info, data3, info.minRowBytes(), 0, 0);
856 child_resource_provider_->UnmapImageRasterBuffer(id3); 854 child_resource_provider_->UnmapImageRasterBuffer(id3);
857 855
858 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory()); 856 scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
859 shared_memory->CreateAndMapAnonymous(1); 857 shared_memory->CreateAndMapAnonymous(1);
860 base::SharedMemory* shared_memory_ptr = shared_memory.get(); 858 base::SharedMemory* shared_memory_ptr = shared_memory.get();
861 ResourceProvider::ResourceId id4 = 859 ResourceProvider::ResourceId id4 =
862 child_resource_provider_->CreateResourceFromTextureMailbox( 860 child_resource_provider_->CreateResourceFromTextureMailbox(
863 TextureMailbox(shared_memory_ptr, gfx::Size(1, 1)), 861 TextureMailbox(shared_memory_ptr, gfx::Size(1, 1)),
864 SingleReleaseCallback::Create(base::Bind( 862 SingleReleaseCallback::Create(base::Bind(
865 &SharedMemoryReleaseCallback, base::Passed(&shared_memory)))); 863 &SharedMemoryReleaseCallback, base::Passed(&shared_memory))));
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 EXPECT_EQ(0u, returned_to_child[0].sync_point); 953 EXPECT_EQ(0u, returned_to_child[0].sync_point);
956 EXPECT_EQ(0u, returned_to_child[1].sync_point); 954 EXPECT_EQ(0u, returned_to_child[1].sync_point);
957 EXPECT_EQ(0u, returned_to_child[2].sync_point); 955 EXPECT_EQ(0u, returned_to_child[2].sync_point);
958 EXPECT_EQ(0u, returned_to_child[3].sync_point); 956 EXPECT_EQ(0u, returned_to_child[3].sync_point);
959 std::set<ResourceProvider::ResourceId> expected_ids; 957 std::set<ResourceProvider::ResourceId> expected_ids;
960 expected_ids.insert(id1); 958 expected_ids.insert(id1);
961 expected_ids.insert(id2); 959 expected_ids.insert(id2);
962 expected_ids.insert(id3); 960 expected_ids.insert(id3);
963 expected_ids.insert(id4); 961 expected_ids.insert(id4);
964 std::set<ResourceProvider::ResourceId> returned_ids; 962 std::set<ResourceProvider::ResourceId> returned_ids;
965 for(unsigned i = 0; i < 4; i++) 963 for (unsigned i = 0; i < 4; i++)
966 returned_ids.insert(returned_to_child[i].id); 964 returned_ids.insert(returned_to_child[i].id);
967 EXPECT_EQ(expected_ids, returned_ids); 965 EXPECT_EQ(expected_ids, returned_ids);
968 EXPECT_FALSE(returned_to_child[0].lost); 966 EXPECT_FALSE(returned_to_child[0].lost);
969 EXPECT_FALSE(returned_to_child[1].lost); 967 EXPECT_FALSE(returned_to_child[1].lost);
970 EXPECT_FALSE(returned_to_child[2].lost); 968 EXPECT_FALSE(returned_to_child[2].lost);
971 EXPECT_FALSE(returned_to_child[3].lost); 969 EXPECT_FALSE(returned_to_child[3].lost);
972 child_resource_provider_->ReceiveReturnsFromParent(returned_to_child); 970 child_resource_provider_->ReceiveReturnsFromParent(returned_to_child);
973 returned_to_child.clear(); 971 returned_to_child.clear();
974 } 972 }
975 EXPECT_FALSE(child_resource_provider_->InUseByConsumer(id1)); 973 EXPECT_FALSE(child_resource_provider_->InUseByConsumer(id1));
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 EXPECT_EQ(0u, returned_to_child[0].sync_point); 1033 EXPECT_EQ(0u, returned_to_child[0].sync_point);
1036 EXPECT_EQ(0u, returned_to_child[1].sync_point); 1034 EXPECT_EQ(0u, returned_to_child[1].sync_point);
1037 EXPECT_EQ(0u, returned_to_child[2].sync_point); 1035 EXPECT_EQ(0u, returned_to_child[2].sync_point);
1038 EXPECT_EQ(0u, returned_to_child[3].sync_point); 1036 EXPECT_EQ(0u, returned_to_child[3].sync_point);
1039 std::set<ResourceProvider::ResourceId> expected_ids; 1037 std::set<ResourceProvider::ResourceId> expected_ids;
1040 expected_ids.insert(id1); 1038 expected_ids.insert(id1);
1041 expected_ids.insert(id2); 1039 expected_ids.insert(id2);
1042 expected_ids.insert(id3); 1040 expected_ids.insert(id3);
1043 expected_ids.insert(id4); 1041 expected_ids.insert(id4);
1044 std::set<ResourceProvider::ResourceId> returned_ids; 1042 std::set<ResourceProvider::ResourceId> returned_ids;
1045 for(unsigned i = 0; i < 4; i++) 1043 for (unsigned i = 0; i < 4; i++)
1046 returned_ids.insert(returned_to_child[i].id); 1044 returned_ids.insert(returned_to_child[i].id);
1047 EXPECT_EQ(expected_ids, returned_ids); 1045 EXPECT_EQ(expected_ids, returned_ids);
1048 EXPECT_FALSE(returned_to_child[0].lost); 1046 EXPECT_FALSE(returned_to_child[0].lost);
1049 EXPECT_FALSE(returned_to_child[1].lost); 1047 EXPECT_FALSE(returned_to_child[1].lost);
1050 EXPECT_FALSE(returned_to_child[2].lost); 1048 EXPECT_FALSE(returned_to_child[2].lost);
1051 EXPECT_FALSE(returned_to_child[3].lost); 1049 EXPECT_FALSE(returned_to_child[3].lost);
1052 } 1050 }
1053 1051
1054 TEST_P(ResourceProviderTest, TransferSoftwareToNonUber) { 1052 TEST_P(ResourceProviderTest, TransferSoftwareToNonUber) {
1055 // TODO(jbauman): Remove test when shared bitmap manager available 1053 // TODO(jbauman): Remove test when shared bitmap manager available
(...skipping 1781 matching lines...) Expand 10 before | Expand all | Expand 10 after
2837 const uint32_t kBadBeef = 0xbadbeef; 2835 const uint32_t kBadBeef = 0xbadbeef;
2838 2836
2839 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2837 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2840 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); 2838 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
2841 2839
2842 id = resource_provider->CreateResource( 2840 id = resource_provider->CreateResource(
2843 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); 2841 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
2844 resource_provider->AcquirePixelRasterBuffer(id); 2842 resource_provider->AcquirePixelRasterBuffer(id);
2845 2843
2846 SkBitmap bitmap; 2844 SkBitmap bitmap;
2847 bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height()); 2845 bitmap.allocN32Pixels(size.width(), size.height());
2848 bitmap.allocPixels();
2849 *(bitmap.getAddr32(0, 0)) = kBadBeef; 2846 *(bitmap.getAddr32(0, 0)) = kBadBeef;
2850 SkCanvas* canvas = resource_provider->MapPixelRasterBuffer(id); 2847 SkCanvas* canvas = resource_provider->MapPixelRasterBuffer(id);
2851 canvas->writePixels(bitmap, 0, 0); 2848 canvas->writePixels(bitmap, 0, 0);
2852 resource_provider->UnmapPixelRasterBuffer(id); 2849 resource_provider->UnmapPixelRasterBuffer(id);
2853 2850
2854 resource_provider->BeginSetPixels(id); 2851 resource_provider->BeginSetPixels(id);
2855 EXPECT_TRUE(resource_provider->DidSetPixelsComplete(id)); 2852 EXPECT_TRUE(resource_provider->DidSetPixelsComplete(id));
2856 2853
2857 resource_provider->ReleasePixelRasterBuffer(id); 2854 resource_provider->ReleasePixelRasterBuffer(id);
2858 2855
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
3057 ResourceProvider::ResourceId id = 0; 3054 ResourceProvider::ResourceId id = 0;
3058 const uint32_t kBadBeef = 0xbadbeef; 3055 const uint32_t kBadBeef = 0xbadbeef;
3059 3056
3060 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3057 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3061 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); 3058 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
3062 3059
3063 id = resource_provider->CreateResource( 3060 id = resource_provider->CreateResource(
3064 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); 3061 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
3065 3062
3066 SkBitmap bitmap; 3063 SkBitmap bitmap;
3067 bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height()); 3064 bitmap.allocN32Pixels(size.width(), size.height());
3068 bitmap.allocPixels();
3069 *(bitmap.getAddr32(0, 0)) = kBadBeef; 3065 *(bitmap.getAddr32(0, 0)) = kBadBeef;
3070 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(id); 3066 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(id);
3071 ASSERT_TRUE(!!canvas); 3067 ASSERT_TRUE(!!canvas);
3072 canvas->writePixels(bitmap, 0, 0); 3068 canvas->writePixels(bitmap, 0, 0);
3073 resource_provider->UnmapImageRasterBuffer(id); 3069 resource_provider->UnmapImageRasterBuffer(id);
3074 3070
3075 { 3071 {
3076 ResourceProvider::ScopedReadLockSoftware lock(resource_provider.get(), id); 3072 ResourceProvider::ScopedReadLockSoftware lock(resource_provider.get(), id);
3077 const SkBitmap* sk_bitmap = lock.sk_bitmap(); 3073 const SkBitmap* sk_bitmap = lock.sk_bitmap();
3078 EXPECT_EQ(sk_bitmap->width(), size.width()); 3074 EXPECT_EQ(sk_bitmap->width(), size.width());
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
3264 resource_provider->AllocateForTesting(id); 3260 resource_provider->AllocateForTesting(id);
3265 Mock::VerifyAndClearExpectations(context); 3261 Mock::VerifyAndClearExpectations(context);
3266 3262
3267 DCHECK_EQ(10u, context->PeekTextureId()); 3263 DCHECK_EQ(10u, context->PeekTextureId());
3268 resource_provider->DeleteResource(id); 3264 resource_provider->DeleteResource(id);
3269 } 3265 }
3270 } 3266 }
3271 3267
3272 } // namespace 3268 } // namespace
3273 } // namespace cc 3269 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/resource_provider.cc ('k') | cc/resources/resource_update_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698