diff options
author | reveman <reveman@chromium.org> | 2015-08-18 10:18:51 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-18 17:19:36 +0000 |
commit | af0ab609b53c64ce43172be42e20e7ca8beab497 (patch) | |
tree | ed60dc919d12170d57e64d17a3d2f0471cd3dd15 /cc/resources/resource_provider_unittest.cc | |
parent | 4924118f2dd3246df9f45efd010b590bc8771f8d (diff) | |
download | chromium_src-af0ab609b53c64ce43172be42e20e7ca8beab497.zip chromium_src-af0ab609b53c64ce43172be42e20e7ca8beab497.tar.gz chromium_src-af0ab609b53c64ce43172be42e20e7ca8beab497.tar.bz2 |
Re-land: cc: Use worker context for one-copy tile initialization.
This moves management of staging resources to
OneCopyTileTaskWorkerPool class. This makes it possible
to use a worker context to issue and detect when copy
operations complete.
BUG=490295
TBR=jamesr@chromium.org, sky@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1230203007
Cr-Commit-Position: refs/heads/master@{#343947}
Diffstat (limited to 'cc/resources/resource_provider_unittest.cc')
-rw-r--r-- | cc/resources/resource_provider_unittest.cc | 134 |
1 files changed, 25 insertions, 109 deletions
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc index 4a02e82..7c65b73 100644 --- a/cc/resources/resource_provider_unittest.cc +++ b/cc/resources/resource_provider_unittest.cc @@ -422,11 +422,11 @@ class ResourceProviderTest resource_provider_ = ResourceProvider::Create( output_surface_.get(), shared_bitmap_manager_.get(), gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, - false, 1, false, use_image_texture_targets_); + false, 1, use_image_texture_targets_); child_resource_provider_ = ResourceProvider::Create( child_output_surface_.get(), shared_bitmap_manager_.get(), gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, - false, 1, false, use_image_texture_targets_); + false, 1, use_image_texture_targets_); } ResourceProviderTest() : ResourceProviderTest(true) {} @@ -1378,7 +1378,7 @@ TEST_P(ResourceProviderTest, TransferGLToSoftware) { scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( child_output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); @@ -1863,7 +1863,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { scoped_ptr<ResourceProvider> child_resource_provider( ResourceProvider::Create(child_output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, - false, 1, false, use_image_texture_targets_)); + false, 1, use_image_texture_targets_)); scoped_ptr<TextureStateTrackingContext> parent_context_owned( new TextureStateTrackingContext); @@ -1877,7 +1877,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { scoped_ptr<ResourceProvider> parent_resource_provider( ResourceProvider::Create(parent_output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, - false, 1, false, use_image_texture_targets_)); + false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); ResourceFormat format = RGBA_8888; @@ -2509,7 +2509,7 @@ TEST_P(ResourceProviderTest, ScopedSampler) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); @@ -2592,7 +2592,7 @@ TEST_P(ResourceProviderTest, ManagedResource) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); @@ -2640,7 +2640,7 @@ TEST_P(ResourceProviderTest, TextureWrapMode) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); @@ -2691,7 +2691,7 @@ TEST_P(ResourceProviderTest, TextureHint) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(1, 1); @@ -2757,7 +2757,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, - false, 1, false, use_image_texture_targets_)); + false, 1, use_image_texture_targets_)); uint32 release_sync_point = 0; bool lost_resource = false; @@ -2806,8 +2806,7 @@ class ResourceProviderTestTextureMailboxGLFilters scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager, gpu_memory_buffer_manager, - main_thread_task_runner, 0, false, 1, false, - use_image_texture_targets_)); + main_thread_task_runner, 0, false, 1, use_image_texture_targets_)); unsigned texture_id = 1; uint32 sync_point = 30; @@ -2950,7 +2949,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); uint32 sync_point = 30; @@ -3020,7 +3019,7 @@ TEST_P(ResourceProviderTest, scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); uint32 sync_point = 30; @@ -3074,7 +3073,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); uint32 sync_point = 0; @@ -3195,7 +3194,7 @@ TEST_P(ResourceProviderTest, TextureAllocation) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(2, 2); @@ -3270,7 +3269,7 @@ TEST_P(ResourceProviderTest, TextureAllocationHint) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(2, 2); @@ -3326,7 +3325,7 @@ TEST_P(ResourceProviderTest, TextureAllocationHint_BGRA) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); gfx::Size size(2, 2); @@ -3381,7 +3380,7 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); id = resource_provider->CreateResource( @@ -3424,7 +3423,7 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); id = resource_provider->CreateResource( @@ -3467,7 +3466,7 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); @@ -3508,7 +3507,7 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); id = resource_provider->CreateResource( @@ -3569,89 +3568,6 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { .RetiresOnSaturation(); } -TEST_P(ResourceProviderTest, CopyResource_GLTexture) { - if (GetParam() != ResourceProvider::RESOURCE_TYPE_GL_TEXTURE) - return; - scoped_ptr<AllocationTrackingContext3D> context_owned( - new StrictMock<AllocationTrackingContext3D>); - AllocationTrackingContext3D* context = context_owned.get(); - context_owned->set_support_sync_query(true); - - FakeOutputSurfaceClient output_surface_client; - scoped_ptr<OutputSurface> output_surface( - FakeOutputSurface::Create3d(context_owned.Pass())); - ASSERT_TRUE(output_surface->BindToClient(&output_surface_client)); - - const int kWidth = 2; - const int kHeight = 2; - gfx::Size size(kWidth, kHeight); - ResourceFormat format = RGBA_8888; - ResourceId source_id = 0; - ResourceId dest_id = 0; - const unsigned kSourceTextureId = 123u; - const unsigned kDestTextureId = 321u; - const unsigned kImageId = 234u; - - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( - output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, - std::vector<unsigned>(static_cast<size_t>(gfx::BufferFormat::LAST) + 1, - GL_TEXTURE_2D))); - - source_id = resource_provider->CreateResource( - size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); - - EXPECT_CALL(*context, NextTextureId()) - .WillOnce(Return(kSourceTextureId)) - .RetiresOnSaturation(); - EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kSourceTextureId)) - .Times(1) - .RetiresOnSaturation(); - EXPECT_CALL(*context, createImageCHROMIUM(_, kWidth, kHeight, GL_RGBA)) - .WillOnce(Return(kImageId)) - .RetiresOnSaturation(); - { - ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( - resource_provider.get(), source_id); - EXPECT_TRUE(lock.GetGpuMemoryBuffer()); - } - Mock::VerifyAndClearExpectations(context); - - dest_id = resource_provider->CreateResource( - size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); - - EXPECT_CALL(*context, NextTextureId()) - .WillOnce(Return(kDestTextureId)) - .RetiresOnSaturation(); - EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kDestTextureId)) - .Times(2) - .RetiresOnSaturation(); - EXPECT_CALL(*context, texImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, - GL_UNSIGNED_BYTE, nullptr)) - .Times(1) - .RetiresOnSaturation(); - EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kSourceTextureId)) - .Times(1) - .RetiresOnSaturation(); - EXPECT_CALL(*context, bindTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId)) - .Times(1) - .RetiresOnSaturation(); - resource_provider->CopyResource(source_id, dest_id, gfx::Rect(size)); - Mock::VerifyAndClearExpectations(context); - - EXPECT_CALL(*context, destroyImageCHROMIUM(kImageId)) - .Times(1) - .RetiresOnSaturation(); - EXPECT_CALL(*context, RetireTextureId(kSourceTextureId)) - .Times(1) - .RetiresOnSaturation(); - EXPECT_CALL(*context, RetireTextureId(kDestTextureId)) - .Times(1) - .RetiresOnSaturation(); - resource_provider->DeleteResource(source_id); - resource_provider->DeleteResource(dest_id); -} - TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { if (GetParam() != ResourceProvider::RESOURCE_TYPE_GL_TEXTURE) return; @@ -3669,7 +3585,7 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { gfx::Size size(4, 4); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); int texture_id = 123; @@ -3701,7 +3617,7 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Upload) { gfx::Size size(4, 4); scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager_.get(), - gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, + gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, use_image_texture_targets_)); int texture_id = 123; uint8_t pixels[8]; @@ -3758,7 +3674,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { size_t kTextureAllocationChunkSize = 1; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, - kTextureAllocationChunkSize, false, + kTextureAllocationChunkSize, ResourceProviderTest::use_image_texture_targets())); ResourceId id = resource_provider->CreateResource( @@ -3775,7 +3691,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { size_t kTextureAllocationChunkSize = 8; scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, - kTextureAllocationChunkSize, false, + kTextureAllocationChunkSize, ResourceProviderTest::use_image_texture_targets())); ResourceId id = resource_provider->CreateResource( |