Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1026)

Side by Side Diff: cc/resources/resource_provider_unittest.cc

Issue 1251693003: cc: Fix the format of GpuMemoryBuffer for SurfaceTexture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix kVideoImageTextureTarget Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include <vector>
10 11
11 #include "base/bind.h" 12 #include "base/bind.h"
12 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
13 #include "base/logging.h" 14 #include "base/logging.h"
14 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
15 #include "cc/base/scoped_ptr_deque.h" 16 #include "cc/base/scoped_ptr_deque.h"
16 #include "cc/output/output_surface.h" 17 #include "cc/output/output_surface.h"
17 #include "cc/resources/returned_resource.h" 18 #include "cc/resources/returned_resource.h"
18 #include "cc/resources/shared_bitmap_manager.h" 19 #include "cc/resources/shared_bitmap_manager.h"
19 #include "cc/resources/single_release_callback.h" 20 #include "cc/resources/single_release_callback.h"
(...skipping 15 matching lines...) Expand all
35 using testing::Mock; 36 using testing::Mock;
36 using testing::NiceMock; 37 using testing::NiceMock;
37 using testing::Return; 38 using testing::Return;
38 using testing::SetArgPointee; 39 using testing::SetArgPointee;
39 using testing::StrictMock; 40 using testing::StrictMock;
40 using testing::_; 41 using testing::_;
41 42
42 namespace cc { 43 namespace cc {
43 namespace { 44 namespace {
44 45
46 const std::vector<unsigned> g_imaget_targets(gfx::GpuMemoryBuffer::FORMAT_LAST +
reveman 2015/07/31 16:05:43 nit: s/g_imaget_targets/g_image_texture_targets/
47 1,
48 GL_TEXTURE_2D);
49
45 static void EmptyReleaseCallback(uint32 sync_point, 50 static void EmptyReleaseCallback(uint32 sync_point,
46 bool lost_resource, 51 bool lost_resource,
47 BlockingTaskRunner* main_thread_task_runner) { 52 BlockingTaskRunner* main_thread_task_runner) {
48 } 53 }
49 54
50 static void ReleaseCallback( 55 static void ReleaseCallback(
51 uint32* release_sync_point, 56 uint32* release_sync_point,
52 bool* release_lost_resource, 57 bool* release_lost_resource,
53 BlockingTaskRunner** release_main_thread_task_runner, 58 BlockingTaskRunner** release_main_thread_task_runner,
54 uint32 sync_point, 59 uint32 sync_point,
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 } 419 }
415 CHECK(output_surface_->BindToClient(&output_surface_client_)); 420 CHECK(output_surface_->BindToClient(&output_surface_client_));
416 CHECK(child_output_surface_->BindToClient(&child_output_surface_client_)); 421 CHECK(child_output_surface_->BindToClient(&child_output_surface_client_));
417 422
418 shared_bitmap_manager_.reset(new TestSharedBitmapManager); 423 shared_bitmap_manager_.reset(new TestSharedBitmapManager);
419 gpu_memory_buffer_manager_.reset(new TestGpuMemoryBufferManager); 424 gpu_memory_buffer_manager_.reset(new TestGpuMemoryBufferManager);
420 425
421 resource_provider_ = ResourceProvider::Create( 426 resource_provider_ = ResourceProvider::Create(
422 output_surface_.get(), shared_bitmap_manager_.get(), 427 output_surface_.get(), shared_bitmap_manager_.get(),
423 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 428 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0,
424 false, 1, false); 429 false, 1, false, g_imaget_targets);
425 child_resource_provider_ = ResourceProvider::Create( 430 child_resource_provider_ = ResourceProvider::Create(
426 child_output_surface_.get(), shared_bitmap_manager_.get(), 431 child_output_surface_.get(), shared_bitmap_manager_.get(),
427 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 432 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0,
428 false, 1, false); 433 false, 1, false, g_imaget_targets);
429 } 434 }
430 435
431 ResourceProviderTest() : ResourceProviderTest(true) {} 436 ResourceProviderTest() : ResourceProviderTest(true) {}
432 437
433 static void CollectResources(ReturnedResourceArray* array, 438 static void CollectResources(ReturnedResourceArray* array,
434 const ReturnedResourceArray& returned, 439 const ReturnedResourceArray& returned,
435 BlockingTaskRunner* main_thread_task_runner) { 440 BlockingTaskRunner* main_thread_task_runner) {
436 array->insert(array->end(), returned.begin(), returned.end()); 441 array->insert(array->end(), returned.begin(), returned.end());
437 } 442 }
438 443
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 scoped_ptr<ResourceProviderContext> child_context_owned( 1365 scoped_ptr<ResourceProviderContext> child_context_owned(
1361 ResourceProviderContext::Create(shared_data_.get())); 1366 ResourceProviderContext::Create(shared_data_.get()));
1362 1367
1363 FakeOutputSurfaceClient child_output_surface_client; 1368 FakeOutputSurfaceClient child_output_surface_client;
1364 scoped_ptr<OutputSurface> child_output_surface( 1369 scoped_ptr<OutputSurface> child_output_surface(
1365 FakeOutputSurface::Create3d(child_context_owned.Pass())); 1370 FakeOutputSurface::Create3d(child_context_owned.Pass()));
1366 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); 1371 CHECK(child_output_surface->BindToClient(&child_output_surface_client));
1367 1372
1368 scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( 1373 scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create(
1369 child_output_surface.get(), shared_bitmap_manager_.get(), 1374 child_output_surface.get(), shared_bitmap_manager_.get(),
1370 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 1375 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
1376 g_imaget_targets));
1371 1377
1372 gfx::Size size(1, 1); 1378 gfx::Size size(1, 1);
1373 ResourceFormat format = RGBA_8888; 1379 ResourceFormat format = RGBA_8888;
1374 size_t pixel_size = TextureSizeBytes(size, format); 1380 size_t pixel_size = TextureSizeBytes(size, format);
1375 ASSERT_EQ(4U, pixel_size); 1381 ASSERT_EQ(4U, pixel_size);
1376 1382
1377 ResourceId id1 = child_resource_provider->CreateResource( 1383 ResourceId id1 = child_resource_provider->CreateResource(
1378 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 1384 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
1379 uint8_t data1[4] = { 1, 2, 3, 4 }; 1385 uint8_t data1[4] = { 1, 2, 3, 4 };
1380 child_resource_provider->CopyToResource(id1, data1, size); 1386 child_resource_provider->CopyToResource(id1, data1, size);
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
1844 FakeOutputSurfaceClient child_output_surface_client; 1850 FakeOutputSurfaceClient child_output_surface_client;
1845 scoped_ptr<OutputSurface> child_output_surface( 1851 scoped_ptr<OutputSurface> child_output_surface(
1846 FakeOutputSurface::Create3d(child_context_owned.Pass())); 1852 FakeOutputSurface::Create3d(child_context_owned.Pass()));
1847 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); 1853 CHECK(child_output_surface->BindToClient(&child_output_surface_client));
1848 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 1854 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
1849 new TestSharedBitmapManager()); 1855 new TestSharedBitmapManager());
1850 1856
1851 scoped_ptr<ResourceProvider> child_resource_provider( 1857 scoped_ptr<ResourceProvider> child_resource_provider(
1852 ResourceProvider::Create(child_output_surface.get(), 1858 ResourceProvider::Create(child_output_surface.get(),
1853 shared_bitmap_manager.get(), NULL, NULL, 0, 1859 shared_bitmap_manager.get(), NULL, NULL, 0,
1854 false, 1, false)); 1860 false, 1, false, g_imaget_targets));
1855 1861
1856 scoped_ptr<TextureStateTrackingContext> parent_context_owned( 1862 scoped_ptr<TextureStateTrackingContext> parent_context_owned(
1857 new TextureStateTrackingContext); 1863 new TextureStateTrackingContext);
1858 TextureStateTrackingContext* parent_context = parent_context_owned.get(); 1864 TextureStateTrackingContext* parent_context = parent_context_owned.get();
1859 1865
1860 FakeOutputSurfaceClient parent_output_surface_client; 1866 FakeOutputSurfaceClient parent_output_surface_client;
1861 scoped_ptr<OutputSurface> parent_output_surface( 1867 scoped_ptr<OutputSurface> parent_output_surface(
1862 FakeOutputSurface::Create3d(parent_context_owned.Pass())); 1868 FakeOutputSurface::Create3d(parent_context_owned.Pass()));
1863 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); 1869 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client));
1864 1870
1865 scoped_ptr<ResourceProvider> parent_resource_provider( 1871 scoped_ptr<ResourceProvider> parent_resource_provider(
1866 ResourceProvider::Create(parent_output_surface.get(), 1872 ResourceProvider::Create(parent_output_surface.get(),
1867 shared_bitmap_manager.get(), NULL, NULL, 0, 1873 shared_bitmap_manager.get(), NULL, NULL, 0,
1868 false, 1, false)); 1874 false, 1, false, g_imaget_targets));
1869 1875
1870 gfx::Size size(1, 1); 1876 gfx::Size size(1, 1);
1871 ResourceFormat format = RGBA_8888; 1877 ResourceFormat format = RGBA_8888;
1872 int child_texture_id = 1; 1878 int child_texture_id = 1;
1873 int parent_texture_id = 2; 1879 int parent_texture_id = 2;
1874 1880
1875 size_t pixel_size = TextureSizeBytes(size, format); 1881 size_t pixel_size = TextureSizeBytes(size, format);
1876 ASSERT_EQ(4U, pixel_size); 1882 ASSERT_EQ(4U, pixel_size);
1877 1883
1878 ResourceId id = child_resource_provider->CreateResource( 1884 ResourceId id = child_resource_provider->CreateResource(
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
2490 new TextureStateTrackingContext); 2496 new TextureStateTrackingContext);
2491 TextureStateTrackingContext* context = context_owned.get(); 2497 TextureStateTrackingContext* context = context_owned.get();
2492 2498
2493 FakeOutputSurfaceClient output_surface_client; 2499 FakeOutputSurfaceClient output_surface_client;
2494 scoped_ptr<OutputSurface> output_surface( 2500 scoped_ptr<OutputSurface> output_surface(
2495 FakeOutputSurface::Create3d(context_owned.Pass())); 2501 FakeOutputSurface::Create3d(context_owned.Pass()));
2496 CHECK(output_surface->BindToClient(&output_surface_client)); 2502 CHECK(output_surface->BindToClient(&output_surface_client));
2497 2503
2498 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2504 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2499 output_surface.get(), shared_bitmap_manager_.get(), 2505 output_surface.get(), shared_bitmap_manager_.get(),
2500 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 2506 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
2507 g_imaget_targets));
2501 2508
2502 gfx::Size size(1, 1); 2509 gfx::Size size(1, 1);
2503 ResourceFormat format = RGBA_8888; 2510 ResourceFormat format = RGBA_8888;
2504 int texture_id = 1; 2511 int texture_id = 1;
2505 2512
2506 ResourceId id = resource_provider->CreateResource( 2513 ResourceId id = resource_provider->CreateResource(
2507 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 2514 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
2508 2515
2509 // Check that the texture gets created with the right sampler settings. 2516 // Check that the texture gets created with the right sampler settings.
2510 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)) 2517 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id))
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2572 new TextureStateTrackingContext); 2579 new TextureStateTrackingContext);
2573 TextureStateTrackingContext* context = context_owned.get(); 2580 TextureStateTrackingContext* context = context_owned.get();
2574 2581
2575 FakeOutputSurfaceClient output_surface_client; 2582 FakeOutputSurfaceClient output_surface_client;
2576 scoped_ptr<OutputSurface> output_surface( 2583 scoped_ptr<OutputSurface> output_surface(
2577 FakeOutputSurface::Create3d(context_owned.Pass())); 2584 FakeOutputSurface::Create3d(context_owned.Pass()));
2578 CHECK(output_surface->BindToClient(&output_surface_client)); 2585 CHECK(output_surface->BindToClient(&output_surface_client));
2579 2586
2580 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2587 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2581 output_surface.get(), shared_bitmap_manager_.get(), 2588 output_surface.get(), shared_bitmap_manager_.get(),
2582 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 2589 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
2590 g_imaget_targets));
2583 2591
2584 gfx::Size size(1, 1); 2592 gfx::Size size(1, 1);
2585 ResourceFormat format = RGBA_8888; 2593 ResourceFormat format = RGBA_8888;
2586 int texture_id = 1; 2594 int texture_id = 1;
2587 2595
2588 // Check that the texture gets created with the right sampler settings. 2596 // Check that the texture gets created with the right sampler settings.
2589 ResourceId id = resource_provider->CreateManagedResource( 2597 ResourceId id = resource_provider->CreateManagedResource(
2590 size, GL_TEXTURE_2D, GL_CLAMP_TO_EDGE, 2598 size, GL_TEXTURE_2D, GL_CLAMP_TO_EDGE,
2591 ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 2599 ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
2592 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)); 2600 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id));
(...skipping 26 matching lines...) Expand all
2619 new TextureStateTrackingContext); 2627 new TextureStateTrackingContext);
2620 TextureStateTrackingContext* context = context_owned.get(); 2628 TextureStateTrackingContext* context = context_owned.get();
2621 2629
2622 FakeOutputSurfaceClient output_surface_client; 2630 FakeOutputSurfaceClient output_surface_client;
2623 scoped_ptr<OutputSurface> output_surface( 2631 scoped_ptr<OutputSurface> output_surface(
2624 FakeOutputSurface::Create3d(context_owned.Pass())); 2632 FakeOutputSurface::Create3d(context_owned.Pass()));
2625 CHECK(output_surface->BindToClient(&output_surface_client)); 2633 CHECK(output_surface->BindToClient(&output_surface_client));
2626 2634
2627 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2635 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2628 output_surface.get(), shared_bitmap_manager_.get(), 2636 output_surface.get(), shared_bitmap_manager_.get(),
2629 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 2637 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
2638 g_imaget_targets));
2630 2639
2631 gfx::Size size(1, 1); 2640 gfx::Size size(1, 1);
2632 ResourceFormat format = RGBA_8888; 2641 ResourceFormat format = RGBA_8888;
2633 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM; 2642 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM;
2634 2643
2635 for (int texture_id = 1; texture_id <= 2; ++texture_id) { 2644 for (int texture_id = 1; texture_id <= 2; ++texture_id) {
2636 GLint wrap_mode = texture_id == 1 ? GL_CLAMP_TO_EDGE : GL_REPEAT; 2645 GLint wrap_mode = texture_id == 1 ? GL_CLAMP_TO_EDGE : GL_REPEAT;
2637 // Check that the texture gets created with the right sampler settings. 2646 // Check that the texture gets created with the right sampler settings.
2638 ResourceId id = resource_provider->CreateGLTexture( 2647 ResourceId id = resource_provider->CreateGLTexture(
2639 size, GL_TEXTURE_2D, texture_pool, wrap_mode, 2648 size, GL_TEXTURE_2D, texture_pool, wrap_mode,
(...skipping 29 matching lines...) Expand all
2669 context->set_support_texture_storage(true); 2678 context->set_support_texture_storage(true);
2670 context->set_support_texture_usage(true); 2679 context->set_support_texture_usage(true);
2671 2680
2672 FakeOutputSurfaceClient output_surface_client; 2681 FakeOutputSurfaceClient output_surface_client;
2673 scoped_ptr<OutputSurface> output_surface( 2682 scoped_ptr<OutputSurface> output_surface(
2674 FakeOutputSurface::Create3d(context_owned.Pass())); 2683 FakeOutputSurface::Create3d(context_owned.Pass()));
2675 CHECK(output_surface->BindToClient(&output_surface_client)); 2684 CHECK(output_surface->BindToClient(&output_surface_client));
2676 2685
2677 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2686 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2678 output_surface.get(), shared_bitmap_manager_.get(), 2687 output_surface.get(), shared_bitmap_manager_.get(),
2679 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 2688 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
2689 g_imaget_targets));
2680 2690
2681 gfx::Size size(1, 1); 2691 gfx::Size size(1, 1);
2682 ResourceFormat format = RGBA_8888; 2692 ResourceFormat format = RGBA_8888;
2683 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM; 2693 GLenum texture_pool = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM;
2684 2694
2685 const ResourceProvider::TextureHint hints[4] = { 2695 const ResourceProvider::TextureHint hints[4] = {
2686 ResourceProvider::TEXTURE_HINT_DEFAULT, 2696 ResourceProvider::TEXTURE_HINT_DEFAULT,
2687 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2697 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2688 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 2698 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
2689 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 2699 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2734 2744
2735 FakeOutputSurfaceClient output_surface_client; 2745 FakeOutputSurfaceClient output_surface_client;
2736 scoped_ptr<OutputSurface> output_surface( 2746 scoped_ptr<OutputSurface> output_surface(
2737 FakeOutputSurface::CreateSoftware(make_scoped_ptr( 2747 FakeOutputSurface::CreateSoftware(make_scoped_ptr(
2738 new SoftwareOutputDevice))); 2748 new SoftwareOutputDevice)));
2739 CHECK(output_surface->BindToClient(&output_surface_client)); 2749 CHECK(output_surface->BindToClient(&output_surface_client));
2740 2750
2741 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2751 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2742 output_surface.get(), shared_bitmap_manager_.get(), 2752 output_surface.get(), shared_bitmap_manager_.get(),
2743 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 2753 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0,
2744 false, 1, false)); 2754 false, 1, false, g_imaget_targets));
2745 2755
2746 uint32 release_sync_point = 0; 2756 uint32 release_sync_point = 0;
2747 bool lost_resource = false; 2757 bool lost_resource = false;
2748 BlockingTaskRunner* main_thread_task_runner = NULL; 2758 BlockingTaskRunner* main_thread_task_runner = NULL;
2749 scoped_ptr<SingleReleaseCallbackImpl> callback = 2759 scoped_ptr<SingleReleaseCallbackImpl> callback =
2750 SingleReleaseCallbackImpl::Create(base::Bind(&ReleaseCallback, 2760 SingleReleaseCallbackImpl::Create(base::Bind(&ReleaseCallback,
2751 &release_sync_point, 2761 &release_sync_point,
2752 &lost_resource, 2762 &lost_resource,
2753 &main_thread_task_runner)); 2763 &main_thread_task_runner));
2754 TextureMailbox mailbox(shared_bitmap.get(), size); 2764 TextureMailbox mailbox(shared_bitmap.get(), size);
(...skipping 28 matching lines...) Expand all
2783 new TextureStateTrackingContext); 2793 new TextureStateTrackingContext);
2784 TextureStateTrackingContext* context = context_owned.get(); 2794 TextureStateTrackingContext* context = context_owned.get();
2785 2795
2786 FakeOutputSurfaceClient output_surface_client; 2796 FakeOutputSurfaceClient output_surface_client;
2787 scoped_ptr<OutputSurface> output_surface( 2797 scoped_ptr<OutputSurface> output_surface(
2788 FakeOutputSurface::Create3d(context_owned.Pass())); 2798 FakeOutputSurface::Create3d(context_owned.Pass()));
2789 CHECK(output_surface->BindToClient(&output_surface_client)); 2799 CHECK(output_surface->BindToClient(&output_surface_client));
2790 2800
2791 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2801 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2792 output_surface.get(), shared_bitmap_manager, gpu_memory_buffer_manager, 2802 output_surface.get(), shared_bitmap_manager, gpu_memory_buffer_manager,
2793 main_thread_task_runner, 0, false, 1, false)); 2803 main_thread_task_runner, 0, false, 1, false, g_imaget_targets));
2794 2804
2795 unsigned texture_id = 1; 2805 unsigned texture_id = 1;
2796 uint32 sync_point = 30; 2806 uint32 sync_point = 30;
2797 unsigned target = GL_TEXTURE_2D; 2807 unsigned target = GL_TEXTURE_2D;
2798 2808
2799 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 2809 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
2800 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); 2810 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
2801 EXPECT_CALL(*context, insertSyncPoint()).Times(0); 2811 EXPECT_CALL(*context, insertSyncPoint()).Times(0);
2802 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 2812 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
2803 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 2813 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2926 new TextureStateTrackingContext); 2936 new TextureStateTrackingContext);
2927 TextureStateTrackingContext* context = context_owned.get(); 2937 TextureStateTrackingContext* context = context_owned.get();
2928 2938
2929 FakeOutputSurfaceClient output_surface_client; 2939 FakeOutputSurfaceClient output_surface_client;
2930 scoped_ptr<OutputSurface> output_surface( 2940 scoped_ptr<OutputSurface> output_surface(
2931 FakeOutputSurface::Create3d(context_owned.Pass())); 2941 FakeOutputSurface::Create3d(context_owned.Pass()));
2932 CHECK(output_surface->BindToClient(&output_surface_client)); 2942 CHECK(output_surface->BindToClient(&output_surface_client));
2933 2943
2934 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 2944 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
2935 output_surface.get(), shared_bitmap_manager_.get(), 2945 output_surface.get(), shared_bitmap_manager_.get(),
2936 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 2946 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
2947 g_imaget_targets));
2937 2948
2938 uint32 sync_point = 30; 2949 uint32 sync_point = 30;
2939 unsigned target = GL_TEXTURE_EXTERNAL_OES; 2950 unsigned target = GL_TEXTURE_EXTERNAL_OES;
2940 2951
2941 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 2952 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
2942 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); 2953 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
2943 EXPECT_CALL(*context, insertSyncPoint()).Times(0); 2954 EXPECT_CALL(*context, insertSyncPoint()).Times(0);
2944 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 2955 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
2945 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 2956 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
2946 2957
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
2995 new TextureStateTrackingContext); 3006 new TextureStateTrackingContext);
2996 TextureStateTrackingContext* context = context_owned.get(); 3007 TextureStateTrackingContext* context = context_owned.get();
2997 3008
2998 FakeOutputSurfaceClient output_surface_client; 3009 FakeOutputSurfaceClient output_surface_client;
2999 scoped_ptr<OutputSurface> output_surface( 3010 scoped_ptr<OutputSurface> output_surface(
3000 FakeOutputSurface::Create3d(context_owned.Pass())); 3011 FakeOutputSurface::Create3d(context_owned.Pass()));
3001 CHECK(output_surface->BindToClient(&output_surface_client)); 3012 CHECK(output_surface->BindToClient(&output_surface_client));
3002 3013
3003 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3014 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3004 output_surface.get(), shared_bitmap_manager_.get(), 3015 output_surface.get(), shared_bitmap_manager_.get(),
3005 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3016 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3017 g_imaget_targets));
3006 3018
3007 uint32 sync_point = 30; 3019 uint32 sync_point = 30;
3008 unsigned target = GL_TEXTURE_2D; 3020 unsigned target = GL_TEXTURE_2D;
3009 3021
3010 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 3022 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
3011 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); 3023 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
3012 EXPECT_CALL(*context, insertSyncPoint()).Times(0); 3024 EXPECT_CALL(*context, insertSyncPoint()).Times(0);
3013 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 3025 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
3014 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 3026 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
3015 3027
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3048 new TextureStateTrackingContext); 3060 new TextureStateTrackingContext);
3049 TextureStateTrackingContext* context = context_owned.get(); 3061 TextureStateTrackingContext* context = context_owned.get();
3050 3062
3051 FakeOutputSurfaceClient output_surface_client; 3063 FakeOutputSurfaceClient output_surface_client;
3052 scoped_ptr<OutputSurface> output_surface( 3064 scoped_ptr<OutputSurface> output_surface(
3053 FakeOutputSurface::Create3d(context_owned.Pass())); 3065 FakeOutputSurface::Create3d(context_owned.Pass()));
3054 CHECK(output_surface->BindToClient(&output_surface_client)); 3066 CHECK(output_surface->BindToClient(&output_surface_client));
3055 3067
3056 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3068 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3057 output_surface.get(), shared_bitmap_manager_.get(), 3069 output_surface.get(), shared_bitmap_manager_.get(),
3058 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3070 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3071 g_imaget_targets));
3059 3072
3060 uint32 sync_point = 0; 3073 uint32 sync_point = 0;
3061 unsigned target = GL_TEXTURE_2D; 3074 unsigned target = GL_TEXTURE_2D;
3062 3075
3063 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 3076 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
3064 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0); 3077 EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
3065 EXPECT_CALL(*context, insertSyncPoint()).Times(0); 3078 EXPECT_CALL(*context, insertSyncPoint()).Times(0);
3066 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 3079 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
3067 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 3080 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
3068 3081
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
3168 new StrictMock<AllocationTrackingContext3D>); 3181 new StrictMock<AllocationTrackingContext3D>);
3169 AllocationTrackingContext3D* context = context_owned.get(); 3182 AllocationTrackingContext3D* context = context_owned.get();
3170 3183
3171 FakeOutputSurfaceClient output_surface_client; 3184 FakeOutputSurfaceClient output_surface_client;
3172 scoped_ptr<OutputSurface> output_surface( 3185 scoped_ptr<OutputSurface> output_surface(
3173 FakeOutputSurface::Create3d(context_owned.Pass())); 3186 FakeOutputSurface::Create3d(context_owned.Pass()));
3174 CHECK(output_surface->BindToClient(&output_surface_client)); 3187 CHECK(output_surface->BindToClient(&output_surface_client));
3175 3188
3176 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3189 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3177 output_surface.get(), shared_bitmap_manager_.get(), 3190 output_surface.get(), shared_bitmap_manager_.get(),
3178 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3191 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3192 g_imaget_targets));
3179 3193
3180 gfx::Size size(2, 2); 3194 gfx::Size size(2, 2);
3181 gfx::Vector2d offset(0, 0); 3195 gfx::Vector2d offset(0, 0);
3182 ResourceFormat format = RGBA_8888; 3196 ResourceFormat format = RGBA_8888;
3183 ResourceId id = 0; 3197 ResourceId id = 0;
3184 uint8_t pixels[16] = { 0 }; 3198 uint8_t pixels[16] = { 0 };
3185 int texture_id = 123; 3199 int texture_id = 123;
3186 3200
3187 // Lazy allocation. Don't allocate when creating the resource. 3201 // Lazy allocation. Don't allocate when creating the resource.
3188 id = resource_provider->CreateResource( 3202 id = resource_provider->CreateResource(
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
3242 context->set_support_texture_storage(true); 3256 context->set_support_texture_storage(true);
3243 context->set_support_texture_usage(true); 3257 context->set_support_texture_usage(true);
3244 3258
3245 FakeOutputSurfaceClient output_surface_client; 3259 FakeOutputSurfaceClient output_surface_client;
3246 scoped_ptr<OutputSurface> output_surface( 3260 scoped_ptr<OutputSurface> output_surface(
3247 FakeOutputSurface::Create3d(context_owned.Pass())); 3261 FakeOutputSurface::Create3d(context_owned.Pass()));
3248 CHECK(output_surface->BindToClient(&output_surface_client)); 3262 CHECK(output_surface->BindToClient(&output_surface_client));
3249 3263
3250 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3264 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3251 output_surface.get(), shared_bitmap_manager_.get(), 3265 output_surface.get(), shared_bitmap_manager_.get(),
3252 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3266 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3267 g_imaget_targets));
3253 3268
3254 gfx::Size size(2, 2); 3269 gfx::Size size(2, 2);
3255 3270
3256 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888}; 3271 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888};
3257 const ResourceProvider::TextureHint hints[4] = { 3272 const ResourceProvider::TextureHint hints[4] = {
3258 ResourceProvider::TEXTURE_HINT_DEFAULT, 3273 ResourceProvider::TEXTURE_HINT_DEFAULT,
3259 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3274 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3260 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 3275 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
3261 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 3276 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
3262 }; 3277 };
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
3297 context->set_support_texture_storage(true); 3312 context->set_support_texture_storage(true);
3298 context->set_support_texture_usage(true); 3313 context->set_support_texture_usage(true);
3299 3314
3300 FakeOutputSurfaceClient output_surface_client; 3315 FakeOutputSurfaceClient output_surface_client;
3301 scoped_ptr<OutputSurface> output_surface( 3316 scoped_ptr<OutputSurface> output_surface(
3302 FakeOutputSurface::Create3d(context_owned.Pass())); 3317 FakeOutputSurface::Create3d(context_owned.Pass()));
3303 CHECK(output_surface->BindToClient(&output_surface_client)); 3318 CHECK(output_surface->BindToClient(&output_surface_client));
3304 3319
3305 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3320 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3306 output_surface.get(), shared_bitmap_manager_.get(), 3321 output_surface.get(), shared_bitmap_manager_.get(),
3307 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3322 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3323 g_imaget_targets));
3308 3324
3309 gfx::Size size(2, 2); 3325 gfx::Size size(2, 2);
3310 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888}; 3326 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888};
3311 3327
3312 const ResourceProvider::TextureHint hints[4] = { 3328 const ResourceProvider::TextureHint hints[4] = {
3313 ResourceProvider::TEXTURE_HINT_DEFAULT, 3329 ResourceProvider::TEXTURE_HINT_DEFAULT,
3314 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3330 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3315 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 3331 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
3316 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 3332 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
3317 }; 3333 };
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
3351 FakeOutputSurface::Create3d(context_owned.Pass())); 3367 FakeOutputSurface::Create3d(context_owned.Pass()));
3352 CHECK(output_surface->BindToClient(&output_surface_client)); 3368 CHECK(output_surface->BindToClient(&output_surface_client));
3353 3369
3354 gfx::Size size(2, 2); 3370 gfx::Size size(2, 2);
3355 ResourceFormat format = RGBA_8888; 3371 ResourceFormat format = RGBA_8888;
3356 ResourceId id = 0; 3372 ResourceId id = 0;
3357 int texture_id = 123; 3373 int texture_id = 123;
3358 3374
3359 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3375 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3360 output_surface.get(), shared_bitmap_manager_.get(), 3376 output_surface.get(), shared_bitmap_manager_.get(),
3361 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3377 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3378 g_imaget_targets));
3362 3379
3363 id = resource_provider->CreateResource( 3380 id = resource_provider->CreateResource(
3364 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3381 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3365 resource_provider->AcquirePixelBuffer(id); 3382 resource_provider->AcquirePixelBuffer(id);
3366 3383
3367 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3384 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3368 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); 3385 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
3369 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) 3386 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _))
3370 .Times(1); 3387 .Times(1);
3371 resource_provider->BeginSetPixels(id); 3388 resource_provider->BeginSetPixels(id);
(...skipping 21 matching lines...) Expand all
3393 FakeOutputSurface::Create3d(context_owned.Pass())); 3410 FakeOutputSurface::Create3d(context_owned.Pass()));
3394 CHECK(output_surface->BindToClient(&output_surface_client)); 3411 CHECK(output_surface->BindToClient(&output_surface_client));
3395 3412
3396 gfx::Size size(2, 2); 3413 gfx::Size size(2, 2);
3397 ResourceFormat format = RGBA_8888; 3414 ResourceFormat format = RGBA_8888;
3398 ResourceId id = 0; 3415 ResourceId id = 0;
3399 int texture_id = 123; 3416 int texture_id = 123;
3400 3417
3401 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3418 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3402 output_surface.get(), shared_bitmap_manager_.get(), 3419 output_surface.get(), shared_bitmap_manager_.get(),
3403 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3420 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3421 g_imaget_targets));
3404 3422
3405 id = resource_provider->CreateResource( 3423 id = resource_provider->CreateResource(
3406 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3424 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3407 resource_provider->AcquirePixelBuffer(id); 3425 resource_provider->AcquirePixelBuffer(id);
3408 3426
3409 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3427 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3410 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); 3428 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
3411 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _)) 3429 EXPECT_CALL(*context, asyncTexImage2DCHROMIUM(_, _, _, 2, 2, _, _, _, _))
3412 .Times(1); 3430 .Times(1);
3413 resource_provider->BeginSetPixels(id); 3431 resource_provider->BeginSetPixels(id);
(...skipping 21 matching lines...) Expand all
3435 FakeOutputSurface::Create3d(context_owned.Pass())); 3453 FakeOutputSurface::Create3d(context_owned.Pass()));
3436 CHECK(output_surface->BindToClient(&output_surface_client)); 3454 CHECK(output_surface->BindToClient(&output_surface_client));
3437 3455
3438 gfx::Size size(2, 2); 3456 gfx::Size size(2, 2);
3439 ResourceFormat format = RGBA_8888; 3457 ResourceFormat format = RGBA_8888;
3440 ResourceId id = 0; 3458 ResourceId id = 0;
3441 int texture_id = 123; 3459 int texture_id = 123;
3442 3460
3443 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3461 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3444 output_surface.get(), shared_bitmap_manager_.get(), 3462 output_surface.get(), shared_bitmap_manager_.get(),
3445 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3463 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3464 g_imaget_targets));
3446 3465
3447 EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); 3466 EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id));
3448 3467
3449 id = resource_provider->CreateResource( 3468 id = resource_provider->CreateResource(
3450 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3469 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3451 context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, 3470 context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
3452 GL_INNOCENT_CONTEXT_RESET_ARB); 3471 GL_INNOCENT_CONTEXT_RESET_ARB);
3453 3472
3454 resource_provider->AcquirePixelBuffer(id); 3473 resource_provider->AcquirePixelBuffer(id);
3455 int stride; 3474 int stride;
(...skipping 19 matching lines...) Expand all
3475 const int kWidth = 2; 3494 const int kWidth = 2;
3476 const int kHeight = 2; 3495 const int kHeight = 2;
3477 gfx::Size size(kWidth, kHeight); 3496 gfx::Size size(kWidth, kHeight);
3478 ResourceFormat format = RGBA_8888; 3497 ResourceFormat format = RGBA_8888;
3479 ResourceId id = 0; 3498 ResourceId id = 0;
3480 const unsigned kTextureId = 123u; 3499 const unsigned kTextureId = 123u;
3481 const unsigned kImageId = 234u; 3500 const unsigned kImageId = 234u;
3482 3501
3483 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3502 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3484 output_surface.get(), shared_bitmap_manager_.get(), 3503 output_surface.get(), shared_bitmap_manager_.get(),
3485 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3504 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3505 g_imaget_targets));
3486 3506
3487 id = resource_provider->CreateResource( 3507 id = resource_provider->CreateResource(
3488 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3508 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3489 3509
3490 EXPECT_CALL(*context, NextTextureId()) 3510 EXPECT_CALL(*context, NextTextureId())
3491 .WillOnce(Return(kTextureId)) 3511 .WillOnce(Return(kTextureId))
3492 .RetiresOnSaturation(); 3512 .RetiresOnSaturation();
3493 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)) 3513 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId))
3494 .Times(1) 3514 .Times(1)
3495 .RetiresOnSaturation(); 3515 .RetiresOnSaturation();
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
3560 gfx::Size size(kWidth, kHeight); 3580 gfx::Size size(kWidth, kHeight);
3561 ResourceFormat format = RGBA_8888; 3581 ResourceFormat format = RGBA_8888;
3562 ResourceId source_id = 0; 3582 ResourceId source_id = 0;
3563 ResourceId dest_id = 0; 3583 ResourceId dest_id = 0;
3564 const unsigned kSourceTextureId = 123u; 3584 const unsigned kSourceTextureId = 123u;
3565 const unsigned kDestTextureId = 321u; 3585 const unsigned kDestTextureId = 321u;
3566 const unsigned kImageId = 234u; 3586 const unsigned kImageId = 234u;
3567 3587
3568 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3588 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3569 output_surface.get(), shared_bitmap_manager_.get(), 3589 output_surface.get(), shared_bitmap_manager_.get(),
3570 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3590 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3591 g_imaget_targets));
3571 3592
3572 source_id = resource_provider->CreateResource( 3593 source_id = resource_provider->CreateResource(
3573 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3594 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3574 3595
3575 EXPECT_CALL(*context, NextTextureId()) 3596 EXPECT_CALL(*context, NextTextureId())
3576 .WillOnce(Return(kSourceTextureId)) 3597 .WillOnce(Return(kSourceTextureId))
3577 .RetiresOnSaturation(); 3598 .RetiresOnSaturation();
3578 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kSourceTextureId)) 3599 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kSourceTextureId))
3579 .Times(1) 3600 .Times(1)
3580 .RetiresOnSaturation(); 3601 .RetiresOnSaturation();
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
3633 context_owned->set_support_compressed_texture_etc1(true); 3654 context_owned->set_support_compressed_texture_etc1(true);
3634 3655
3635 FakeOutputSurfaceClient output_surface_client; 3656 FakeOutputSurfaceClient output_surface_client;
3636 scoped_ptr<OutputSurface> output_surface( 3657 scoped_ptr<OutputSurface> output_surface(
3637 FakeOutputSurface::Create3d(context_owned.Pass())); 3658 FakeOutputSurface::Create3d(context_owned.Pass()));
3638 CHECK(output_surface->BindToClient(&output_surface_client)); 3659 CHECK(output_surface->BindToClient(&output_surface_client));
3639 3660
3640 gfx::Size size(4, 4); 3661 gfx::Size size(4, 4);
3641 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3662 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3642 output_surface.get(), shared_bitmap_manager_.get(), 3663 output_surface.get(), shared_bitmap_manager_.get(),
3643 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3664 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3665 g_imaget_targets));
3644 int texture_id = 123; 3666 int texture_id = 123;
3645 3667
3646 ResourceId id = resource_provider->CreateResource( 3668 ResourceId id = resource_provider->CreateResource(
3647 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1); 3669 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1);
3648 EXPECT_NE(0u, id); 3670 EXPECT_NE(0u, id);
3649 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3671 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3650 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); 3672 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
3651 resource_provider->AllocateForTesting(id); 3673 resource_provider->AllocateForTesting(id);
3652 3674
3653 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1); 3675 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1);
(...skipping 10 matching lines...) Expand all
3664 context_owned->set_support_compressed_texture_etc1(true); 3686 context_owned->set_support_compressed_texture_etc1(true);
3665 3687
3666 FakeOutputSurfaceClient output_surface_client; 3688 FakeOutputSurfaceClient output_surface_client;
3667 scoped_ptr<OutputSurface> output_surface( 3689 scoped_ptr<OutputSurface> output_surface(
3668 FakeOutputSurface::Create3d(context_owned.Pass())); 3690 FakeOutputSurface::Create3d(context_owned.Pass()));
3669 CHECK(output_surface->BindToClient(&output_surface_client)); 3691 CHECK(output_surface->BindToClient(&output_surface_client));
3670 3692
3671 gfx::Size size(4, 4); 3693 gfx::Size size(4, 4);
3672 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3694 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3673 output_surface.get(), shared_bitmap_manager_.get(), 3695 output_surface.get(), shared_bitmap_manager_.get(),
3674 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); 3696 gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false,
3697 g_imaget_targets));
3675 int texture_id = 123; 3698 int texture_id = 123;
3676 uint8_t pixels[8]; 3699 uint8_t pixels[8];
3677 3700
3678 ResourceId id = resource_provider->CreateResource( 3701 ResourceId id = resource_provider->CreateResource(
3679 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1); 3702 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1);
3680 EXPECT_NE(0u, id); 3703 EXPECT_NE(0u, id);
3681 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3704 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3682 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3); 3705 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3);
3683 EXPECT_CALL(*context, 3706 EXPECT_CALL(*context,
3684 compressedTexImage2D( 3707 compressedTexImage2D(
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
3720 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 3743 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
3721 new TestSharedBitmapManager()); 3744 new TestSharedBitmapManager());
3722 3745
3723 gfx::Size size(1, 1); 3746 gfx::Size size(1, 1);
3724 ResourceFormat format = RGBA_8888; 3747 ResourceFormat format = RGBA_8888;
3725 3748
3726 { 3749 {
3727 size_t kTextureAllocationChunkSize = 1; 3750 size_t kTextureAllocationChunkSize = 1;
3728 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3751 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3729 output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, 3752 output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false,
3730 kTextureAllocationChunkSize, false)); 3753 kTextureAllocationChunkSize, false, g_imaget_targets));
3731 3754
3732 ResourceId id = resource_provider->CreateResource( 3755 ResourceId id = resource_provider->CreateResource(
3733 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3756 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3734 format); 3757 format);
3735 resource_provider->AllocateForTesting(id); 3758 resource_provider->AllocateForTesting(id);
3736 Mock::VerifyAndClearExpectations(context); 3759 Mock::VerifyAndClearExpectations(context);
3737 3760
3738 DCHECK_EQ(2u, context->PeekTextureId()); 3761 DCHECK_EQ(2u, context->PeekTextureId());
3739 resource_provider->DeleteResource(id); 3762 resource_provider->DeleteResource(id);
3740 } 3763 }
3741 3764
3742 { 3765 {
3743 size_t kTextureAllocationChunkSize = 8; 3766 size_t kTextureAllocationChunkSize = 8;
3744 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( 3767 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
3745 output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, 3768 output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false,
3746 kTextureAllocationChunkSize, false)); 3769 kTextureAllocationChunkSize, false, g_imaget_targets));
3747 3770
3748 ResourceId id = resource_provider->CreateResource( 3771 ResourceId id = resource_provider->CreateResource(
3749 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3772 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3750 format); 3773 format);
3751 resource_provider->AllocateForTesting(id); 3774 resource_provider->AllocateForTesting(id);
3752 Mock::VerifyAndClearExpectations(context); 3775 Mock::VerifyAndClearExpectations(context);
3753 3776
3754 DCHECK_EQ(10u, context->PeekTextureId()); 3777 DCHECK_EQ(10u, context->PeekTextureId());
3755 resource_provider->DeleteResource(id); 3778 resource_provider->DeleteResource(id);
3756 } 3779 }
3757 } 3780 }
3758 3781
3759 } // namespace 3782 } // namespace
3760 } // namespace cc 3783 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/resource_provider.cc ('k') | cc/surfaces/display.cc » ('j') | cc/test/pixel_test.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698