| 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 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 case ResourceProvider::InvalidType: | 396 case ResourceProvider::InvalidType: |
| 397 NOTREACHED(); | 397 NOTREACHED(); |
| 398 break; | 398 break; |
| 399 } | 399 } |
| 400 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 400 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
| 401 CHECK(child_output_surface_->BindToClient(&child_output_surface_client_)); | 401 CHECK(child_output_surface_->BindToClient(&child_output_surface_client_)); |
| 402 | 402 |
| 403 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); | 403 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); |
| 404 | 404 |
| 405 resource_provider_ = ResourceProvider::Create( | 405 resource_provider_ = ResourceProvider::Create( |
| 406 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1); | 406 output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1, |
| 407 false); |
| 407 child_resource_provider_ = ResourceProvider::Create( | 408 child_resource_provider_ = ResourceProvider::Create( |
| 408 child_output_surface_.get(), | 409 child_output_surface_.get(), |
| 409 shared_bitmap_manager_.get(), | 410 shared_bitmap_manager_.get(), |
| 410 0, | 411 0, |
| 411 false, | 412 false, |
| 412 1); | 413 1, |
| 414 false); |
| 413 } | 415 } |
| 414 | 416 |
| 415 static void CollectResources(ReturnedResourceArray* array, | 417 static void CollectResources(ReturnedResourceArray* array, |
| 416 const ReturnedResourceArray& returned) { | 418 const ReturnedResourceArray& returned) { |
| 417 array->insert(array->end(), returned.begin(), returned.end()); | 419 array->insert(array->end(), returned.begin(), returned.end()); |
| 418 } | 420 } |
| 419 | 421 |
| 420 static ReturnCallback GetReturnCallback(ReturnedResourceArray* array) { | 422 static ReturnCallback GetReturnCallback(ReturnedResourceArray* array) { |
| 421 return base::Bind(&ResourceProviderTest::CollectResources, array); | 423 return base::Bind(&ResourceProviderTest::CollectResources, array); |
| 422 } | 424 } |
| (...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1105 | 1107 |
| 1106 scoped_ptr<ResourceProviderContext> child_context_owned( | 1108 scoped_ptr<ResourceProviderContext> child_context_owned( |
| 1107 ResourceProviderContext::Create(shared_data_.get())); | 1109 ResourceProviderContext::Create(shared_data_.get())); |
| 1108 | 1110 |
| 1109 FakeOutputSurfaceClient child_output_surface_client; | 1111 FakeOutputSurfaceClient child_output_surface_client; |
| 1110 scoped_ptr<OutputSurface> child_output_surface(FakeOutputSurface::Create3d( | 1112 scoped_ptr<OutputSurface> child_output_surface(FakeOutputSurface::Create3d( |
| 1111 child_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1113 child_context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1112 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); | 1114 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); |
| 1113 | 1115 |
| 1114 scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( | 1116 scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( |
| 1115 child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 1117 child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, |
| 1118 false)); |
| 1116 | 1119 |
| 1117 gfx::Size size(1, 1); | 1120 gfx::Size size(1, 1); |
| 1118 ResourceFormat format = RGBA_8888; | 1121 ResourceFormat format = RGBA_8888; |
| 1119 size_t pixel_size = TextureSizeBytes(size, format); | 1122 size_t pixel_size = TextureSizeBytes(size, format); |
| 1120 ASSERT_EQ(4U, pixel_size); | 1123 ASSERT_EQ(4U, pixel_size); |
| 1121 | 1124 |
| 1122 ResourceProvider::ResourceId id1 = child_resource_provider->CreateResource( | 1125 ResourceProvider::ResourceId id1 = child_resource_provider->CreateResource( |
| 1123 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 1126 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 1124 uint8_t data1[4] = { 1, 2, 3, 4 }; | 1127 uint8_t data1[4] = { 1, 2, 3, 4 }; |
| 1125 gfx::Rect rect(size); | 1128 gfx::Rect rect(size); |
| (...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1585 child_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1588 child_context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1586 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); | 1589 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); |
| 1587 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 1590 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
| 1588 new TestSharedBitmapManager()); | 1591 new TestSharedBitmapManager()); |
| 1589 | 1592 |
| 1590 scoped_ptr<ResourceProvider> child_resource_provider( | 1593 scoped_ptr<ResourceProvider> child_resource_provider( |
| 1591 ResourceProvider::Create(child_output_surface.get(), | 1594 ResourceProvider::Create(child_output_surface.get(), |
| 1592 shared_bitmap_manager.get(), | 1595 shared_bitmap_manager.get(), |
| 1593 0, | 1596 0, |
| 1594 false, | 1597 false, |
| 1595 1)); | 1598 1, |
| 1599 false)); |
| 1596 | 1600 |
| 1597 scoped_ptr<TextureStateTrackingContext> parent_context_owned( | 1601 scoped_ptr<TextureStateTrackingContext> parent_context_owned( |
| 1598 new TextureStateTrackingContext); | 1602 new TextureStateTrackingContext); |
| 1599 TextureStateTrackingContext* parent_context = parent_context_owned.get(); | 1603 TextureStateTrackingContext* parent_context = parent_context_owned.get(); |
| 1600 | 1604 |
| 1601 FakeOutputSurfaceClient parent_output_surface_client; | 1605 FakeOutputSurfaceClient parent_output_surface_client; |
| 1602 scoped_ptr<OutputSurface> parent_output_surface(FakeOutputSurface::Create3d( | 1606 scoped_ptr<OutputSurface> parent_output_surface(FakeOutputSurface::Create3d( |
| 1603 parent_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1607 parent_context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1604 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); | 1608 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); |
| 1605 | 1609 |
| 1606 scoped_ptr<ResourceProvider> parent_resource_provider( | 1610 scoped_ptr<ResourceProvider> parent_resource_provider( |
| 1607 ResourceProvider::Create(parent_output_surface.get(), | 1611 ResourceProvider::Create(parent_output_surface.get(), |
| 1608 shared_bitmap_manager.get(), | 1612 shared_bitmap_manager.get(), |
| 1609 0, | 1613 0, |
| 1610 false, | 1614 false, |
| 1611 1)); | 1615 1, |
| 1616 false)); |
| 1612 | 1617 |
| 1613 gfx::Size size(1, 1); | 1618 gfx::Size size(1, 1); |
| 1614 ResourceFormat format = RGBA_8888; | 1619 ResourceFormat format = RGBA_8888; |
| 1615 int child_texture_id = 1; | 1620 int child_texture_id = 1; |
| 1616 int parent_texture_id = 2; | 1621 int parent_texture_id = 2; |
| 1617 | 1622 |
| 1618 size_t pixel_size = TextureSizeBytes(size, format); | 1623 size_t pixel_size = TextureSizeBytes(size, format); |
| 1619 ASSERT_EQ(4U, pixel_size); | 1624 ASSERT_EQ(4U, pixel_size); |
| 1620 | 1625 |
| 1621 ResourceProvider::ResourceId id = child_resource_provider->CreateResource( | 1626 ResourceProvider::ResourceId id = child_resource_provider->CreateResource( |
| (...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2209 scoped_ptr<TextureStateTrackingContext> context_owned( | 2214 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2210 new TextureStateTrackingContext); | 2215 new TextureStateTrackingContext); |
| 2211 TextureStateTrackingContext* context = context_owned.get(); | 2216 TextureStateTrackingContext* context = context_owned.get(); |
| 2212 | 2217 |
| 2213 FakeOutputSurfaceClient output_surface_client; | 2218 FakeOutputSurfaceClient output_surface_client; |
| 2214 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2219 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2215 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2220 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2216 CHECK(output_surface->BindToClient(&output_surface_client)); | 2221 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2217 | 2222 |
| 2218 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2223 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2219 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2224 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2220 | 2225 |
| 2221 gfx::Size size(1, 1); | 2226 gfx::Size size(1, 1); |
| 2222 ResourceFormat format = RGBA_8888; | 2227 ResourceFormat format = RGBA_8888; |
| 2223 int texture_id = 1; | 2228 int texture_id = 1; |
| 2224 | 2229 |
| 2225 ResourceProvider::ResourceId id = resource_provider->CreateResource( | 2230 ResourceProvider::ResourceId id = resource_provider->CreateResource( |
| 2226 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2231 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2227 | 2232 |
| 2228 // Check that the texture gets created with the right sampler settings. | 2233 // Check that the texture gets created with the right sampler settings. |
| 2229 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)) | 2234 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)) |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2290 scoped_ptr<TextureStateTrackingContext> context_owned( | 2295 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2291 new TextureStateTrackingContext); | 2296 new TextureStateTrackingContext); |
| 2292 TextureStateTrackingContext* context = context_owned.get(); | 2297 TextureStateTrackingContext* context = context_owned.get(); |
| 2293 | 2298 |
| 2294 FakeOutputSurfaceClient output_surface_client; | 2299 FakeOutputSurfaceClient output_surface_client; |
| 2295 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2300 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2296 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2301 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2297 CHECK(output_surface->BindToClient(&output_surface_client)); | 2302 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2298 | 2303 |
| 2299 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2304 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2300 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2305 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2301 | 2306 |
| 2302 gfx::Size size(1, 1); | 2307 gfx::Size size(1, 1); |
| 2303 ResourceFormat format = RGBA_8888; | 2308 ResourceFormat format = RGBA_8888; |
| 2304 int texture_id = 1; | 2309 int texture_id = 1; |
| 2305 | 2310 |
| 2306 // Check that the texture gets created with the right sampler settings. | 2311 // Check that the texture gets created with the right sampler settings. |
| 2307 ResourceProvider::ResourceId id = resource_provider->CreateManagedResource( | 2312 ResourceProvider::ResourceId id = resource_provider->CreateManagedResource( |
| 2308 size, | 2313 size, |
| 2309 GL_TEXTURE_2D, | 2314 GL_TEXTURE_2D, |
| 2310 GL_CLAMP_TO_EDGE, | 2315 GL_CLAMP_TO_EDGE, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 2339 scoped_ptr<TextureStateTrackingContext> context_owned( | 2344 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2340 new TextureStateTrackingContext); | 2345 new TextureStateTrackingContext); |
| 2341 TextureStateTrackingContext* context = context_owned.get(); | 2346 TextureStateTrackingContext* context = context_owned.get(); |
| 2342 | 2347 |
| 2343 FakeOutputSurfaceClient output_surface_client; | 2348 FakeOutputSurfaceClient output_surface_client; |
| 2344 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2349 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2345 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2350 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2346 CHECK(output_surface->BindToClient(&output_surface_client)); | 2351 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2347 | 2352 |
| 2348 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2353 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2349 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2354 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2350 | 2355 |
| 2351 gfx::Size size(1, 1); | 2356 gfx::Size size(1, 1); |
| 2352 ResourceFormat format = RGBA_8888; | 2357 ResourceFormat format = RGBA_8888; |
| 2353 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM; | 2358 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM; |
| 2354 | 2359 |
| 2355 for (int texture_id = 1; texture_id <= 2; ++texture_id) { | 2360 for (int texture_id = 1; texture_id <= 2; ++texture_id) { |
| 2356 GLint wrap_mode = texture_id == 1 ? GL_CLAMP_TO_EDGE : GL_REPEAT; | 2361 GLint wrap_mode = texture_id == 1 ? GL_CLAMP_TO_EDGE : GL_REPEAT; |
| 2357 // Check that the texture gets created with the right sampler settings. | 2362 // Check that the texture gets created with the right sampler settings. |
| 2358 ResourceProvider::ResourceId id = | 2363 ResourceProvider::ResourceId id = |
| 2359 resource_provider->CreateGLTexture(size, | 2364 resource_provider->CreateGLTexture(size, |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2393 scoped_ptr<base::SharedMemory> shared_memory( | 2398 scoped_ptr<base::SharedMemory> shared_memory( |
| 2394 CreateAndFillSharedMemory(size, kBadBeef)); | 2399 CreateAndFillSharedMemory(size, kBadBeef)); |
| 2395 | 2400 |
| 2396 FakeOutputSurfaceClient output_surface_client; | 2401 FakeOutputSurfaceClient output_surface_client; |
| 2397 scoped_ptr<OutputSurface> output_surface( | 2402 scoped_ptr<OutputSurface> output_surface( |
| 2398 FakeOutputSurface::CreateSoftware(make_scoped_ptr( | 2403 FakeOutputSurface::CreateSoftware(make_scoped_ptr( |
| 2399 new SoftwareOutputDevice))); | 2404 new SoftwareOutputDevice))); |
| 2400 CHECK(output_surface->BindToClient(&output_surface_client)); | 2405 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2401 | 2406 |
| 2402 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2407 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2403 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2408 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2404 | 2409 |
| 2405 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( | 2410 scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create( |
| 2406 base::Bind(&EmptyReleaseCallback)); | 2411 base::Bind(&EmptyReleaseCallback)); |
| 2407 TextureMailbox mailbox(shared_memory.get(), size); | 2412 TextureMailbox mailbox(shared_memory.get(), size); |
| 2408 | 2413 |
| 2409 ResourceProvider::ResourceId id = | 2414 ResourceProvider::ResourceId id = |
| 2410 resource_provider->CreateResourceFromTextureMailbox( | 2415 resource_provider->CreateResourceFromTextureMailbox( |
| 2411 mailbox, callback.Pass()); | 2416 mailbox, callback.Pass()); |
| 2412 EXPECT_NE(0u, id); | 2417 EXPECT_NE(0u, id); |
| 2413 | 2418 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 2428 scoped_ptr<TextureStateTrackingContext> context_owned( | 2433 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2429 new TextureStateTrackingContext); | 2434 new TextureStateTrackingContext); |
| 2430 TextureStateTrackingContext* context = context_owned.get(); | 2435 TextureStateTrackingContext* context = context_owned.get(); |
| 2431 | 2436 |
| 2432 FakeOutputSurfaceClient output_surface_client; | 2437 FakeOutputSurfaceClient output_surface_client; |
| 2433 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2438 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2434 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2439 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2435 CHECK(output_surface->BindToClient(&output_surface_client)); | 2440 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2436 | 2441 |
| 2437 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2442 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2438 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2443 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2439 | 2444 |
| 2440 unsigned texture_id = 1; | 2445 unsigned texture_id = 1; |
| 2441 uint32 sync_point = 30; | 2446 uint32 sync_point = 30; |
| 2442 unsigned target = GL_TEXTURE_2D; | 2447 unsigned target = GL_TEXTURE_2D; |
| 2443 | 2448 |
| 2444 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); | 2449 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); |
| 2445 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); | 2450 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); |
| 2446 EXPECT_CALL(*context, insertSyncPoint()).Times(0); | 2451 EXPECT_CALL(*context, insertSyncPoint()).Times(0); |
| 2447 EXPECT_CALL(*context, produceTextureCHROMIUM(_, _)).Times(0); | 2452 EXPECT_CALL(*context, produceTextureCHROMIUM(_, _)).Times(0); |
| 2448 EXPECT_CALL(*context, consumeTextureCHROMIUM(_, _)).Times(0); | 2453 EXPECT_CALL(*context, consumeTextureCHROMIUM(_, _)).Times(0); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2492 scoped_ptr<TextureStateTrackingContext> context_owned( | 2497 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 2493 new TextureStateTrackingContext); | 2498 new TextureStateTrackingContext); |
| 2494 TextureStateTrackingContext* context = context_owned.get(); | 2499 TextureStateTrackingContext* context = context_owned.get(); |
| 2495 | 2500 |
| 2496 FakeOutputSurfaceClient output_surface_client; | 2501 FakeOutputSurfaceClient output_surface_client; |
| 2497 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2502 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2498 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2503 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2499 CHECK(output_surface->BindToClient(&output_surface_client)); | 2504 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2500 | 2505 |
| 2501 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2506 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2502 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2507 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2503 | 2508 |
| 2504 unsigned texture_id = 1; | 2509 unsigned texture_id = 1; |
| 2505 uint32 sync_point = 30; | 2510 uint32 sync_point = 30; |
| 2506 unsigned target = GL_TEXTURE_EXTERNAL_OES; | 2511 unsigned target = GL_TEXTURE_EXTERNAL_OES; |
| 2507 | 2512 |
| 2508 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); | 2513 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); |
| 2509 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); | 2514 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); |
| 2510 EXPECT_CALL(*context, insertSyncPoint()).Times(0); | 2515 EXPECT_CALL(*context, insertSyncPoint()).Times(0); |
| 2511 EXPECT_CALL(*context, produceTextureCHROMIUM(_, _)).Times(0); | 2516 EXPECT_CALL(*context, produceTextureCHROMIUM(_, _)).Times(0); |
| 2512 EXPECT_CALL(*context, consumeTextureCHROMIUM(_, _)).Times(0); | 2517 EXPECT_CALL(*context, consumeTextureCHROMIUM(_, _)).Times(0); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2630 scoped_ptr<AllocationTrackingContext3D> context_owned( | 2635 scoped_ptr<AllocationTrackingContext3D> context_owned( |
| 2631 new StrictMock<AllocationTrackingContext3D>); | 2636 new StrictMock<AllocationTrackingContext3D>); |
| 2632 AllocationTrackingContext3D* context = context_owned.get(); | 2637 AllocationTrackingContext3D* context = context_owned.get(); |
| 2633 | 2638 |
| 2634 FakeOutputSurfaceClient output_surface_client; | 2639 FakeOutputSurfaceClient output_surface_client; |
| 2635 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2640 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2636 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2641 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2637 CHECK(output_surface->BindToClient(&output_surface_client)); | 2642 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2638 | 2643 |
| 2639 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2644 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2640 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2645 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2641 | 2646 |
| 2642 gfx::Size size(2, 2); | 2647 gfx::Size size(2, 2); |
| 2643 gfx::Vector2d offset(0, 0); | 2648 gfx::Vector2d offset(0, 0); |
| 2644 gfx::Rect rect(0, 0, 2, 2); | 2649 gfx::Rect rect(0, 0, 2, 2); |
| 2645 ResourceFormat format = RGBA_8888; | 2650 ResourceFormat format = RGBA_8888; |
| 2646 ResourceProvider::ResourceId id = 0; | 2651 ResourceProvider::ResourceId id = 0; |
| 2647 uint8_t pixels[16] = { 0 }; | 2652 uint8_t pixels[16] = { 0 }; |
| 2648 int texture_id = 123; | 2653 int texture_id = 123; |
| 2649 | 2654 |
| 2650 // Lazy allocation. Don't allocate when creating the resource. | 2655 // Lazy allocation. Don't allocate when creating the resource. |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2703 new StrictMock<AllocationTrackingContext3D>); | 2708 new StrictMock<AllocationTrackingContext3D>); |
| 2704 AllocationTrackingContext3D* context = context_owned.get(); | 2709 AllocationTrackingContext3D* context = context_owned.get(); |
| 2705 context->set_support_texture_storage(true); | 2710 context->set_support_texture_storage(true); |
| 2706 | 2711 |
| 2707 FakeOutputSurfaceClient output_surface_client; | 2712 FakeOutputSurfaceClient output_surface_client; |
| 2708 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2713 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2709 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2714 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2710 CHECK(output_surface->BindToClient(&output_surface_client)); | 2715 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2711 | 2716 |
| 2712 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2717 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2713 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2718 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2714 | 2719 |
| 2715 gfx::Size size(2, 2); | 2720 gfx::Size size(2, 2); |
| 2716 ResourceFormat format = RGBA_8888; | 2721 ResourceFormat format = RGBA_8888; |
| 2717 ResourceProvider::ResourceId id = 0; | 2722 ResourceProvider::ResourceId id = 0; |
| 2718 int texture_id = 123; | 2723 int texture_id = 123; |
| 2719 | 2724 |
| 2720 // Lazy allocation. Don't allocate when creating the resource. | 2725 // Lazy allocation. Don't allocate when creating the resource. |
| 2721 id = resource_provider->CreateResource( | 2726 id = resource_provider->CreateResource( |
| 2722 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2727 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2723 | 2728 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2740 new StrictMock<AllocationTrackingContext3D>); | 2745 new StrictMock<AllocationTrackingContext3D>); |
| 2741 AllocationTrackingContext3D* context = context_owned.get(); | 2746 AllocationTrackingContext3D* context = context_owned.get(); |
| 2742 context->set_support_texture_storage(true); | 2747 context->set_support_texture_storage(true); |
| 2743 | 2748 |
| 2744 FakeOutputSurfaceClient output_surface_client; | 2749 FakeOutputSurfaceClient output_surface_client; |
| 2745 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2750 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2746 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2751 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2747 CHECK(output_surface->BindToClient(&output_surface_client)); | 2752 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2748 | 2753 |
| 2749 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2754 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2750 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2755 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2751 | 2756 |
| 2752 gfx::Size size(2, 2); | 2757 gfx::Size size(2, 2); |
| 2753 ResourceFormat format = RGBA_8888; | 2758 ResourceFormat format = RGBA_8888; |
| 2754 ResourceProvider::ResourceId id = 0; | 2759 ResourceProvider::ResourceId id = 0; |
| 2755 int texture_id = 123; | 2760 int texture_id = 123; |
| 2756 | 2761 |
| 2757 // Lazy allocation. Don't allocate when creating the resource. | 2762 // Lazy allocation. Don't allocate when creating the resource. |
| 2758 id = resource_provider->CreateResource( | 2763 id = resource_provider->CreateResource( |
| 2759 size, | 2764 size, |
| 2760 GL_CLAMP_TO_EDGE, | 2765 GL_CLAMP_TO_EDGE, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2783 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2788 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2784 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2789 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2785 CHECK(output_surface->BindToClient(&output_surface_client)); | 2790 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2786 | 2791 |
| 2787 gfx::Size size(2, 2); | 2792 gfx::Size size(2, 2); |
| 2788 ResourceFormat format = RGBA_8888; | 2793 ResourceFormat format = RGBA_8888; |
| 2789 ResourceProvider::ResourceId id = 0; | 2794 ResourceProvider::ResourceId id = 0; |
| 2790 int texture_id = 123; | 2795 int texture_id = 123; |
| 2791 | 2796 |
| 2792 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2797 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2793 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2798 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2794 | 2799 |
| 2795 id = resource_provider->CreateResource( | 2800 id = resource_provider->CreateResource( |
| 2796 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2801 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2797 resource_provider->AcquirePixelRasterBuffer(id); | 2802 resource_provider->AcquirePixelRasterBuffer(id); |
| 2798 | 2803 |
| 2799 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); | 2804 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
| 2800 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); | 2805 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
| 2801 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) | 2806 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) |
| 2802 .Times(1); | 2807 .Times(1); |
| 2803 resource_provider->BeginSetPixels(id); | 2808 resource_provider->BeginSetPixels(id); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2824 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2829 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2825 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2830 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2826 CHECK(output_surface->BindToClient(&output_surface_client)); | 2831 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2827 | 2832 |
| 2828 gfx::Size size(2, 2); | 2833 gfx::Size size(2, 2); |
| 2829 ResourceFormat format = RGBA_8888; | 2834 ResourceFormat format = RGBA_8888; |
| 2830 ResourceProvider::ResourceId id = 0; | 2835 ResourceProvider::ResourceId id = 0; |
| 2831 int texture_id = 123; | 2836 int texture_id = 123; |
| 2832 | 2837 |
| 2833 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2838 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2834 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2839 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2835 | 2840 |
| 2836 id = resource_provider->CreateResource( | 2841 id = resource_provider->CreateResource( |
| 2837 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2842 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2838 resource_provider->AcquirePixelRasterBuffer(id); | 2843 resource_provider->AcquirePixelRasterBuffer(id); |
| 2839 | 2844 |
| 2840 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); | 2845 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
| 2841 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); | 2846 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
| 2842 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) | 2847 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) |
| 2843 .Times(1); | 2848 .Times(1); |
| 2844 resource_provider->BeginSetPixels(id); | 2849 resource_provider->BeginSetPixels(id); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2865 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 2870 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2866 context_owned.PassAs<TestWebGraphicsContext3D>())); | 2871 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2867 CHECK(output_surface->BindToClient(&output_surface_client)); | 2872 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2868 | 2873 |
| 2869 gfx::Size size(2, 2); | 2874 gfx::Size size(2, 2); |
| 2870 ResourceFormat format = RGBA_8888; | 2875 ResourceFormat format = RGBA_8888; |
| 2871 ResourceProvider::ResourceId id = 0; | 2876 ResourceProvider::ResourceId id = 0; |
| 2872 int texture_id = 123; | 2877 int texture_id = 123; |
| 2873 | 2878 |
| 2874 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2879 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2875 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2880 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2876 | 2881 |
| 2877 EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); | 2882 EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); |
| 2878 | 2883 |
| 2879 id = resource_provider->CreateResource( | 2884 id = resource_provider->CreateResource( |
| 2880 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2885 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2881 context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, | 2886 context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, |
| 2882 GL_INNOCENT_CONTEXT_RESET_ARB); | 2887 GL_INNOCENT_CONTEXT_RESET_ARB); |
| 2883 | 2888 |
| 2884 resource_provider->AcquirePixelRasterBuffer(id); | 2889 resource_provider->AcquirePixelRasterBuffer(id); |
| 2885 SkCanvas* raster_canvas = resource_provider->MapPixelRasterBuffer(id); | 2890 SkCanvas* raster_canvas = resource_provider->MapPixelRasterBuffer(id); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2904 | 2909 |
| 2905 const int kWidth = 2; | 2910 const int kWidth = 2; |
| 2906 const int kHeight = 2; | 2911 const int kHeight = 2; |
| 2907 gfx::Size size(kWidth, kHeight); | 2912 gfx::Size size(kWidth, kHeight); |
| 2908 ResourceFormat format = RGBA_8888; | 2913 ResourceFormat format = RGBA_8888; |
| 2909 ResourceProvider::ResourceId id = 0; | 2914 ResourceProvider::ResourceId id = 0; |
| 2910 const unsigned kTextureId = 123u; | 2915 const unsigned kTextureId = 123u; |
| 2911 const unsigned kImageId = 234u; | 2916 const unsigned kImageId = 234u; |
| 2912 | 2917 |
| 2913 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 2918 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 2914 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 2919 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 2915 | 2920 |
| 2916 id = resource_provider->CreateResource( | 2921 id = resource_provider->CreateResource( |
| 2917 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 2922 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 2918 | 2923 |
| 2919 const int kStride = 4; | 2924 const int kStride = 4; |
| 2920 void* dummy_mapped_buffer_address = NULL; | 2925 void* dummy_mapped_buffer_address = NULL; |
| 2921 EXPECT_CALL(*context, createImageCHROMIUM(kWidth, kHeight, GL_RGBA8_OES)) | 2926 EXPECT_CALL(*context, createImageCHROMIUM(kWidth, kHeight, GL_RGBA8_OES)) |
| 2922 .WillOnce(Return(kImageId)) | 2927 .WillOnce(Return(kImageId)) |
| 2923 .RetiresOnSaturation(); | 2928 .RetiresOnSaturation(); |
| 2924 EXPECT_CALL(*context, getImageParameterivCHROMIUM(kImageId, | 2929 EXPECT_CALL(*context, getImageParameterivCHROMIUM(kImageId, |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2996 FakeOutputSurface::CreateSoftware(make_scoped_ptr( | 3001 FakeOutputSurface::CreateSoftware(make_scoped_ptr( |
| 2997 new SoftwareOutputDevice))); | 3002 new SoftwareOutputDevice))); |
| 2998 CHECK(output_surface->BindToClient(&output_surface_client)); | 3003 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 2999 | 3004 |
| 3000 gfx::Size size(1, 1); | 3005 gfx::Size size(1, 1); |
| 3001 ResourceFormat format = RGBA_8888; | 3006 ResourceFormat format = RGBA_8888; |
| 3002 ResourceProvider::ResourceId id = 0; | 3007 ResourceProvider::ResourceId id = 0; |
| 3003 const uint32_t kBadBeef = 0xbadbeef; | 3008 const uint32_t kBadBeef = 0xbadbeef; |
| 3004 | 3009 |
| 3005 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 3010 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 3006 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 3011 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 3007 | 3012 |
| 3008 id = resource_provider->CreateResource( | 3013 id = resource_provider->CreateResource( |
| 3009 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 3014 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 3010 | 3015 |
| 3011 SkBitmap bitmap; | 3016 SkBitmap bitmap; |
| 3012 bitmap.allocN32Pixels(size.width(), size.height()); | 3017 bitmap.allocN32Pixels(size.width(), size.height()); |
| 3013 *(bitmap.getAddr32(0, 0)) = kBadBeef; | 3018 *(bitmap.getAddr32(0, 0)) = kBadBeef; |
| 3014 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(id); | 3019 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(id); |
| 3015 ASSERT_TRUE(!!canvas); | 3020 ASSERT_TRUE(!!canvas); |
| 3016 canvas->writePixels(bitmap, 0, 0); | 3021 canvas->writePixels(bitmap, 0, 0); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 3044 const int kHeight = 2; | 3049 const int kHeight = 2; |
| 3045 gfx::Size size(kWidth, kHeight); | 3050 gfx::Size size(kWidth, kHeight); |
| 3046 ResourceFormat format = RGBA_8888; | 3051 ResourceFormat format = RGBA_8888; |
| 3047 ResourceProvider::ResourceId source_id = 0; | 3052 ResourceProvider::ResourceId source_id = 0; |
| 3048 ResourceProvider::ResourceId dest_id = 0; | 3053 ResourceProvider::ResourceId dest_id = 0; |
| 3049 const unsigned kSourceTextureId = 123u; | 3054 const unsigned kSourceTextureId = 123u; |
| 3050 const unsigned kDestTextureId = 321u; | 3055 const unsigned kDestTextureId = 321u; |
| 3051 const unsigned kImageId = 234u; | 3056 const unsigned kImageId = 234u; |
| 3052 | 3057 |
| 3053 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 3058 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 3054 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 3059 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 3055 | 3060 |
| 3056 source_id = resource_provider->CreateResource( | 3061 source_id = resource_provider->CreateResource( |
| 3057 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 3062 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 3058 | 3063 |
| 3059 const int kStride = 4; | 3064 const int kStride = 4; |
| 3060 void* dummy_mapped_buffer_address = NULL; | 3065 void* dummy_mapped_buffer_address = NULL; |
| 3061 EXPECT_CALL(*context, createImageCHROMIUM(kWidth, kHeight, GL_RGBA8_OES)) | 3066 EXPECT_CALL(*context, createImageCHROMIUM(kWidth, kHeight, GL_RGBA8_OES)) |
| 3062 .WillOnce(Return(kImageId)) | 3067 .WillOnce(Return(kImageId)) |
| 3063 .RetiresOnSaturation(); | 3068 .RetiresOnSaturation(); |
| 3064 EXPECT_CALL( | 3069 EXPECT_CALL( |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3120 make_scoped_ptr(new SoftwareOutputDevice))); | 3125 make_scoped_ptr(new SoftwareOutputDevice))); |
| 3121 CHECK(output_surface->BindToClient(&output_surface_client)); | 3126 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3122 | 3127 |
| 3123 gfx::Size size(1, 1); | 3128 gfx::Size size(1, 1); |
| 3124 ResourceFormat format = RGBA_8888; | 3129 ResourceFormat format = RGBA_8888; |
| 3125 ResourceProvider::ResourceId source_id = 0; | 3130 ResourceProvider::ResourceId source_id = 0; |
| 3126 ResourceProvider::ResourceId dest_id = 0; | 3131 ResourceProvider::ResourceId dest_id = 0; |
| 3127 const uint32_t kBadBeef = 0xbadbeef; | 3132 const uint32_t kBadBeef = 0xbadbeef; |
| 3128 | 3133 |
| 3129 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 3134 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 3130 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1)); | 3135 output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1, false)); |
| 3131 | 3136 |
| 3132 source_id = resource_provider->CreateResource( | 3137 source_id = resource_provider->CreateResource( |
| 3133 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 3138 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 3134 | 3139 |
| 3135 SkBitmap bitmap; | 3140 SkBitmap bitmap; |
| 3136 bitmap.allocN32Pixels(size.width(), size.height()); | 3141 bitmap.allocN32Pixels(size.width(), size.height()); |
| 3137 *(bitmap.getAddr32(0, 0)) = kBadBeef; | 3142 *(bitmap.getAddr32(0, 0)) = kBadBeef; |
| 3138 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(source_id); | 3143 SkCanvas* canvas = resource_provider->MapImageRasterBuffer(source_id); |
| 3139 ASSERT_TRUE(!!canvas); | 3144 ASSERT_TRUE(!!canvas); |
| 3140 canvas->writePixels(bitmap, 0, 0); | 3145 canvas->writePixels(bitmap, 0, 0); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3177 TEST(ResourceProviderTest, BasicInitializeGLSoftware) { | 3182 TEST(ResourceProviderTest, BasicInitializeGLSoftware) { |
| 3178 scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); | 3183 scoped_ptr<ContextSharedData> shared_data = ContextSharedData::Create(); |
| 3179 FakeOutputSurfaceClient client; | 3184 FakeOutputSurfaceClient client; |
| 3180 scoped_ptr<FakeOutputSurface> output_surface( | 3185 scoped_ptr<FakeOutputSurface> output_surface( |
| 3181 FakeOutputSurface::CreateDeferredGL( | 3186 FakeOutputSurface::CreateDeferredGL( |
| 3182 scoped_ptr<SoftwareOutputDevice>(new SoftwareOutputDevice))); | 3187 scoped_ptr<SoftwareOutputDevice>(new SoftwareOutputDevice))); |
| 3183 EXPECT_TRUE(output_surface->BindToClient(&client)); | 3188 EXPECT_TRUE(output_surface->BindToClient(&client)); |
| 3184 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 3189 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
| 3185 new TestSharedBitmapManager()); | 3190 new TestSharedBitmapManager()); |
| 3186 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 3191 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
| 3187 output_surface.get(), shared_bitmap_manager.get(), 0, false, 1)); | 3192 output_surface.get(), shared_bitmap_manager.get(), 0, false, 1, false)); |
| 3188 | 3193 |
| 3189 CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); | 3194 CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); |
| 3190 | 3195 |
| 3191 InitializeGLAndCheck(shared_data.get(), | 3196 InitializeGLAndCheck(shared_data.get(), |
| 3192 resource_provider.get(), | 3197 resource_provider.get(), |
| 3193 output_surface.get()); | 3198 output_surface.get()); |
| 3194 | 3199 |
| 3195 resource_provider->InitializeSoftware(); | 3200 resource_provider->InitializeSoftware(); |
| 3196 output_surface->ReleaseGL(); | 3201 output_surface->ReleaseGL(); |
| 3197 CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); | 3202 CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 3214 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3219 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 3215 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3220 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 3216 CHECK(output_surface->BindToClient(&output_surface_client)); | 3221 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3217 | 3222 |
| 3218 gfx::Size size(4, 4); | 3223 gfx::Size size(4, 4); |
| 3219 scoped_ptr<ResourceProvider> resource_provider( | 3224 scoped_ptr<ResourceProvider> resource_provider( |
| 3220 ResourceProvider::Create(output_surface.get(), | 3225 ResourceProvider::Create(output_surface.get(), |
| 3221 shared_bitmap_manager_.get(), | 3226 shared_bitmap_manager_.get(), |
| 3222 0, | 3227 0, |
| 3223 false, | 3228 false, |
| 3224 1)); | 3229 1, |
| 3230 false)); |
| 3225 int texture_id = 123; | 3231 int texture_id = 123; |
| 3226 | 3232 |
| 3227 ResourceProvider::ResourceId id = resource_provider->CreateResource( | 3233 ResourceProvider::ResourceId id = resource_provider->CreateResource( |
| 3228 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, ETC1); | 3234 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, ETC1); |
| 3229 EXPECT_NE(0u, id); | 3235 EXPECT_NE(0u, id); |
| 3230 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); | 3236 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
| 3231 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); | 3237 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
| 3232 resource_provider->AllocateForTesting(id); | 3238 resource_provider->AllocateForTesting(id); |
| 3233 | 3239 |
| 3234 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1); | 3240 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 3248 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 3254 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 3249 context_owned.PassAs<TestWebGraphicsContext3D>())); | 3255 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 3250 CHECK(output_surface->BindToClient(&output_surface_client)); | 3256 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 3251 | 3257 |
| 3252 gfx::Size size(4, 4); | 3258 gfx::Size size(4, 4); |
| 3253 scoped_ptr<ResourceProvider> resource_provider( | 3259 scoped_ptr<ResourceProvider> resource_provider( |
| 3254 ResourceProvider::Create(output_surface.get(), | 3260 ResourceProvider::Create(output_surface.get(), |
| 3255 shared_bitmap_manager_.get(), | 3261 shared_bitmap_manager_.get(), |
| 3256 0, | 3262 0, |
| 3257 false, | 3263 false, |
| 3258 1)); | 3264 1, |
| 3265 false)); |
| 3259 int texture_id = 123; | 3266 int texture_id = 123; |
| 3260 uint8_t pixels[8]; | 3267 uint8_t pixels[8]; |
| 3261 | 3268 |
| 3262 ResourceProvider::ResourceId id = resource_provider->CreateResource( | 3269 ResourceProvider::ResourceId id = resource_provider->CreateResource( |
| 3263 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, ETC1); | 3270 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, ETC1); |
| 3264 EXPECT_NE(0u, id); | 3271 EXPECT_NE(0u, id); |
| 3265 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); | 3272 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
| 3266 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3); | 3273 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3); |
| 3267 EXPECT_CALL(*context, | 3274 EXPECT_CALL(*context, |
| 3268 compressedTexImage2D( | 3275 compressedTexImage2D( |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3307 gfx::Size size(1, 1); | 3314 gfx::Size size(1, 1); |
| 3308 ResourceFormat format = RGBA_8888; | 3315 ResourceFormat format = RGBA_8888; |
| 3309 | 3316 |
| 3310 { | 3317 { |
| 3311 size_t kTextureAllocationChunkSize = 1; | 3318 size_t kTextureAllocationChunkSize = 1; |
| 3312 scoped_ptr<ResourceProvider> resource_provider( | 3319 scoped_ptr<ResourceProvider> resource_provider( |
| 3313 ResourceProvider::Create(output_surface.get(), | 3320 ResourceProvider::Create(output_surface.get(), |
| 3314 shared_bitmap_manager.get(), | 3321 shared_bitmap_manager.get(), |
| 3315 0, | 3322 0, |
| 3316 false, | 3323 false, |
| 3317 kTextureAllocationChunkSize)); | 3324 kTextureAllocationChunkSize, |
| 3325 false)); |
| 3318 | 3326 |
| 3319 ResourceProvider::ResourceId id = resource_provider->CreateResource( | 3327 ResourceProvider::ResourceId id = resource_provider->CreateResource( |
| 3320 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 3328 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 3321 resource_provider->AllocateForTesting(id); | 3329 resource_provider->AllocateForTesting(id); |
| 3322 Mock::VerifyAndClearExpectations(context); | 3330 Mock::VerifyAndClearExpectations(context); |
| 3323 | 3331 |
| 3324 DCHECK_EQ(2u, context->PeekTextureId()); | 3332 DCHECK_EQ(2u, context->PeekTextureId()); |
| 3325 resource_provider->DeleteResource(id); | 3333 resource_provider->DeleteResource(id); |
| 3326 } | 3334 } |
| 3327 | 3335 |
| 3328 { | 3336 { |
| 3329 size_t kTextureAllocationChunkSize = 8; | 3337 size_t kTextureAllocationChunkSize = 8; |
| 3330 scoped_ptr<ResourceProvider> resource_provider( | 3338 scoped_ptr<ResourceProvider> resource_provider( |
| 3331 ResourceProvider::Create(output_surface.get(), | 3339 ResourceProvider::Create(output_surface.get(), |
| 3332 shared_bitmap_manager.get(), | 3340 shared_bitmap_manager.get(), |
| 3333 0, | 3341 0, |
| 3334 false, | 3342 false, |
| 3335 kTextureAllocationChunkSize)); | 3343 kTextureAllocationChunkSize, |
| 3344 false)); |
| 3336 | 3345 |
| 3337 ResourceProvider::ResourceId id = resource_provider->CreateResource( | 3346 ResourceProvider::ResourceId id = resource_provider->CreateResource( |
| 3338 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); | 3347 size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
| 3339 resource_provider->AllocateForTesting(id); | 3348 resource_provider->AllocateForTesting(id); |
| 3340 Mock::VerifyAndClearExpectations(context); | 3349 Mock::VerifyAndClearExpectations(context); |
| 3341 | 3350 |
| 3342 DCHECK_EQ(10u, context->PeekTextureId()); | 3351 DCHECK_EQ(10u, context->PeekTextureId()); |
| 3343 resource_provider->DeleteResource(id); | 3352 resource_provider->DeleteResource(id); |
| 3344 } | 3353 } |
| 3345 } | 3354 } |
| 3346 | 3355 |
| 3347 } // namespace | 3356 } // namespace |
| 3348 } // namespace cc | 3357 } // namespace cc |
| OLD | NEW |