| Index: cc/resources/resource_provider_unittest.cc
|
| diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
|
| index 6e0aaf3498c6cbb5c449407a13b2a476f30f2f3e..e10e01ccdcac04db9c6d429deee0350995bf2e51 100644
|
| --- a/cc/resources/resource_provider_unittest.cc
|
| +++ b/cc/resources/resource_provider_unittest.cc
|
| @@ -22,6 +22,7 @@
|
| #include "cc/test/test_shared_bitmap_manager.h"
|
| #include "cc/test/test_texture.h"
|
| #include "cc/test/test_web_graphics_context_3d.h"
|
| +#include "cc/trees/blocking_task_runner.h"
|
| #include "gpu/GLES2/gl2extchromium.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -39,18 +40,28 @@ using testing::_;
|
| namespace cc {
|
| namespace {
|
|
|
| -static void EmptyReleaseCallback(uint32 sync_point, bool lost_resource) {}
|
| -
|
| -static void SharedMemoryReleaseCallback(scoped_ptr<base::SharedMemory> memory,
|
| - uint32 sync_point,
|
| - bool lost_resource) {}
|
| +static void EmptyReleaseCallback(uint32 sync_point,
|
| + bool lost_resource,
|
| + BlockingTaskRunner* main_thread_task_runner) {
|
| +}
|
|
|
| -static void ReleaseTextureMailbox(uint32* release_sync_point,
|
| - bool* release_lost_resource,
|
| - uint32 sync_point,
|
| - bool lost_resource) {
|
| +static void ReleaseCallback(
|
| + uint32* release_sync_point,
|
| + bool* release_lost_resource,
|
| + BlockingTaskRunner** release_main_thread_task_runner,
|
| + uint32 sync_point,
|
| + bool lost_resource,
|
| + BlockingTaskRunner* main_thread_task_runner) {
|
| *release_sync_point = sync_point;
|
| *release_lost_resource = lost_resource;
|
| + *release_main_thread_task_runner = main_thread_task_runner;
|
| +}
|
| +
|
| +static void SharedMemoryReleaseCallback(
|
| + scoped_ptr<base::SharedMemory> memory,
|
| + uint32 sync_point,
|
| + bool lost_resource,
|
| + BlockingTaskRunner* main_thread_task_runner) {
|
| }
|
|
|
| static void ReleaseSharedMemoryCallback(
|
| @@ -59,7 +70,8 @@ static void ReleaseSharedMemoryCallback(
|
| uint32* release_sync_point,
|
| bool* lost_resource_result,
|
| uint32 sync_point,
|
| - bool lost_resource) {
|
| + bool lost_resource,
|
| + BlockingTaskRunner* main_thread_task_runner) {
|
| *release_called = true;
|
| *release_sync_point = sync_point;
|
| *lost_resource_result = lost_resource;
|
| @@ -368,7 +380,8 @@ class ResourceProviderTest
|
| ResourceProviderTest()
|
| : shared_data_(ContextSharedData::Create()),
|
| context3d_(NULL),
|
| - child_context_(NULL) {
|
| + child_context_(NULL),
|
| + main_thread_task_runner_(BlockingTaskRunner::Create(NULL)) {
|
| switch (GetParam()) {
|
| case ResourceProvider::GLTexture: {
|
| scoped_ptr<ResourceProviderContext> context3d(
|
| @@ -403,20 +416,27 @@ class ResourceProviderTest
|
|
|
| shared_bitmap_manager_.reset(new TestSharedBitmapManager());
|
|
|
| - resource_provider_ = ResourceProvider::Create(
|
| - output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1,
|
| - false);
|
| - child_resource_provider_ = ResourceProvider::Create(
|
| - child_output_surface_.get(),
|
| - shared_bitmap_manager_.get(),
|
| - 0,
|
| - false,
|
| - 1,
|
| - false);
|
| + resource_provider_ =
|
| + ResourceProvider::Create(output_surface_.get(),
|
| + shared_bitmap_manager_.get(),
|
| + main_thread_task_runner_.get(),
|
| + 0,
|
| + false,
|
| + 1,
|
| + false);
|
| + child_resource_provider_ =
|
| + ResourceProvider::Create(child_output_surface_.get(),
|
| + shared_bitmap_manager_.get(),
|
| + main_thread_task_runner_.get(),
|
| + 0,
|
| + false,
|
| + 1,
|
| + false);
|
| }
|
|
|
| static void CollectResources(ReturnedResourceArray* array,
|
| - const ReturnedResourceArray& returned) {
|
| + const ReturnedResourceArray& returned,
|
| + BlockingTaskRunner* main_thread_task_runner) {
|
| array->insert(array->end(), returned.begin(), returned.end());
|
| }
|
|
|
| @@ -447,12 +467,13 @@ class ResourceProviderTest
|
| EXPECT_LT(0u, *sync_point);
|
|
|
| scoped_ptr<base::SharedMemory> shared_memory;
|
| - scoped_ptr<SingleReleaseCallback> callback =
|
| - SingleReleaseCallback::Create(base::Bind(ReleaseSharedMemoryCallback,
|
| - base::Passed(&shared_memory),
|
| - release_called,
|
| - release_sync_point,
|
| - lost_resource));
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(
|
| + base::Bind(ReleaseSharedMemoryCallback,
|
| + base::Passed(&shared_memory),
|
| + release_called,
|
| + release_sync_point,
|
| + lost_resource));
|
| return child_resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(gpu_mailbox, GL_TEXTURE_2D, *sync_point),
|
| callback.Pass());
|
| @@ -462,12 +483,13 @@ class ResourceProviderTest
|
| CreateAndFillSharedMemory(size, 0));
|
|
|
| base::SharedMemory* shared_memory_ptr = shared_memory.get();
|
| - scoped_ptr<SingleReleaseCallback> callback =
|
| - SingleReleaseCallback::Create(base::Bind(ReleaseSharedMemoryCallback,
|
| - base::Passed(&shared_memory),
|
| - release_called,
|
| - release_sync_point,
|
| - lost_resource));
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(
|
| + base::Bind(ReleaseSharedMemoryCallback,
|
| + base::Passed(&shared_memory),
|
| + release_called,
|
| + release_sync_point,
|
| + lost_resource));
|
| return child_resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(shared_memory_ptr, size), callback.Pass());
|
| }
|
| @@ -481,6 +503,7 @@ class ResourceProviderTest
|
| FakeOutputSurfaceClient child_output_surface_client_;
|
| scoped_ptr<OutputSurface> output_surface_;
|
| scoped_ptr<OutputSurface> child_output_surface_;
|
| + scoped_ptr<BlockingTaskRunner> main_thread_task_runner_;
|
| scoped_ptr<ResourceProvider> resource_provider_;
|
| scoped_ptr<ResourceProvider> child_resource_provider_;
|
| scoped_ptr<TestSharedBitmapManager> shared_bitmap_manager_;
|
| @@ -625,7 +648,7 @@ TEST_P(ResourceProviderTest, TransferGLResources) {
|
| child_resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(
|
| external_mailbox, GL_TEXTURE_EXTERNAL_OES, external_sync_point),
|
| - SingleReleaseCallback::Create(base::Bind(&EmptyReleaseCallback)));
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback)));
|
|
|
| ReturnedResourceArray returned_to_child;
|
| int child_id =
|
| @@ -892,16 +915,16 @@ TEST_P(ResourceProviderTest, AllowOverlayTransfersToParent) {
|
| uint32 sync_point = 0;
|
| TextureMailbox mailbox(gpu::Mailbox::Generate(), GL_TEXTURE_2D, sync_point);
|
| mailbox.set_allow_overlay(true);
|
| - scoped_ptr<SingleReleaseCallback> release_callback =
|
| - SingleReleaseCallback::Create(base::Bind(&EmptyReleaseCallback));
|
| + scoped_ptr<SingleReleaseCallbackImpl> release_callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
|
| ResourceProvider::ResourceId id1 =
|
| child_resource_provider_->CreateResourceFromTextureMailbox(
|
| mailbox, release_callback.Pass());
|
|
|
| TextureMailbox mailbox2(gpu::Mailbox::Generate(), GL_TEXTURE_2D, sync_point);
|
| mailbox2.set_allow_overlay(false);
|
| - scoped_ptr<SingleReleaseCallback> release_callback2 =
|
| - SingleReleaseCallback::Create(base::Bind(&EmptyReleaseCallback));
|
| + scoped_ptr<SingleReleaseCallbackImpl> release_callback2 =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
|
| ResourceProvider::ResourceId id2 =
|
| child_resource_provider_->CreateResourceFromTextureMailbox(
|
| mailbox2, release_callback2.Pass());
|
| @@ -973,7 +996,7 @@ TEST_P(ResourceProviderTest, TransferSoftwareResources) {
|
| ResourceProvider::ResourceId id4 =
|
| child_resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(shared_memory_ptr, gfx::Size(1, 1)),
|
| - SingleReleaseCallback::Create(base::Bind(
|
| + SingleReleaseCallbackImpl::Create(base::Bind(
|
| &SharedMemoryReleaseCallback, base::Passed(&shared_memory))));
|
|
|
| ReturnedResourceArray returned_to_child;
|
| @@ -1175,9 +1198,14 @@ TEST_P(ResourceProviderTest, TransferGLToSoftware) {
|
| child_context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(child_output_surface->BindToClient(&child_output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create(
|
| - child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1,
|
| - false));
|
| + scoped_ptr<ResourceProvider> child_resource_provider(
|
| + ResourceProvider::Create(child_output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -1655,6 +1683,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest {
|
| scoped_ptr<ResourceProvider> child_resource_provider(
|
| ResourceProvider::Create(child_output_surface.get(),
|
| shared_bitmap_manager.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| 1,
|
| @@ -1672,6 +1701,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest {
|
| scoped_ptr<ResourceProvider> parent_resource_provider(
|
| ResourceProvider::Create(parent_output_surface.get(),
|
| shared_bitmap_manager.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| 1,
|
| @@ -1842,12 +1872,15 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
|
|
|
| uint32 release_sync_point = 0;
|
| bool lost_resource = false;
|
| - ReleaseCallback callback =
|
| - base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource);
|
| + BlockingTaskRunner* main_thread_task_runner = NULL;
|
| + ReleaseCallbackImpl callback = base::Bind(ReleaseCallback,
|
| + &release_sync_point,
|
| + &lost_resource,
|
| + &main_thread_task_runner);
|
| ResourceProvider::ResourceId resource =
|
| resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point),
|
| - SingleReleaseCallback::Create(callback));
|
| + SingleReleaseCallbackImpl::Create(callback));
|
| EXPECT_EQ(1u, context()->NumTextures());
|
| EXPECT_EQ(0u, release_sync_point);
|
| {
|
| @@ -1888,6 +1921,7 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
|
| resource_provider_->DeleteResource(resource);
|
| EXPECT_LE(list[0].mailbox_holder.sync_point, release_sync_point);
|
| EXPECT_FALSE(lost_resource);
|
| + EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
|
| }
|
|
|
| // We're going to do the same thing as above, but testing the case where we
|
| @@ -1897,7 +1931,7 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
|
| release_sync_point = 0;
|
| resource = resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point),
|
| - SingleReleaseCallback::Create(callback));
|
| + SingleReleaseCallbackImpl::Create(callback));
|
| EXPECT_EQ(1u, context()->NumTextures());
|
| EXPECT_EQ(0u, release_sync_point);
|
| {
|
| @@ -1939,6 +1973,7 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
|
| resource_provider_->ReceiveReturnsFromParent(returned);
|
| EXPECT_LE(list[0].mailbox_holder.sync_point, release_sync_point);
|
| EXPECT_FALSE(lost_resource);
|
| + EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
|
| }
|
|
|
| context()->waitSyncPoint(release_sync_point);
|
| @@ -2260,19 +2295,25 @@ TEST_P(ResourceProviderTest, LostContext) {
|
|
|
| uint32 release_sync_point = 0;
|
| bool lost_resource = false;
|
| - scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
|
| - base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource));
|
| + BlockingTaskRunner* main_thread_task_runner = NULL;
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(ReleaseCallback,
|
| + &release_sync_point,
|
| + &lost_resource,
|
| + &main_thread_task_runner));
|
| resource_provider_->CreateResourceFromTextureMailbox(
|
| TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), callback.Pass());
|
|
|
| EXPECT_EQ(0u, release_sync_point);
|
| EXPECT_FALSE(lost_resource);
|
| + EXPECT_EQ(NULL, main_thread_task_runner);
|
|
|
| resource_provider_->DidLoseOutputSurface();
|
| resource_provider_.reset();
|
|
|
| EXPECT_LE(sync_point, release_sync_point);
|
| EXPECT_TRUE(lost_resource);
|
| + EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
|
| }
|
|
|
| TEST_P(ResourceProviderTest, ScopedSampler) {
|
| @@ -2289,8 +2330,14 @@ TEST_P(ResourceProviderTest, ScopedSampler) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2370,8 +2417,14 @@ TEST_P(ResourceProviderTest, ManagedResource) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2419,8 +2472,14 @@ TEST_P(ResourceProviderTest, TextureWrapMode) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2472,8 +2531,14 @@ TEST_P(ResourceProviderTest, TextureHint) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2539,11 +2604,23 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) {
|
| new SoftwareOutputDevice)));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + main_thread_task_runner_.get(),
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| - scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
|
| - base::Bind(&EmptyReleaseCallback));
|
| + uint32 release_sync_point = 0;
|
| + bool lost_resource = false;
|
| + BlockingTaskRunner* main_thread_task_runner = NULL;
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&ReleaseCallback,
|
| + &release_sync_point,
|
| + &lost_resource,
|
| + &main_thread_task_runner));
|
| TextureMailbox mailbox(shared_memory.get(), size);
|
|
|
| ResourceProvider::ResourceId id =
|
| @@ -2558,6 +2635,11 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) {
|
| EXPECT_EQ(sk_bitmap->height(), size.height());
|
| EXPECT_EQ(*sk_bitmap->getAddr32(16, 16), kBadBeef);
|
| }
|
| +
|
| + resource_provider->DeleteResource(id);
|
| + EXPECT_EQ(0u, release_sync_point);
|
| + EXPECT_FALSE(lost_resource);
|
| + EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
|
| }
|
|
|
| TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) {
|
| @@ -2574,8 +2656,14 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + main_thread_task_runner_.get(),
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| unsigned texture_id = 1;
|
| uint32 sync_point = 30;
|
| @@ -2589,8 +2677,14 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) {
|
|
|
| gpu::Mailbox gpu_mailbox;
|
| memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
|
| - scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
|
| - base::Bind(&EmptyReleaseCallback));
|
| + uint32 release_sync_point = 0;
|
| + bool lost_resource = false;
|
| + BlockingTaskRunner* main_thread_task_runner = NULL;
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&ReleaseCallback,
|
| + &release_sync_point,
|
| + &lost_resource,
|
| + &main_thread_task_runner));
|
|
|
| TextureMailbox mailbox(gpu_mailbox, target, sync_point);
|
|
|
| @@ -2626,6 +2720,11 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) {
|
| EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
|
| EXPECT_CALL(*context, consumeTextureCHROMIUM(_, _)).Times(0);
|
| }
|
| +
|
| + resource_provider->DeleteResource(id);
|
| + EXPECT_EQ(0u, release_sync_point);
|
| + EXPECT_FALSE(lost_resource);
|
| + EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
|
| }
|
|
|
| TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
|
| @@ -2642,8 +2741,14 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| unsigned texture_id = 1;
|
| uint32 sync_point = 30;
|
| @@ -2657,8 +2762,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
|
|
|
| gpu::Mailbox gpu_mailbox;
|
| memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
|
| - scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
|
| - base::Bind(&EmptyReleaseCallback));
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
|
|
|
| TextureMailbox mailbox(gpu_mailbox, target, sync_point);
|
|
|
| @@ -2711,8 +2816,14 @@ TEST_P(ResourceProviderTest,
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| uint32 sync_point = 30;
|
| unsigned target = GL_TEXTURE_2D;
|
| @@ -2725,8 +2836,8 @@ TEST_P(ResourceProviderTest,
|
|
|
| gpu::Mailbox gpu_mailbox;
|
| memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
|
| - scoped_ptr<SingleReleaseCallback> callback =
|
| - SingleReleaseCallback::Create(base::Bind(&EmptyReleaseCallback));
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
|
|
|
| TextureMailbox mailbox(gpu_mailbox, target, sync_point);
|
|
|
| @@ -2764,8 +2875,14 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| uint32 sync_point = 0;
|
| unsigned target = GL_TEXTURE_2D;
|
| @@ -2778,8 +2895,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) {
|
|
|
| gpu::Mailbox gpu_mailbox;
|
| memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
|
| - scoped_ptr<SingleReleaseCallback> callback =
|
| - SingleReleaseCallback::Create(base::Bind(&EmptyReleaseCallback));
|
| + scoped_ptr<SingleReleaseCallbackImpl> callback =
|
| + SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
|
|
|
| TextureMailbox mailbox(gpu_mailbox, target, sync_point);
|
|
|
| @@ -2886,8 +3003,14 @@ TEST_P(ResourceProviderTest, TextureAllocation) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(2, 2);
|
| gfx::Vector2d offset(0, 0);
|
| @@ -2963,8 +3086,14 @@ TEST_P(ResourceProviderTest, TextureAllocationHint) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(2, 2);
|
|
|
| @@ -3017,8 +3146,14 @@ TEST_P(ResourceProviderTest, TextureAllocationHint_BGRA) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| gfx::Size size(2, 2);
|
| const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888};
|
| @@ -3070,8 +3205,14 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3114,8 +3255,14 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3158,8 +3305,14 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id));
|
|
|
| @@ -3198,8 +3351,14 @@ TEST_P(ResourceProviderTest, Image_GLTexture) {
|
| const unsigned kTextureId = 123u;
|
| const unsigned kImageId = 234u;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3284,8 +3443,14 @@ TEST_P(ResourceProviderTest, Image_Bitmap) {
|
| ResourceProvider::ResourceId id = 0;
|
| const uint32_t kBadBeef = 0xbadbeef;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3335,8 +3500,14 @@ TEST_P(ResourceProviderTest, CopyResource_GLTexture) {
|
| const unsigned kDestTextureId = 321u;
|
| const unsigned kImageId = 234u;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| source_id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3408,8 +3579,14 @@ TEST_P(ResourceProviderTest, CopyResource_Bitmap) {
|
| ResourceProvider::ResourceId dest_id = 0;
|
| const uint32_t kBadBeef = 0xbadbeef;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager_.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| source_id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| @@ -3471,8 +3648,14 @@ TEST(ResourceProviderTest, BasicInitializeGLSoftware) {
|
| EXPECT_TRUE(output_surface->BindToClient(&client));
|
| scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
|
| new TestSharedBitmapManager());
|
| - scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| - output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false));
|
| + scoped_ptr<ResourceProvider> resource_provider(
|
| + ResourceProvider::Create(output_surface.get(),
|
| + shared_bitmap_manager.get(),
|
| + NULL,
|
| + 0,
|
| + false,
|
| + 1,
|
| + false));
|
|
|
| CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL);
|
|
|
| @@ -3507,6 +3690,7 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) {
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| shared_bitmap_manager_.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| 1,
|
| @@ -3542,6 +3726,7 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1SetPixels) {
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| shared_bitmap_manager_.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| 1,
|
| @@ -3602,6 +3787,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) {
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| shared_bitmap_manager.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| kTextureAllocationChunkSize,
|
| @@ -3621,6 +3807,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) {
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| shared_bitmap_manager.get(),
|
| + NULL,
|
| 0,
|
| false,
|
| kTextureAllocationChunkSize,
|
|
|