diff options
author | jbauman <jbauman@chromium.org> | 2014-12-10 16:49:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-11 00:50:57 +0000 |
commit | 9015c8b4419268a35a5c1a0f2afb7a2a2aaff699 (patch) | |
tree | f4ded328bf40fd016058f68be4b4b457bd1eb328 /cc/resources/resource_provider_unittest.cc | |
parent | bcb3fdd69b3a04edf3f48e333ea42a8ec6f0177b (diff) | |
download | chromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.zip chromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.tar.gz chromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.tar.bz2 |
Convert TextureMailbox to use SharedBitmap instead of SharedMemory.
This reduces the amount of conversions between cc::SharedBitmap and base::SharedMemory in the code.
Review URL: https://codereview.chromium.org/791483002
Cr-Commit-Position: refs/heads/master@{#307811}
Diffstat (limited to 'cc/resources/resource_provider_unittest.cc')
-rw-r--r-- | cc/resources/resource_provider_unittest.cc | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc index 2c8ed58..53741ab 100644 --- a/cc/resources/resource_provider_unittest.cc +++ b/cc/resources/resource_provider_unittest.cc @@ -59,15 +59,15 @@ static void ReleaseCallback( *release_main_thread_task_runner = main_thread_task_runner; } -static void SharedMemoryReleaseCallback( - scoped_ptr<base::SharedMemory> memory, +static void SharedBitmapReleaseCallback( + scoped_ptr<SharedBitmap> bitmap, uint32 sync_point, bool lost_resource, BlockingTaskRunner* main_thread_task_runner) { } -static void ReleaseSharedMemoryCallback( - scoped_ptr<base::SharedMemory> shared_memory, +static void ReleaseSharedBitmapCallback( + scoped_ptr<SharedBitmap> shared_bitmap, bool* release_called, uint32* release_sync_point, bool* lost_resource_result, @@ -79,15 +79,16 @@ static void ReleaseSharedMemoryCallback( *lost_resource_result = lost_resource; } -static scoped_ptr<base::SharedMemory> CreateAndFillSharedMemory( +static scoped_ptr<SharedBitmap> CreateAndFillSharedBitmap( + SharedBitmapManager* manager, const gfx::Size& size, uint32_t value) { - scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory); - CHECK(shared_memory->CreateAndMapAnonymous(4 * size.GetArea())); - uint32_t* pixels = reinterpret_cast<uint32_t*>(shared_memory->memory()); + scoped_ptr<SharedBitmap> shared_bitmap = manager->AllocateSharedBitmap(size); + CHECK(shared_bitmap); + uint32_t* pixels = reinterpret_cast<uint32_t*>(shared_bitmap->pixels()); CHECK(pixels); std::fill_n(pixels, size.GetArea(), value); - return shared_memory.Pass(); + return shared_bitmap.Pass(); } class TextureStateTrackingContext : public TestWebGraphicsContext3D { @@ -466,32 +467,26 @@ class ResourceProviderTest *sync_point = child_context_->insertSyncPoint(); EXPECT_LT(0u, *sync_point); - scoped_ptr<base::SharedMemory> shared_memory; + scoped_ptr<SharedBitmap> shared_bitmap; scoped_ptr<SingleReleaseCallbackImpl> callback = - SingleReleaseCallbackImpl::Create( - base::Bind(ReleaseSharedMemoryCallback, - base::Passed(&shared_memory), - release_called, - release_sync_point, - lost_resource)); + SingleReleaseCallbackImpl::Create(base::Bind( + ReleaseSharedBitmapCallback, base::Passed(&shared_bitmap), + release_called, release_sync_point, lost_resource)); return child_resource_provider_->CreateResourceFromTextureMailbox( TextureMailbox(gpu_mailbox, GL_TEXTURE_2D, *sync_point), callback.Pass()); } else { gfx::Size size(64, 64); - scoped_ptr<base::SharedMemory> shared_memory( - CreateAndFillSharedMemory(size, 0)); + scoped_ptr<SharedBitmap> shared_bitmap( + CreateAndFillSharedBitmap(shared_bitmap_manager_.get(), size, 0)); - base::SharedMemory* shared_memory_ptr = shared_memory.get(); + SharedBitmap* shared_bitmap_ptr = shared_bitmap.get(); scoped_ptr<SingleReleaseCallbackImpl> callback = - SingleReleaseCallbackImpl::Create( - base::Bind(ReleaseSharedMemoryCallback, - base::Passed(&shared_memory), - release_called, - release_sync_point, - lost_resource)); + SingleReleaseCallbackImpl::Create(base::Bind( + ReleaseSharedBitmapCallback, base::Passed(&shared_bitmap), + release_called, release_sync_point, lost_resource)); return child_resource_provider_->CreateResourceFromTextureMailbox( - TextureMailbox(shared_memory_ptr, size), callback.Pass()); + TextureMailbox(shared_bitmap_ptr, size), callback.Pass()); } } @@ -982,14 +977,14 @@ TEST_P(ResourceProviderTest, TransferSoftwareResources) { uint8_t data2[4] = { 5, 5, 5, 5 }; child_resource_provider_->SetPixels(id2, data2, rect, rect, gfx::Vector2d()); - scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory()); - shared_memory->CreateAndMapAnonymous(1); - base::SharedMemory* shared_memory_ptr = shared_memory.get(); + scoped_ptr<SharedBitmap> shared_bitmap(CreateAndFillSharedBitmap( + shared_bitmap_manager_.get(), gfx::Size(1, 1), 0)); + SharedBitmap* shared_bitmap_ptr = shared_bitmap.get(); ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResourceFromTextureMailbox( - TextureMailbox(shared_memory_ptr, gfx::Size(1, 1)), + TextureMailbox(shared_bitmap_ptr, gfx::Size(1, 1)), SingleReleaseCallbackImpl::Create(base::Bind( - &SharedMemoryReleaseCallback, base::Passed(&shared_memory)))); + &SharedBitmapReleaseCallback, base::Passed(&shared_bitmap)))); ReturnedResourceArray returned_to_child; int child_id = @@ -2556,8 +2551,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { gfx::Size size(64, 64); const uint32_t kBadBeef = 0xbadbeef; - scoped_ptr<base::SharedMemory> shared_memory( - CreateAndFillSharedMemory(size, kBadBeef)); + scoped_ptr<SharedBitmap> shared_bitmap( + CreateAndFillSharedBitmap(shared_bitmap_manager_.get(), size, kBadBeef)); FakeOutputSurfaceClient output_surface_client; scoped_ptr<OutputSurface> output_surface( @@ -2582,7 +2577,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { &release_sync_point, &lost_resource, &main_thread_task_runner)); - TextureMailbox mailbox(shared_memory.get(), size); + TextureMailbox mailbox(shared_bitmap.get(), size); ResourceProvider::ResourceId id = resource_provider->CreateResourceFromTextureMailbox( |