| 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 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 context3d_(NULL), | 382 context3d_(NULL), |
| 383 child_context_(NULL), | 383 child_context_(NULL), |
| 384 main_thread_task_runner_(BlockingTaskRunner::Create(NULL)) { | 384 main_thread_task_runner_(BlockingTaskRunner::Create(NULL)) { |
| 385 switch (GetParam()) { | 385 switch (GetParam()) { |
| 386 case ResourceProvider::GLTexture: { | 386 case ResourceProvider::GLTexture: { |
| 387 scoped_ptr<ResourceProviderContext> context3d( | 387 scoped_ptr<ResourceProviderContext> context3d( |
| 388 ResourceProviderContext::Create(shared_data_.get())); | 388 ResourceProviderContext::Create(shared_data_.get())); |
| 389 context3d_ = context3d.get(); | 389 context3d_ = context3d.get(); |
| 390 | 390 |
| 391 scoped_refptr<TestContextProvider> context_provider = | 391 scoped_refptr<TestContextProvider> context_provider = |
| 392 TestContextProvider::Create( | 392 TestContextProvider::Create(context3d.Pass()); |
| 393 context3d.PassAs<TestWebGraphicsContext3D>()); | |
| 394 | 393 |
| 395 output_surface_ = FakeOutputSurface::Create3d(context_provider); | 394 output_surface_ = FakeOutputSurface::Create3d(context_provider); |
| 396 | 395 |
| 397 scoped_ptr<ResourceProviderContext> child_context_owned = | 396 scoped_ptr<ResourceProviderContext> child_context_owned = |
| 398 ResourceProviderContext::Create(shared_data_.get()); | 397 ResourceProviderContext::Create(shared_data_.get()); |
| 399 child_context_ = child_context_owned.get(); | 398 child_context_ = child_context_owned.get(); |
| 400 child_output_surface_ = FakeOutputSurface::Create3d( | 399 child_output_surface_ = |
| 401 child_context_owned.PassAs<TestWebGraphicsContext3D>()); | 400 FakeOutputSurface::Create3d(child_context_owned.Pass()); |
| 402 break; | 401 break; |
| 403 } | 402 } |
| 404 case ResourceProvider::Bitmap: | 403 case ResourceProvider::Bitmap: |
| 405 output_surface_ = FakeOutputSurface::CreateSoftware( | 404 output_surface_ = FakeOutputSurface::CreateSoftware( |
| 406 make_scoped_ptr(new SoftwareOutputDevice)); | 405 make_scoped_ptr(new SoftwareOutputDevice)); |
| 407 child_output_surface_ = FakeOutputSurface::CreateSoftware( | 406 child_output_surface_ = FakeOutputSurface::CreateSoftware( |
| 408 make_scoped_ptr(new SoftwareOutputDevice)); | 407 make_scoped_ptr(new SoftwareOutputDevice)); |
| 409 break; | 408 break; |
| 410 case ResourceProvider::InvalidType: | 409 case ResourceProvider::InvalidType: |
| 411 NOTREACHED(); | 410 NOTREACHED(); |
| (...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1146 } | 1145 } |
| 1147 | 1146 |
| 1148 TEST_P(ResourceProviderTest, TransferGLToSoftware) { | 1147 TEST_P(ResourceProviderTest, TransferGLToSoftware) { |
| 1149 if (GetParam() != ResourceProvider::Bitmap) | 1148 if (GetParam() != ResourceProvider::Bitmap) |
| 1150 return; | 1149 return; |
| 1151 | 1150 |
| 1152 scoped_ptr<ResourceProviderContext> child_context_owned( | 1151 scoped_ptr<ResourceProviderContext> child_context_owned( |
| 1153 ResourceProviderContext::Create(shared_data_.get())); | 1152 ResourceProviderContext::Create(shared_data_.get())); |
| 1154 | 1153 |
| 1155 FakeOutputSurfaceClient child_output_surface_client; | 1154 FakeOutputSurfaceClient child_output_surface_client; |
| 1156 scoped_ptr<OutputSurface> child_output_surface(FakeOutputSurface::Create3d( | 1155 scoped_ptr<OutputSurface> child_output_surface( |
| 1157 child_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1156 FakeOutputSurface::Create3d(child_context_owned.Pass())); |
| 1158 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); | 1157 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); |
| 1159 | 1158 |
| 1160 scoped_ptr<ResourceProvider> child_resource_provider( | 1159 scoped_ptr<ResourceProvider> child_resource_provider( |
| 1161 ResourceProvider::Create(child_output_surface.get(), | 1160 ResourceProvider::Create(child_output_surface.get(), |
| 1162 shared_bitmap_manager_.get(), | 1161 shared_bitmap_manager_.get(), |
| 1163 NULL, | 1162 NULL, |
| 1164 0, | 1163 0, |
| 1165 false, | 1164 false, |
| 1166 1, | 1165 1, |
| 1167 false)); | 1166 false)); |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1449 EXPECT_EQ(1u, resource_provider_->num_resources()); | 1448 EXPECT_EQ(1u, resource_provider_->num_resources()); |
| 1450 ASSERT_EQ(1u, returned_to_child.size()); | 1449 ASSERT_EQ(1u, returned_to_child.size()); |
| 1451 if (GetParam() == ResourceProvider::GLTexture) { | 1450 if (GetParam() == ResourceProvider::GLTexture) { |
| 1452 EXPECT_NE(0u, returned_to_child[0].sync_point); | 1451 EXPECT_NE(0u, returned_to_child[0].sync_point); |
| 1453 } | 1452 } |
| 1454 EXPECT_FALSE(returned_to_child[0].lost); | 1453 EXPECT_FALSE(returned_to_child[0].lost); |
| 1455 returned_to_child.clear(); | 1454 returned_to_child.clear(); |
| 1456 | 1455 |
| 1457 // Destroy the parent resource provider. The resource that's left should be | 1456 // Destroy the parent resource provider. The resource that's left should be |
| 1458 // lost at this point, and returned. | 1457 // lost at this point, and returned. |
| 1459 resource_provider_.reset(); | 1458 resource_provider_ = nullptr; |
| 1460 ASSERT_EQ(1u, returned_to_child.size()); | 1459 ASSERT_EQ(1u, returned_to_child.size()); |
| 1461 if (GetParam() == ResourceProvider::GLTexture) { | 1460 if (GetParam() == ResourceProvider::GLTexture) { |
| 1462 EXPECT_NE(0u, returned_to_child[0].sync_point); | 1461 EXPECT_NE(0u, returned_to_child[0].sync_point); |
| 1463 } | 1462 } |
| 1464 EXPECT_TRUE(returned_to_child[0].lost); | 1463 EXPECT_TRUE(returned_to_child[0].lost); |
| 1465 } | 1464 } |
| 1466 } | 1465 } |
| 1467 | 1466 |
| 1468 TEST_P(ResourceProviderTest, DeleteTransferredResources) { | 1467 TEST_P(ResourceProviderTest, DeleteTransferredResources) { |
| 1469 gfx::Size size(1, 1); | 1468 gfx::Size size(1, 1); |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1626 } | 1625 } |
| 1627 | 1626 |
| 1628 class ResourceProviderTestTextureFilters : public ResourceProviderTest { | 1627 class ResourceProviderTestTextureFilters : public ResourceProviderTest { |
| 1629 public: | 1628 public: |
| 1630 static void RunTest(GLenum child_filter, GLenum parent_filter) { | 1629 static void RunTest(GLenum child_filter, GLenum parent_filter) { |
| 1631 scoped_ptr<TextureStateTrackingContext> child_context_owned( | 1630 scoped_ptr<TextureStateTrackingContext> child_context_owned( |
| 1632 new TextureStateTrackingContext); | 1631 new TextureStateTrackingContext); |
| 1633 TextureStateTrackingContext* child_context = child_context_owned.get(); | 1632 TextureStateTrackingContext* child_context = child_context_owned.get(); |
| 1634 | 1633 |
| 1635 FakeOutputSurfaceClient child_output_surface_client; | 1634 FakeOutputSurfaceClient child_output_surface_client; |
| 1636 scoped_ptr<OutputSurface> child_output_surface(FakeOutputSurface::Create3d( | 1635 scoped_ptr<OutputSurface> child_output_surface( |
| 1637 child_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1636 FakeOutputSurface::Create3d(child_context_owned.Pass())); |
| 1638 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); | 1637 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); |
| 1639 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 1638 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
| 1640 new TestSharedBitmapManager()); | 1639 new TestSharedBitmapManager()); |
| 1641 | 1640 |
| 1642 scoped_ptr<ResourceProvider> child_resource_provider( | 1641 scoped_ptr<ResourceProvider> child_resource_provider( |
| 1643 ResourceProvider::Create(child_output_surface.get(), | 1642 ResourceProvider::Create(child_output_surface.get(), |
| 1644 shared_bitmap_manager.get(), | 1643 shared_bitmap_manager.get(), |
| 1645 NULL, | 1644 NULL, |
| 1646 0, | 1645 0, |
| 1647 false, | 1646 false, |
| 1648 1, | 1647 1, |
| 1649 false)); | 1648 false)); |
| 1650 | 1649 |
| 1651 scoped_ptr<TextureStateTrackingContext> parent_context_owned( | 1650 scoped_ptr<TextureStateTrackingContext> parent_context_owned( |
| 1652 new TextureStateTrackingContext); | 1651 new TextureStateTrackingContext); |
| 1653 TextureStateTrackingContext* parent_context = parent_context_owned.get(); | 1652 TextureStateTrackingContext* parent_context = parent_context_owned.get(); |
| 1654 | 1653 |
| 1655 FakeOutputSurfaceClient parent_output_surface_client; | 1654 FakeOutputSurfaceClient parent_output_surface_client; |
| 1656 scoped_ptr<OutputSurface> parent_output_surface(FakeOutputSurface::Create3d( | 1655 scoped_ptr<OutputSurface> parent_output_surface( |
| 1657 parent_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1656 FakeOutputSurface::Create3d(parent_context_owned.Pass())); |
| 1658 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); | 1657 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); |
| 1659 | 1658 |
| 1660 scoped_ptr<ResourceProvider> parent_resource_provider( | 1659 scoped_ptr<ResourceProvider> parent_resource_provider( |
| 1661 ResourceProvider::Create(parent_output_surface.get(), | 1660 ResourceProvider::Create(parent_output_surface.get(), |
| 1662 shared_bitmap_manager.get(), | 1661 shared_bitmap_manager.get(), |
| 1663 NULL, | 1662 NULL, |
| 1664 0, | 1663 0, |
| 1665 false, | 1664 false, |
| 1666 1, | 1665 1, |
| 1667 false)); | 1666 false)); |
| (...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2198 uint32 release_sync_point = 0; | 2197 uint32 release_sync_point = 0; |
| 2199 bool lost_resource = false; | 2198 bool lost_resource = false; |
| 2200 bool release_called = false; | 2199 bool release_called = false; |
| 2201 uint32 sync_point = 0; | 2200 uint32 sync_point = 0; |
| 2202 CreateChildMailbox( | 2201 CreateChildMailbox( |
| 2203 &release_sync_point, &lost_resource, &release_called, &sync_point); | 2202 &release_sync_point, &lost_resource, &release_called, &sync_point); |
| 2204 | 2203 |
| 2205 EXPECT_EQ(0u, release_sync_point); | 2204 EXPECT_EQ(0u, release_sync_point); |
| 2206 EXPECT_FALSE(lost_resource); | 2205 EXPECT_FALSE(lost_resource); |
| 2207 | 2206 |
| 2208 child_resource_provider_.reset(); | 2207 child_resource_provider_ = nullptr; |
| 2209 | 2208 |
| 2210 if (GetParam() == ResourceProvider::GLTexture) { | 2209 if (GetParam() == ResourceProvider::GLTexture) { |
| 2211 EXPECT_LE(sync_point, release_sync_point); | 2210 EXPECT_LE(sync_point, release_sync_point); |
| 2212 } | 2211 } |
| 2213 EXPECT_TRUE(release_called); | 2212 EXPECT_TRUE(release_called); |
| 2214 EXPECT_FALSE(lost_resource); | 2213 EXPECT_FALSE(lost_resource); |
| 2215 } | 2214 } |
| 2216 | 2215 |
| 2217 TEST_P(ResourceProviderTest, ShutdownWithExportedResource) { | 2216 TEST_P(ResourceProviderTest, ShutdownWithExportedResource) { |
| 2218 uint32 release_sync_point = 0; | 2217 uint32 release_sync_point = 0; |
| 2219 bool lost_resource = false; | 2218 bool lost_resource = false; |
| 2220 bool release_called = false; | 2219 bool release_called = false; |
| 2221 uint32 sync_point = 0; | 2220 uint32 sync_point = 0; |
| 2222 ResourceProvider::ResourceId resource = CreateChildMailbox( | 2221 ResourceProvider::ResourceId resource = CreateChildMailbox( |
| 2223 &release_sync_point, &lost_resource, &release_called, &sync_point); | 2222 &release_sync_point, &lost_resource, &release_called, &sync_point); |
| 2224 | 2223 |
| 2225 // Transfer the resource, so we can't release it properly on shutdown. | 2224 // Transfer the resource, so we can't release it properly on shutdown. |
| 2226 ResourceProvider::ResourceIdArray resource_ids_to_transfer; | 2225 ResourceProvider::ResourceIdArray resource_ids_to_transfer; |
| 2227 resource_ids_to_transfer.push_back(resource); | 2226 resource_ids_to_transfer.push_back(resource); |
| 2228 TransferableResourceArray list; | 2227 TransferableResourceArray list; |
| 2229 child_resource_provider_->PrepareSendToParent(resource_ids_to_transfer, | 2228 child_resource_provider_->PrepareSendToParent(resource_ids_to_transfer, |
| 2230 &list); | 2229 &list); |
| 2231 | 2230 |
| 2232 EXPECT_EQ(0u, release_sync_point); | 2231 EXPECT_EQ(0u, release_sync_point); |
| 2233 EXPECT_FALSE(lost_resource); | 2232 EXPECT_FALSE(lost_resource); |
| 2234 | 2233 |
| 2235 child_resource_provider_.reset(); | 2234 child_resource_provider_ = nullptr; |
| 2236 | 2235 |
| 2237 // Since the resource is in the parent, the child considers it lost. | 2236 // Since the resource is in the parent, the child considers it lost. |
| 2238 EXPECT_EQ(0u, release_sync_point); | 2237 EXPECT_EQ(0u, release_sync_point); |
| 2239 EXPECT_TRUE(lost_resource); | 2238 EXPECT_TRUE(lost_resource); |
| 2240 } | 2239 } |
| 2241 | 2240 |
| 2242 TEST_P(ResourceProviderTest, LostContext) { | 2241 TEST_P(ResourceProviderTest, LostContext) { |
| 2243 // TextureMailbox callbacks only exist for GL textures for now. | 2242 // TextureMailbox callbacks only exist for GL textures for now. |
| 2244 if (GetParam() != ResourceProvider::GLTexture) | 2243 if (GetParam() != ResourceProvider::GLTexture) |
| 2245 return; | 2244 return; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 2261 &lost_resource, | 2260 &lost_resource, |
| 2262 &main_thread_task_runner)); | 2261 &main_thread_task_runner)); |
| 2263 resource_provider_->CreateResourceFromTextureMailbox( | 2262 resource_provider_->CreateResourceFromTextureMailbox( |
| 2264 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), callback.Pass()); | 2263 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), callback.Pass()); |
| 2265 | 2264 |
| 2266 EXPECT_EQ(0u, release_sync_point); | 2265 EXPECT_EQ(0u, release_sync_point); |
| 2267 EXPECT_FALSE(lost_resource); | 2266 EXPECT_FALSE(lost_resource); |
| 2268 EXPECT_EQ(NULL, main_thread_task_runner); | 2267 EXPECT_EQ(NULL, main_thread_task_runner); |
| 2269 | 2268 |
| 2270 resource_provider_->DidLoseOutputSurface(); | 2269 resource_provider_->DidLoseOutputSurface(); |
| 2271 resource_provider_.reset(); | 2270 resource_provider_ = nullptr; |
| 2272 | 2271 |
| 2273 EXPECT_LE(sync_point, release_sync_point); | 2272 EXPECT_LE(sync_point, release_sync_point); |
| 2274 EXPECT_TRUE(lost_resource); | 2273 EXPECT_TRUE(lost_resource); |
| 2275 EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner); | 2274 EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner); |
| 2276 } | 2275 } |
| 2277 | 2276 |
| 2278 TEST_P(ResourceProviderTest, ScopedSampler) { | 2277 TEST_P(ResourceProviderTest, ScopedSampler) { |
| 2279 // Sampling is only supported for GL textures. | 2278 // Sampling is only supported for GL textures. |
| 2280 if (GetParam() != ResourceProvider::GLTexture) | 2279 if (GetParam() != ResourceProvider::GLTexture) |
| 2281 return; | 2280 return; |
| 2282 | 2281 |
| 2283 scoped_ptr<TextureStateTrackingContext> context_owned( | 2282 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2284 new TextureStateTrackingContext); | 2283 new TextureStateTrackingContext); |
| 2285 TextureStateTrackingContext* context = context_owned.get(); | 2284 TextureStateTrackingContext* context = context_owned.get(); |
| 2286 | 2285 |
| 2287 FakeOutputSurfaceClient output_surface_client; | 2286 FakeOutputSurfaceClient output_surface_client; |
| 2288 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2287 scoped_ptr<OutputSurface> output_surface( |
| 2289 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2288 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2290 CHECK(output_surface->BindToClient(&output_surface_client)); | 2289 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2291 | 2290 |
| 2292 scoped_ptr<ResourceProvider> resource_provider( | 2291 scoped_ptr<ResourceProvider> resource_provider( |
| 2293 ResourceProvider::Create(output_surface.get(), | 2292 ResourceProvider::Create(output_surface.get(), |
| 2294 shared_bitmap_manager_.get(), | 2293 shared_bitmap_manager_.get(), |
| 2295 NULL, | 2294 NULL, |
| 2296 0, | 2295 0, |
| 2297 false, | 2296 false, |
| 2298 1, | 2297 1, |
| 2299 false)); | 2298 false)); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2365 TEST_P(ResourceProviderTest, ManagedResource) { | 2364 TEST_P(ResourceProviderTest, ManagedResource) { |
| 2366 // Sampling is only supported for GL textures. | 2365 // Sampling is only supported for GL textures. |
| 2367 if (GetParam() != ResourceProvider::GLTexture) | 2366 if (GetParam() != ResourceProvider::GLTexture) |
| 2368 return; | 2367 return; |
| 2369 | 2368 |
| 2370 scoped_ptr<TextureStateTrackingContext> context_owned( | 2369 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2371 new TextureStateTrackingContext); | 2370 new TextureStateTrackingContext); |
| 2372 TextureStateTrackingContext* context = context_owned.get(); | 2371 TextureStateTrackingContext* context = context_owned.get(); |
| 2373 | 2372 |
| 2374 FakeOutputSurfaceClient output_surface_client; | 2373 FakeOutputSurfaceClient output_surface_client; |
| 2375 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2374 scoped_ptr<OutputSurface> output_surface( |
| 2376 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2375 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2377 CHECK(output_surface->BindToClient(&output_surface_client)); | 2376 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2378 | 2377 |
| 2379 scoped_ptr<ResourceProvider> resource_provider( | 2378 scoped_ptr<ResourceProvider> resource_provider( |
| 2380 ResourceProvider::Create(output_surface.get(), | 2379 ResourceProvider::Create(output_surface.get(), |
| 2381 shared_bitmap_manager_.get(), | 2380 shared_bitmap_manager_.get(), |
| 2382 NULL, | 2381 NULL, |
| 2383 0, | 2382 0, |
| 2384 false, | 2383 false, |
| 2385 1, | 2384 1, |
| 2386 false)); | 2385 false)); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2420 TEST_P(ResourceProviderTest, TextureWrapMode) { | 2419 TEST_P(ResourceProviderTest, TextureWrapMode) { |
| 2421 // Sampling is only supported for GL textures. | 2420 // Sampling is only supported for GL textures. |
| 2422 if (GetParam() != ResourceProvider::GLTexture) | 2421 if (GetParam() != ResourceProvider::GLTexture) |
| 2423 return; | 2422 return; |
| 2424 | 2423 |
| 2425 scoped_ptr<TextureStateTrackingContext> context_owned( | 2424 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2426 new TextureStateTrackingContext); | 2425 new TextureStateTrackingContext); |
| 2427 TextureStateTrackingContext* context = context_owned.get(); | 2426 TextureStateTrackingContext* context = context_owned.get(); |
| 2428 | 2427 |
| 2429 FakeOutputSurfaceClient output_surface_client; | 2428 FakeOutputSurfaceClient output_surface_client; |
| 2430 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2429 scoped_ptr<OutputSurface> output_surface( |
| 2431 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2430 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2432 CHECK(output_surface->BindToClient(&output_surface_client)); | 2431 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2433 | 2432 |
| 2434 scoped_ptr<ResourceProvider> resource_provider( | 2433 scoped_ptr<ResourceProvider> resource_provider( |
| 2435 ResourceProvider::Create(output_surface.get(), | 2434 ResourceProvider::Create(output_surface.get(), |
| 2436 shared_bitmap_manager_.get(), | 2435 shared_bitmap_manager_.get(), |
| 2437 NULL, | 2436 NULL, |
| 2438 0, | 2437 0, |
| 2439 false, | 2438 false, |
| 2440 1, | 2439 1, |
| 2441 false)); | 2440 false)); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2479 if (GetParam() != ResourceProvider::GLTexture) | 2478 if (GetParam() != ResourceProvider::GLTexture) |
| 2480 return; | 2479 return; |
| 2481 | 2480 |
| 2482 scoped_ptr<TextureStateTrackingContext> context_owned( | 2481 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2483 new TextureStateTrackingContext); | 2482 new TextureStateTrackingContext); |
| 2484 TextureStateTrackingContext* context = context_owned.get(); | 2483 TextureStateTrackingContext* context = context_owned.get(); |
| 2485 context->set_support_texture_storage(true); | 2484 context->set_support_texture_storage(true); |
| 2486 context->set_support_texture_usage(true); | 2485 context->set_support_texture_usage(true); |
| 2487 | 2486 |
| 2488 FakeOutputSurfaceClient output_surface_client; | 2487 FakeOutputSurfaceClient output_surface_client; |
| 2489 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2488 scoped_ptr<OutputSurface> output_surface( |
| 2490 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2489 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2491 CHECK(output_surface->BindToClient(&output_surface_client)); | 2490 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2492 | 2491 |
| 2493 scoped_ptr<ResourceProvider> resource_provider( | 2492 scoped_ptr<ResourceProvider> resource_provider( |
| 2494 ResourceProvider::Create(output_surface.get(), | 2493 ResourceProvider::Create(output_surface.get(), |
| 2495 shared_bitmap_manager_.get(), | 2494 shared_bitmap_manager_.get(), |
| 2496 NULL, | 2495 NULL, |
| 2497 0, | 2496 0, |
| 2498 false, | 2497 false, |
| 2499 1, | 2498 1, |
| 2500 false)); | 2499 false)); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2604 TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) { | 2603 TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) { |
| 2605 // Mailboxing is only supported for GL textures. | 2604 // Mailboxing is only supported for GL textures. |
| 2606 if (GetParam() != ResourceProvider::GLTexture) | 2605 if (GetParam() != ResourceProvider::GLTexture) |
| 2607 return; | 2606 return; |
| 2608 | 2607 |
| 2609 scoped_ptr<TextureStateTrackingContext> context_owned( | 2608 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2610 new TextureStateTrackingContext); | 2609 new TextureStateTrackingContext); |
| 2611 TextureStateTrackingContext* context = context_owned.get(); | 2610 TextureStateTrackingContext* context = context_owned.get(); |
| 2612 | 2611 |
| 2613 FakeOutputSurfaceClient output_surface_client; | 2612 FakeOutputSurfaceClient output_surface_client; |
| 2614 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2613 scoped_ptr<OutputSurface> output_surface( |
| 2615 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2614 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2616 CHECK(output_surface->BindToClient(&output_surface_client)); | 2615 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2617 | 2616 |
| 2618 scoped_ptr<ResourceProvider> resource_provider( | 2617 scoped_ptr<ResourceProvider> resource_provider( |
| 2619 ResourceProvider::Create(output_surface.get(), | 2618 ResourceProvider::Create(output_surface.get(), |
| 2620 shared_bitmap_manager_.get(), | 2619 shared_bitmap_manager_.get(), |
| 2621 main_thread_task_runner_.get(), | 2620 main_thread_task_runner_.get(), |
| 2622 0, | 2621 0, |
| 2623 false, | 2622 false, |
| 2624 1, | 2623 1, |
| 2625 false)); | 2624 false)); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2689 TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { | 2688 TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { |
| 2690 // Mailboxing is only supported for GL textures. | 2689 // Mailboxing is only supported for GL textures. |
| 2691 if (GetParam() != ResourceProvider::GLTexture) | 2690 if (GetParam() != ResourceProvider::GLTexture) |
| 2692 return; | 2691 return; |
| 2693 | 2692 |
| 2694 scoped_ptr<TextureStateTrackingContext> context_owned( | 2693 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2695 new TextureStateTrackingContext); | 2694 new TextureStateTrackingContext); |
| 2696 TextureStateTrackingContext* context = context_owned.get(); | 2695 TextureStateTrackingContext* context = context_owned.get(); |
| 2697 | 2696 |
| 2698 FakeOutputSurfaceClient output_surface_client; | 2697 FakeOutputSurfaceClient output_surface_client; |
| 2699 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2698 scoped_ptr<OutputSurface> output_surface( |
| 2700 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2699 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2701 CHECK(output_surface->BindToClient(&output_surface_client)); | 2700 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2702 | 2701 |
| 2703 scoped_ptr<ResourceProvider> resource_provider( | 2702 scoped_ptr<ResourceProvider> resource_provider( |
| 2704 ResourceProvider::Create(output_surface.get(), | 2703 ResourceProvider::Create(output_surface.get(), |
| 2705 shared_bitmap_manager_.get(), | 2704 shared_bitmap_manager_.get(), |
| 2706 NULL, | 2705 NULL, |
| 2707 0, | 2706 0, |
| 2708 false, | 2707 false, |
| 2709 1, | 2708 1, |
| 2710 false)); | 2709 false)); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2764 TextureMailbox_WaitSyncPointIfNeeded_WithSyncPoint) { | 2763 TextureMailbox_WaitSyncPointIfNeeded_WithSyncPoint) { |
| 2765 // Mailboxing is only supported for GL textures. | 2764 // Mailboxing is only supported for GL textures. |
| 2766 if (GetParam() != ResourceProvider::GLTexture) | 2765 if (GetParam() != ResourceProvider::GLTexture) |
| 2767 return; | 2766 return; |
| 2768 | 2767 |
| 2769 scoped_ptr<TextureStateTrackingContext> context_owned( | 2768 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2770 new TextureStateTrackingContext); | 2769 new TextureStateTrackingContext); |
| 2771 TextureStateTrackingContext* context = context_owned.get(); | 2770 TextureStateTrackingContext* context = context_owned.get(); |
| 2772 | 2771 |
| 2773 FakeOutputSurfaceClient output_surface_client; | 2772 FakeOutputSurfaceClient output_surface_client; |
| 2774 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2773 scoped_ptr<OutputSurface> output_surface( |
| 2775 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2774 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2776 CHECK(output_surface->BindToClient(&output_surface_client)); | 2775 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2777 | 2776 |
| 2778 scoped_ptr<ResourceProvider> resource_provider( | 2777 scoped_ptr<ResourceProvider> resource_provider( |
| 2779 ResourceProvider::Create(output_surface.get(), | 2778 ResourceProvider::Create(output_surface.get(), |
| 2780 shared_bitmap_manager_.get(), | 2779 shared_bitmap_manager_.get(), |
| 2781 NULL, | 2780 NULL, |
| 2782 0, | 2781 0, |
| 2783 false, | 2782 false, |
| 2784 1, | 2783 1, |
| 2785 false)); | 2784 false)); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2823 TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) { | 2822 TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) { |
| 2824 // Mailboxing is only supported for GL textures. | 2823 // Mailboxing is only supported for GL textures. |
| 2825 if (GetParam() != ResourceProvider::GLTexture) | 2824 if (GetParam() != ResourceProvider::GLTexture) |
| 2826 return; | 2825 return; |
| 2827 | 2826 |
| 2828 scoped_ptr<TextureStateTrackingContext> context_owned( | 2827 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2829 new TextureStateTrackingContext); | 2828 new TextureStateTrackingContext); |
| 2830 TextureStateTrackingContext* context = context_owned.get(); | 2829 TextureStateTrackingContext* context = context_owned.get(); |
| 2831 | 2830 |
| 2832 FakeOutputSurfaceClient output_surface_client; | 2831 FakeOutputSurfaceClient output_surface_client; |
| 2833 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2832 scoped_ptr<OutputSurface> output_surface( |
| 2834 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2833 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2835 CHECK(output_surface->BindToClient(&output_surface_client)); | 2834 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2836 | 2835 |
| 2837 scoped_ptr<ResourceProvider> resource_provider( | 2836 scoped_ptr<ResourceProvider> resource_provider( |
| 2838 ResourceProvider::Create(output_surface.get(), | 2837 ResourceProvider::Create(output_surface.get(), |
| 2839 shared_bitmap_manager_.get(), | 2838 shared_bitmap_manager_.get(), |
| 2840 NULL, | 2839 NULL, |
| 2841 0, | 2840 0, |
| 2842 false, | 2841 false, |
| 2843 1, | 2842 1, |
| 2844 false)); | 2843 false)); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2951 | 2950 |
| 2952 TEST_P(ResourceProviderTest, TextureAllocation) { | 2951 TEST_P(ResourceProviderTest, TextureAllocation) { |
| 2953 // Only for GL textures. | 2952 // Only for GL textures. |
| 2954 if (GetParam() != ResourceProvider::GLTexture) | 2953 if (GetParam() != ResourceProvider::GLTexture) |
| 2955 return; | 2954 return; |
| 2956 scoped_ptr<AllocationTrackingContext3D> context_owned( | 2955 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 2957 new StrictMock<AllocationTrackingContext3D>); | 2956 new StrictMock<AllocationTrackingContext3D>); |
| 2958 AllocationTrackingContext3D* context = context_owned.get(); | 2957 AllocationTrackingContext3D* context = context_owned.get(); |
| 2959 | 2958 |
| 2960 FakeOutputSurfaceClient output_surface_client; | 2959 FakeOutputSurfaceClient output_surface_client; |
| 2961 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2960 scoped_ptr<OutputSurface> output_surface( |
| 2962 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2961 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 2963 CHECK(output_surface->BindToClient(&output_surface_client)); | 2962 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2964 | 2963 |
| 2965 scoped_ptr<ResourceProvider> resource_provider( | 2964 scoped_ptr<ResourceProvider> resource_provider( |
| 2966 ResourceProvider::Create(output_surface.get(), | 2965 ResourceProvider::Create(output_surface.get(), |
| 2967 shared_bitmap_manager_.get(), | 2966 shared_bitmap_manager_.get(), |
| 2968 NULL, | 2967 NULL, |
| 2969 0, | 2968 0, |
| 2970 false, | 2969 false, |
| 2971 1, | 2970 1, |
| 2972 false)); | 2971 false)); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3031 // Only for GL textures. | 3030 // Only for GL textures. |
| 3032 if (GetParam() != ResourceProvider::GLTexture) | 3031 if (GetParam() != ResourceProvider::GLTexture) |
| 3033 return; | 3032 return; |
| 3034 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3033 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3035 new StrictMock<AllocationTrackingContext3D>); | 3034 new StrictMock<AllocationTrackingContext3D>); |
| 3036 AllocationTrackingContext3D* context = context_owned.get(); | 3035 AllocationTrackingContext3D* context = context_owned.get(); |
| 3037 context->set_support_texture_storage(true); | 3036 context->set_support_texture_storage(true); |
| 3038 context->set_support_texture_usage(true); | 3037 context->set_support_texture_usage(true); |
| 3039 | 3038 |
| 3040 FakeOutputSurfaceClient output_surface_client; | 3039 FakeOutputSurfaceClient output_surface_client; |
| 3041 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3040 scoped_ptr<OutputSurface> output_surface( |
| 3042 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3041 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3043 CHECK(output_surface->BindToClient(&output_surface_client)); | 3042 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3044 | 3043 |
| 3045 scoped_ptr<ResourceProvider> resource_provider( | 3044 scoped_ptr<ResourceProvider> resource_provider( |
| 3046 ResourceProvider::Create(output_surface.get(), | 3045 ResourceProvider::Create(output_surface.get(), |
| 3047 shared_bitmap_manager_.get(), | 3046 shared_bitmap_manager_.get(), |
| 3048 NULL, | 3047 NULL, |
| 3049 0, | 3048 0, |
| 3050 false, | 3049 false, |
| 3051 1, | 3050 1, |
| 3052 false)); | 3051 false)); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3091 if (GetParam() != ResourceProvider::GLTexture) | 3090 if (GetParam() != ResourceProvider::GLTexture) |
| 3092 return; | 3091 return; |
| 3093 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3092 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3094 new StrictMock<AllocationTrackingContext3D>); | 3093 new StrictMock<AllocationTrackingContext3D>); |
| 3095 AllocationTrackingContext3D* context = context_owned.get(); | 3094 AllocationTrackingContext3D* context = context_owned.get(); |
| 3096 context->set_support_texture_format_bgra8888(true); | 3095 context->set_support_texture_format_bgra8888(true); |
| 3097 context->set_support_texture_storage(true); | 3096 context->set_support_texture_storage(true); |
| 3098 context->set_support_texture_usage(true); | 3097 context->set_support_texture_usage(true); |
| 3099 | 3098 |
| 3100 FakeOutputSurfaceClient output_surface_client; | 3099 FakeOutputSurfaceClient output_surface_client; |
| 3101 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3100 scoped_ptr<OutputSurface> output_surface( |
| 3102 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3101 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3103 CHECK(output_surface->BindToClient(&output_surface_client)); | 3102 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3104 | 3103 |
| 3105 scoped_ptr<ResourceProvider> resource_provider( | 3104 scoped_ptr<ResourceProvider> resource_provider( |
| 3106 ResourceProvider::Create(output_surface.get(), | 3105 ResourceProvider::Create(output_surface.get(), |
| 3107 shared_bitmap_manager_.get(), | 3106 shared_bitmap_manager_.get(), |
| 3108 NULL, | 3107 NULL, |
| 3109 0, | 3108 0, |
| 3110 false, | 3109 false, |
| 3111 1, | 3110 1, |
| 3112 false)); | 3111 false)); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3145 } | 3144 } |
| 3146 | 3145 |
| 3147 TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { | 3146 TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { |
| 3148 if (GetParam() != ResourceProvider::GLTexture) | 3147 if (GetParam() != ResourceProvider::GLTexture) |
| 3149 return; | 3148 return; |
| 3150 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3149 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3151 new StrictMock<AllocationTrackingContext3D>); | 3150 new StrictMock<AllocationTrackingContext3D>); |
| 3152 AllocationTrackingContext3D* context = context_owned.get(); | 3151 AllocationTrackingContext3D* context = context_owned.get(); |
| 3153 | 3152 |
| 3154 FakeOutputSurfaceClient output_surface_client; | 3153 FakeOutputSurfaceClient output_surface_client; |
| 3155 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3154 scoped_ptr<OutputSurface> output_surface( |
| 3156 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3155 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3157 CHECK(output_surface->BindToClient(&output_surface_client)); | 3156 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3158 | 3157 |
| 3159 gfx::Size size(2, 2); | 3158 gfx::Size size(2, 2); |
| 3160 ResourceFormat format = RGBA_8888; | 3159 ResourceFormat format = RGBA_8888; |
| 3161 ResourceProvider::ResourceId id = 0; | 3160 ResourceProvider::ResourceId id = 0; |
| 3162 int texture_id = 123; | 3161 int texture_id = 123; |
| 3163 | 3162 |
| 3164 scoped_ptr<ResourceProvider> resource_provider( | 3163 scoped_ptr<ResourceProvider> resource_provider( |
| 3165 ResourceProvider::Create(output_surface.get(), | 3164 ResourceProvider::Create(output_surface.get(), |
| 3166 shared_bitmap_manager_.get(), | 3165 shared_bitmap_manager_.get(), |
| (...skipping 25 matching lines...) Expand all Loading... |
| 3192 | 3191 |
| 3193 TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { | 3192 TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { |
| 3194 // Only for GL textures. | 3193 // Only for GL textures. |
| 3195 if (GetParam() != ResourceProvider::GLTexture) | 3194 if (GetParam() != ResourceProvider::GLTexture) |
| 3196 return; | 3195 return; |
| 3197 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3196 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3198 new StrictMock<AllocationTrackingContext3D>); | 3197 new StrictMock<AllocationTrackingContext3D>); |
| 3199 AllocationTrackingContext3D* context = context_owned.get(); | 3198 AllocationTrackingContext3D* context = context_owned.get(); |
| 3200 | 3199 |
| 3201 FakeOutputSurfaceClient output_surface_client; | 3200 FakeOutputSurfaceClient output_surface_client; |
| 3202 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3201 scoped_ptr<OutputSurface> output_surface( |
| 3203 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3202 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3204 CHECK(output_surface->BindToClient(&output_surface_client)); | 3203 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3205 | 3204 |
| 3206 gfx::Size size(2, 2); | 3205 gfx::Size size(2, 2); |
| 3207 ResourceFormat format = RGBA_8888; | 3206 ResourceFormat format = RGBA_8888; |
| 3208 ResourceProvider::ResourceId id = 0; | 3207 ResourceProvider::ResourceId id = 0; |
| 3209 int texture_id = 123; | 3208 int texture_id = 123; |
| 3210 | 3209 |
| 3211 scoped_ptr<ResourceProvider> resource_provider( | 3210 scoped_ptr<ResourceProvider> resource_provider( |
| 3212 ResourceProvider::Create(output_surface.get(), | 3211 ResourceProvider::Create(output_surface.get(), |
| 3213 shared_bitmap_manager_.get(), | 3212 shared_bitmap_manager_.get(), |
| (...skipping 25 matching lines...) Expand all Loading... |
| 3239 | 3238 |
| 3240 Mock::VerifyAndClearExpectations(context); | 3239 Mock::VerifyAndClearExpectations(context); |
| 3241 } | 3240 } |
| 3242 | 3241 |
| 3243 TEST_P(ResourceProviderTest, PixelBufferLostContext) { | 3242 TEST_P(ResourceProviderTest, PixelBufferLostContext) { |
| 3244 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3243 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3245 new NiceMock<AllocationTrackingContext3D>); | 3244 new NiceMock<AllocationTrackingContext3D>); |
| 3246 AllocationTrackingContext3D* context = context_owned.get(); | 3245 AllocationTrackingContext3D* context = context_owned.get(); |
| 3247 | 3246 |
| 3248 FakeOutputSurfaceClient output_surface_client; | 3247 FakeOutputSurfaceClient output_surface_client; |
| 3249 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3248 scoped_ptr<OutputSurface> output_surface( |
| 3250 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3249 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3251 CHECK(output_surface->BindToClient(&output_surface_client)); | 3250 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3252 | 3251 |
| 3253 gfx::Size size(2, 2); | 3252 gfx::Size size(2, 2); |
| 3254 ResourceFormat format = RGBA_8888; | 3253 ResourceFormat format = RGBA_8888; |
| 3255 ResourceProvider::ResourceId id = 0; | 3254 ResourceProvider::ResourceId id = 0; |
| 3256 int texture_id = 123; | 3255 int texture_id = 123; |
| 3257 | 3256 |
| 3258 scoped_ptr<ResourceProvider> resource_provider( | 3257 scoped_ptr<ResourceProvider> resource_provider( |
| 3259 ResourceProvider::Create(output_surface.get(), | 3258 ResourceProvider::Create(output_surface.get(), |
| 3260 shared_bitmap_manager_.get(), | 3259 shared_bitmap_manager_.get(), |
| (...skipping 20 matching lines...) Expand all Loading... |
| 3281 | 3280 |
| 3282 TEST_P(ResourceProviderTest, Image_GLTexture) { | 3281 TEST_P(ResourceProviderTest, Image_GLTexture) { |
| 3283 // Only for GL textures. | 3282 // Only for GL textures. |
| 3284 if (GetParam() != ResourceProvider::GLTexture) | 3283 if (GetParam() != ResourceProvider::GLTexture) |
| 3285 return; | 3284 return; |
| 3286 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3285 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3287 new StrictMock<AllocationTrackingContext3D>); | 3286 new StrictMock<AllocationTrackingContext3D>); |
| 3288 AllocationTrackingContext3D* context = context_owned.get(); | 3287 AllocationTrackingContext3D* context = context_owned.get(); |
| 3289 | 3288 |
| 3290 FakeOutputSurfaceClient output_surface_client; | 3289 FakeOutputSurfaceClient output_surface_client; |
| 3291 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3290 scoped_ptr<OutputSurface> output_surface( |
| 3292 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3291 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3293 CHECK(output_surface->BindToClient(&output_surface_client)); | 3292 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3294 | 3293 |
| 3295 const int kWidth = 2; | 3294 const int kWidth = 2; |
| 3296 const int kHeight = 2; | 3295 const int kHeight = 2; |
| 3297 gfx::Size size(kWidth, kHeight); | 3296 gfx::Size size(kWidth, kHeight); |
| 3298 ResourceFormat format = RGBA_8888; | 3297 ResourceFormat format = RGBA_8888; |
| 3299 ResourceProvider::ResourceId id = 0; | 3298 ResourceProvider::ResourceId id = 0; |
| 3300 const unsigned kTextureId = 123u; | 3299 const unsigned kTextureId = 123u; |
| 3301 const unsigned kImageId = 234u; | 3300 const unsigned kImageId = 234u; |
| 3302 | 3301 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3391 | 3390 |
| 3392 TEST_P(ResourceProviderTest, CopyResource_GLTexture) { | 3391 TEST_P(ResourceProviderTest, CopyResource_GLTexture) { |
| 3393 if (GetParam() != ResourceProvider::GLTexture) | 3392 if (GetParam() != ResourceProvider::GLTexture) |
| 3394 return; | 3393 return; |
| 3395 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3394 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3396 new StrictMock<AllocationTrackingContext3D>); | 3395 new StrictMock<AllocationTrackingContext3D>); |
| 3397 AllocationTrackingContext3D* context = context_owned.get(); | 3396 AllocationTrackingContext3D* context = context_owned.get(); |
| 3398 context_owned->set_support_sync_query(true); | 3397 context_owned->set_support_sync_query(true); |
| 3399 | 3398 |
| 3400 FakeOutputSurfaceClient output_surface_client; | 3399 FakeOutputSurfaceClient output_surface_client; |
| 3401 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3400 scoped_ptr<OutputSurface> output_surface( |
| 3402 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3401 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3403 ASSERT_TRUE(output_surface->BindToClient(&output_surface_client)); | 3402 ASSERT_TRUE(output_surface->BindToClient(&output_surface_client)); |
| 3404 | 3403 |
| 3405 const int kWidth = 2; | 3404 const int kWidth = 2; |
| 3406 const int kHeight = 2; | 3405 const int kHeight = 2; |
| 3407 gfx::Size size(kWidth, kHeight); | 3406 gfx::Size size(kWidth, kHeight); |
| 3408 ResourceFormat format = RGBA_8888; | 3407 ResourceFormat format = RGBA_8888; |
| 3409 ResourceProvider::ResourceId source_id = 0; | 3408 ResourceProvider::ResourceId source_id = 0; |
| 3410 ResourceProvider::ResourceId dest_id = 0; | 3409 ResourceProvider::ResourceId dest_id = 0; |
| 3411 const unsigned kSourceTextureId = 123u; | 3410 const unsigned kSourceTextureId = 123u; |
| 3412 const unsigned kDestTextureId = 321u; | 3411 const unsigned kDestTextureId = 321u; |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3483 } | 3482 } |
| 3484 | 3483 |
| 3485 void InitializeGLAndCheck(ContextSharedData* shared_data, | 3484 void InitializeGLAndCheck(ContextSharedData* shared_data, |
| 3486 ResourceProvider* resource_provider, | 3485 ResourceProvider* resource_provider, |
| 3487 FakeOutputSurface* output_surface) { | 3486 FakeOutputSurface* output_surface) { |
| 3488 scoped_ptr<ResourceProviderContext> context_owned = | 3487 scoped_ptr<ResourceProviderContext> context_owned = |
| 3489 ResourceProviderContext::Create(shared_data); | 3488 ResourceProviderContext::Create(shared_data); |
| 3490 ResourceProviderContext* context = context_owned.get(); | 3489 ResourceProviderContext* context = context_owned.get(); |
| 3491 | 3490 |
| 3492 scoped_refptr<TestContextProvider> context_provider = | 3491 scoped_refptr<TestContextProvider> context_provider = |
| 3493 TestContextProvider::Create( | 3492 TestContextProvider::Create(context_owned.Pass()); |
| 3494 context_owned.PassAs<TestWebGraphicsContext3D>()); | |
| 3495 output_surface->InitializeAndSetContext3d(context_provider); | 3493 output_surface->InitializeAndSetContext3d(context_provider); |
| 3496 resource_provider->InitializeGL(); | 3494 resource_provider->InitializeGL(); |
| 3497 | 3495 |
| 3498 CheckCreateResource(ResourceProvider::GLTexture, resource_provider, context); | 3496 CheckCreateResource(ResourceProvider::GLTexture, resource_provider, context); |
| 3499 } | 3497 } |
| 3500 | 3498 |
| 3501 TEST(ResourceProviderTest, BasicInitializeGLSoftware) { | 3499 TEST(ResourceProviderTest, BasicInitializeGLSoftware) { |
| 3502 scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); | 3500 scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); |
| 3503 bool delegated_rendering = false; | 3501 bool delegated_rendering = false; |
| 3504 scoped_ptr<FakeOutputSurface> output_surface( | 3502 scoped_ptr<FakeOutputSurface> output_surface( |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3536 TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { | 3534 TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { |
| 3537 if (GetParam() != ResourceProvider::GLTexture) | 3535 if (GetParam() != ResourceProvider::GLTexture) |
| 3538 return; | 3536 return; |
| 3539 | 3537 |
| 3540 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3538 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3541 new AllocationTrackingContext3D); | 3539 new AllocationTrackingContext3D); |
| 3542 AllocationTrackingContext3D* context = context_owned.get(); | 3540 AllocationTrackingContext3D* context = context_owned.get(); |
| 3543 context_owned->set_support_compressed_texture_etc1(true); | 3541 context_owned->set_support_compressed_texture_etc1(true); |
| 3544 | 3542 |
| 3545 FakeOutputSurfaceClient output_surface_client; | 3543 FakeOutputSurfaceClient output_surface_client; |
| 3546 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3544 scoped_ptr<OutputSurface> output_surface( |
| 3547 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3545 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3548 CHECK(output_surface->BindToClient(&output_surface_client)); | 3546 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3549 | 3547 |
| 3550 gfx::Size size(4, 4); | 3548 gfx::Size size(4, 4); |
| 3551 scoped_ptr<ResourceProvider> resource_provider( | 3549 scoped_ptr<ResourceProvider> resource_provider( |
| 3552 ResourceProvider::Create(output_surface.get(), | 3550 ResourceProvider::Create(output_surface.get(), |
| 3553 shared_bitmap_manager_.get(), | 3551 shared_bitmap_manager_.get(), |
| 3554 NULL, | 3552 NULL, |
| 3555 0, | 3553 0, |
| 3556 false, | 3554 false, |
| 3557 1, | 3555 1, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 3572 TEST_P(ResourceProviderTest, CompressedTextureETC1SetPixels) { | 3570 TEST_P(ResourceProviderTest, CompressedTextureETC1SetPixels) { |
| 3573 if (GetParam() != ResourceProvider::GLTexture) | 3571 if (GetParam() != ResourceProvider::GLTexture) |
| 3574 return; | 3572 return; |
| 3575 | 3573 |
| 3576 scoped_ptr<AllocationTrackingContext3D> context_owned( | 3574 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 3577 new AllocationTrackingContext3D); | 3575 new AllocationTrackingContext3D); |
| 3578 AllocationTrackingContext3D* context = context_owned.get(); | 3576 AllocationTrackingContext3D* context = context_owned.get(); |
| 3579 context_owned->set_support_compressed_texture_etc1(true); | 3577 context_owned->set_support_compressed_texture_etc1(true); |
| 3580 | 3578 |
| 3581 FakeOutputSurfaceClient output_surface_client; | 3579 FakeOutputSurfaceClient output_surface_client; |
| 3582 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3580 scoped_ptr<OutputSurface> output_surface( |
| 3583 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3581 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3584 CHECK(output_surface->BindToClient(&output_surface_client)); | 3582 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3585 | 3583 |
| 3586 gfx::Size size(4, 4); | 3584 gfx::Size size(4, 4); |
| 3587 scoped_ptr<ResourceProvider> resource_provider( | 3585 scoped_ptr<ResourceProvider> resource_provider( |
| 3588 ResourceProvider::Create(output_surface.get(), | 3586 ResourceProvider::Create(output_surface.get(), |
| 3589 shared_bitmap_manager_.get(), | 3587 shared_bitmap_manager_.get(), |
| 3590 NULL, | 3588 NULL, |
| 3591 0, | 3589 0, |
| 3592 false, | 3590 false, |
| 3593 1, | 3591 1, |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3627 return namespace_->next_texture_id; | 3625 return namespace_->next_texture_id; |
| 3628 } | 3626 } |
| 3629 }; | 3627 }; |
| 3630 | 3628 |
| 3631 TEST(ResourceProviderTest, TextureAllocationChunkSize) { | 3629 TEST(ResourceProviderTest, TextureAllocationChunkSize) { |
| 3632 scoped_ptr<TextureIdAllocationTrackingContext> context_owned( | 3630 scoped_ptr<TextureIdAllocationTrackingContext> context_owned( |
| 3633 new TextureIdAllocationTrackingContext); | 3631 new TextureIdAllocationTrackingContext); |
| 3634 TextureIdAllocationTrackingContext* context = context_owned.get(); | 3632 TextureIdAllocationTrackingContext* context = context_owned.get(); |
| 3635 | 3633 |
| 3636 FakeOutputSurfaceClient output_surface_client; | 3634 FakeOutputSurfaceClient output_surface_client; |
| 3637 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3635 scoped_ptr<OutputSurface> output_surface( |
| 3638 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3636 FakeOutputSurface::Create3d(context_owned.Pass())); |
| 3639 CHECK(output_surface->BindToClient(&output_surface_client)); | 3637 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3640 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 3638 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
| 3641 new TestSharedBitmapManager()); | 3639 new TestSharedBitmapManager()); |
| 3642 | 3640 |
| 3643 gfx::Size size(1, 1); | 3641 gfx::Size size(1, 1); |
| 3644 ResourceFormat format = RGBA_8888; | 3642 ResourceFormat format = RGBA_8888; |
| 3645 | 3643 |
| 3646 { | 3644 { |
| 3647 size_t kTextureAllocationChunkSize = 1; | 3645 size_t kTextureAllocationChunkSize = 1; |
| 3648 scoped_ptr<ResourceProvider> resource_provider( | 3646 scoped_ptr<ResourceProvider> resource_provider( |
| (...skipping 30 matching lines...) Expand all Loading... |
| 3679 resource_provider->AllocateForTesting(id); | 3677 resource_provider->AllocateForTesting(id); |
| 3680 Mock::VerifyAndClearExpectations(context); | 3678 Mock::VerifyAndClearExpectations(context); |
| 3681 | 3679 |
| 3682 DCHECK_EQ(10u, context->PeekTextureId()); | 3680 DCHECK_EQ(10u, context->PeekTextureId()); |
| 3683 resource_provider->DeleteResource(id); | 3681 resource_provider->DeleteResource(id); |
| 3684 } | 3682 } |
| 3685 } | 3683 } |
| 3686 | 3684 |
| 3687 } // namespace | 3685 } // namespace |
| 3688 } // namespace cc | 3686 } // namespace cc |
| OLD | NEW |