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

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

Issue 2120713002: Fix use_image_texture_target inconsistencies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix content browsertests Created 4 years, 5 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
« no previous file with comments | « cc/resources/resource_provider.cc ('k') | cc/surfaces/display.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
11 #include <deque> 11 #include <deque>
12 #include <map> 12 #include <map>
13 #include <set> 13 #include <set>
14 #include <unordered_map> 14 #include <unordered_map>
15 #include <vector> 15 #include <vector>
16 16
17 #include "base/bind.h" 17 #include "base/bind.h"
18 #include "base/logging.h" 18 #include "base/logging.h"
19 #include "base/memory/ptr_util.h" 19 #include "base/memory/ptr_util.h"
20 #include "base/memory/ref_counted.h" 20 #include "base/memory/ref_counted.h"
21 #include "cc/output/buffer_to_texture_target_map.h"
21 #include "cc/output/output_surface.h" 22 #include "cc/output/output_surface.h"
22 #include "cc/resources/returned_resource.h" 23 #include "cc/resources/returned_resource.h"
23 #include "cc/resources/shared_bitmap_manager.h" 24 #include "cc/resources/shared_bitmap_manager.h"
24 #include "cc/resources/single_release_callback.h" 25 #include "cc/resources/single_release_callback.h"
25 #include "cc/test/fake_output_surface.h" 26 #include "cc/test/fake_output_surface.h"
26 #include "cc/test/fake_output_surface_client.h" 27 #include "cc/test/fake_output_surface_client.h"
27 #include "cc/test/test_gpu_memory_buffer_manager.h" 28 #include "cc/test/test_gpu_memory_buffer_manager.h"
28 #include "cc/test/test_shared_bitmap_manager.h" 29 #include "cc/test/test_shared_bitmap_manager.h"
29 #include "cc/test/test_texture.h" 30 #include "cc/test/test_texture.h"
30 #include "cc/test/test_web_graphics_context_3d.h" 31 #include "cc/test/test_web_graphics_context_3d.h"
(...skipping 10 matching lines...) Expand all
41 using testing::NiceMock; 42 using testing::NiceMock;
42 using testing::Return; 43 using testing::Return;
43 using testing::StrictMock; 44 using testing::StrictMock;
44 using testing::_; 45 using testing::_;
45 46
46 namespace cc { 47 namespace cc {
47 namespace { 48 namespace {
48 49
49 static const bool kUseGpuMemoryBufferResources = false; 50 static const bool kUseGpuMemoryBufferResources = false;
50 static const bool kDelegatedSyncPointsRequired = true; 51 static const bool kDelegatedSyncPointsRequired = true;
51 static const std::vector<unsigned> kUseImageTextureTargets(
52 static_cast<size_t>(gfx::BufferFormat::LAST) + 1,
53 GL_TEXTURE_2D);
54 52
55 MATCHER_P(MatchesSyncToken, sync_token, "") { 53 MATCHER_P(MatchesSyncToken, sync_token, "") {
56 gpu::SyncToken other; 54 gpu::SyncToken other;
57 memcpy(&other, arg, sizeof(other)); 55 memcpy(&other, arg, sizeof(other));
58 return other == sync_token; 56 return other == sync_token;
59 } 57 }
60 58
61 static void EmptyReleaseCallback(const gpu::SyncToken& sync_token, 59 static void EmptyReleaseCallback(const gpu::SyncToken& sync_token,
62 bool lost_resource, 60 bool lost_resource,
63 BlockingTaskRunner* main_thread_task_runner) {} 61 BlockingTaskRunner* main_thread_task_runner) {}
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 460
463 shared_bitmap_manager_.reset(new TestSharedBitmapManager); 461 shared_bitmap_manager_.reset(new TestSharedBitmapManager);
464 gpu_memory_buffer_manager_.reset(new TestGpuMemoryBufferManager); 462 gpu_memory_buffer_manager_.reset(new TestGpuMemoryBufferManager);
465 child_gpu_memory_buffer_manager_ = 463 child_gpu_memory_buffer_manager_ =
466 gpu_memory_buffer_manager_->CreateClientGpuMemoryBufferManager(); 464 gpu_memory_buffer_manager_->CreateClientGpuMemoryBufferManager();
467 465
468 resource_provider_ = base::MakeUnique<ResourceProvider>( 466 resource_provider_ = base::MakeUnique<ResourceProvider>(
469 output_surface_->context_provider(), shared_bitmap_manager_.get(), 467 output_surface_->context_provider(), shared_bitmap_manager_.get(),
470 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 1, 468 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 1,
471 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 469 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
472 kUseImageTextureTargets); 470 DefaultBufferToTextureTargetMapForTesting());
473 child_resource_provider_ = base::MakeUnique<ResourceProvider>( 471 child_resource_provider_ = base::MakeUnique<ResourceProvider>(
474 child_output_surface_->context_provider(), shared_bitmap_manager_.get(), 472 child_output_surface_->context_provider(), shared_bitmap_manager_.get(),
475 child_gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 473 child_gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(),
476 0, 1, 474 0, 1,
477 child_output_surface_->capabilities().delegated_sync_points_required, 475 child_output_surface_->capabilities().delegated_sync_points_required,
478 kUseGpuMemoryBufferResources, kUseImageTextureTargets); 476 kUseGpuMemoryBufferResources,
477 DefaultBufferToTextureTargetMapForTesting());
479 } 478 }
480 479
481 ResourceProviderTest() : ResourceProviderTest(true) {} 480 ResourceProviderTest() : ResourceProviderTest(true) {}
482 481
483 static void CollectResources(ReturnedResourceArray* array, 482 static void CollectResources(ReturnedResourceArray* array,
484 const ReturnedResourceArray& returned, 483 const ReturnedResourceArray& returned,
485 BlockingTaskRunner* main_thread_task_runner) { 484 BlockingTaskRunner* main_thread_task_runner) {
486 array->insert(array->end(), returned.begin(), returned.end()); 485 array->insert(array->end(), returned.begin(), returned.end());
487 } 486 }
488 487
(...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after
1449 FakeOutputSurfaceClient child_output_surface_client; 1448 FakeOutputSurfaceClient child_output_surface_client;
1450 std::unique_ptr<OutputSurface> child_output_surface( 1449 std::unique_ptr<OutputSurface> child_output_surface(
1451 FakeOutputSurface::Create3d(std::move(child_context_owned))); 1450 FakeOutputSurface::Create3d(std::move(child_context_owned)));
1452 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); 1451 CHECK(child_output_surface->BindToClient(&child_output_surface_client));
1453 1452
1454 std::unique_ptr<ResourceProvider> child_resource_provider( 1453 std::unique_ptr<ResourceProvider> child_resource_provider(
1455 base::MakeUnique<ResourceProvider>( 1454 base::MakeUnique<ResourceProvider>(
1456 child_output_surface->context_provider(), 1455 child_output_surface->context_provider(),
1457 shared_bitmap_manager_.get(), gpu_memory_buffer_manager_.get(), 1456 shared_bitmap_manager_.get(), gpu_memory_buffer_manager_.get(),
1458 nullptr, 0, 1, kDelegatedSyncPointsRequired, 1457 nullptr, 0, 1, kDelegatedSyncPointsRequired,
1459 kUseGpuMemoryBufferResources, kUseImageTextureTargets)); 1458 kUseGpuMemoryBufferResources,
1459 DefaultBufferToTextureTargetMapForTesting()));
1460 1460
1461 gfx::Size size(1, 1); 1461 gfx::Size size(1, 1);
1462 ResourceFormat format = RGBA_8888; 1462 ResourceFormat format = RGBA_8888;
1463 size_t pixel_size = TextureSizeBytes(size, format); 1463 size_t pixel_size = TextureSizeBytes(size, format);
1464 ASSERT_EQ(4U, pixel_size); 1464 ASSERT_EQ(4U, pixel_size);
1465 1465
1466 ResourceId id1 = child_resource_provider->CreateResource( 1466 ResourceId id1 = child_resource_provider->CreateResource(
1467 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 1467 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
1468 uint8_t data1[4] = { 1, 2, 3, 4 }; 1468 uint8_t data1[4] = { 1, 2, 3, 4 };
1469 child_resource_provider->CopyToResource(id1, data1, size); 1469 child_resource_provider->CopyToResource(id1, data1, size);
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
1965 FakeOutputSurface::Create3d(std::move(child_context_owned))); 1965 FakeOutputSurface::Create3d(std::move(child_context_owned)));
1966 CHECK(child_output_surface->BindToClient(&child_output_surface_client)); 1966 CHECK(child_output_surface->BindToClient(&child_output_surface_client));
1967 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1967 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1968 new TestSharedBitmapManager()); 1968 new TestSharedBitmapManager());
1969 1969
1970 std::unique_ptr<ResourceProvider> child_resource_provider( 1970 std::unique_ptr<ResourceProvider> child_resource_provider(
1971 base::MakeUnique<ResourceProvider>( 1971 base::MakeUnique<ResourceProvider>(
1972 child_output_surface->context_provider(), 1972 child_output_surface->context_provider(),
1973 shared_bitmap_manager.get(), nullptr, nullptr, 0, 1, 1973 shared_bitmap_manager.get(), nullptr, nullptr, 0, 1,
1974 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 1974 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
1975 kUseImageTextureTargets)); 1975 DefaultBufferToTextureTargetMapForTesting()));
1976 1976
1977 std::unique_ptr<TextureStateTrackingContext> parent_context_owned( 1977 std::unique_ptr<TextureStateTrackingContext> parent_context_owned(
1978 new TextureStateTrackingContext); 1978 new TextureStateTrackingContext);
1979 TextureStateTrackingContext* parent_context = parent_context_owned.get(); 1979 TextureStateTrackingContext* parent_context = parent_context_owned.get();
1980 1980
1981 FakeOutputSurfaceClient parent_output_surface_client; 1981 FakeOutputSurfaceClient parent_output_surface_client;
1982 std::unique_ptr<OutputSurface> parent_output_surface( 1982 std::unique_ptr<OutputSurface> parent_output_surface(
1983 FakeOutputSurface::Create3d(std::move(parent_context_owned))); 1983 FakeOutputSurface::Create3d(std::move(parent_context_owned)));
1984 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client)); 1984 CHECK(parent_output_surface->BindToClient(&parent_output_surface_client));
1985 1985
1986 std::unique_ptr<ResourceProvider> parent_resource_provider( 1986 std::unique_ptr<ResourceProvider> parent_resource_provider(
1987 base::MakeUnique<ResourceProvider>( 1987 base::MakeUnique<ResourceProvider>(
1988 parent_output_surface->context_provider(), 1988 parent_output_surface->context_provider(),
1989 shared_bitmap_manager.get(), nullptr, nullptr, 0, 1, 1989 shared_bitmap_manager.get(), nullptr, nullptr, 0, 1,
1990 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 1990 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
1991 kUseImageTextureTargets)); 1991 DefaultBufferToTextureTargetMapForTesting()));
1992 1992
1993 gfx::Size size(1, 1); 1993 gfx::Size size(1, 1);
1994 ResourceFormat format = RGBA_8888; 1994 ResourceFormat format = RGBA_8888;
1995 int child_texture_id = 1; 1995 int child_texture_id = 1;
1996 int parent_texture_id = 2; 1996 int parent_texture_id = 2;
1997 1997
1998 size_t pixel_size = TextureSizeBytes(size, format); 1998 size_t pixel_size = TextureSizeBytes(size, format);
1999 ASSERT_EQ(4U, pixel_size); 1999 ASSERT_EQ(4U, pixel_size);
2000 2000
2001 ResourceId id = child_resource_provider->CreateResource( 2001 ResourceId id = child_resource_provider->CreateResource(
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 FakeOutputSurfaceClient output_surface_client; 2618 FakeOutputSurfaceClient output_surface_client;
2619 std::unique_ptr<OutputSurface> output_surface( 2619 std::unique_ptr<OutputSurface> output_surface(
2620 FakeOutputSurface::Create3d(std::move(context_owned))); 2620 FakeOutputSurface::Create3d(std::move(context_owned)));
2621 CHECK(output_surface->BindToClient(&output_surface_client)); 2621 CHECK(output_surface->BindToClient(&output_surface_client));
2622 2622
2623 std::unique_ptr<ResourceProvider> resource_provider( 2623 std::unique_ptr<ResourceProvider> resource_provider(
2624 base::MakeUnique<ResourceProvider>( 2624 base::MakeUnique<ResourceProvider>(
2625 output_surface->context_provider(), shared_bitmap_manager_.get(), 2625 output_surface->context_provider(), shared_bitmap_manager_.get(),
2626 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 2626 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
2627 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2627 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2628 kUseImageTextureTargets)); 2628 DefaultBufferToTextureTargetMapForTesting()));
2629 2629
2630 gfx::Size size(1, 1); 2630 gfx::Size size(1, 1);
2631 ResourceFormat format = RGBA_8888; 2631 ResourceFormat format = RGBA_8888;
2632 int texture_id = 1; 2632 int texture_id = 1;
2633 2633
2634 ResourceId id = resource_provider->CreateResource( 2634 ResourceId id = resource_provider->CreateResource(
2635 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 2635 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
2636 2636
2637 // Check that the texture gets created with the right sampler settings. 2637 // Check that the texture gets created with the right sampler settings.
2638 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)) 2638 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id))
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
2699 FakeOutputSurfaceClient output_surface_client; 2699 FakeOutputSurfaceClient output_surface_client;
2700 std::unique_ptr<OutputSurface> output_surface( 2700 std::unique_ptr<OutputSurface> output_surface(
2701 FakeOutputSurface::Create3d(std::move(context_owned))); 2701 FakeOutputSurface::Create3d(std::move(context_owned)));
2702 CHECK(output_surface->BindToClient(&output_surface_client)); 2702 CHECK(output_surface->BindToClient(&output_surface_client));
2703 2703
2704 std::unique_ptr<ResourceProvider> resource_provider( 2704 std::unique_ptr<ResourceProvider> resource_provider(
2705 base::MakeUnique<ResourceProvider>( 2705 base::MakeUnique<ResourceProvider>(
2706 output_surface->context_provider(), shared_bitmap_manager_.get(), 2706 output_surface->context_provider(), shared_bitmap_manager_.get(),
2707 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 2707 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
2708 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2708 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2709 kUseImageTextureTargets)); 2709 DefaultBufferToTextureTargetMapForTesting()));
2710 2710
2711 gfx::Size size(1, 1); 2711 gfx::Size size(1, 1);
2712 ResourceFormat format = RGBA_8888; 2712 ResourceFormat format = RGBA_8888;
2713 int texture_id = 1; 2713 int texture_id = 1;
2714 2714
2715 // Check that the texture gets created with the right sampler settings. 2715 // Check that the texture gets created with the right sampler settings.
2716 ResourceId id = resource_provider->CreateResource( 2716 ResourceId id = resource_provider->CreateResource(
2717 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 2717 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
2718 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)); 2718 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id));
2719 EXPECT_CALL(*context, 2719 EXPECT_CALL(*context,
(...skipping 24 matching lines...) Expand all
2744 FakeOutputSurfaceClient output_surface_client; 2744 FakeOutputSurfaceClient output_surface_client;
2745 std::unique_ptr<OutputSurface> output_surface( 2745 std::unique_ptr<OutputSurface> output_surface(
2746 FakeOutputSurface::Create3d(std::move(context_owned))); 2746 FakeOutputSurface::Create3d(std::move(context_owned)));
2747 CHECK(output_surface->BindToClient(&output_surface_client)); 2747 CHECK(output_surface->BindToClient(&output_surface_client));
2748 2748
2749 std::unique_ptr<ResourceProvider> resource_provider( 2749 std::unique_ptr<ResourceProvider> resource_provider(
2750 base::MakeUnique<ResourceProvider>( 2750 base::MakeUnique<ResourceProvider>(
2751 output_surface->context_provider(), shared_bitmap_manager_.get(), 2751 output_surface->context_provider(), shared_bitmap_manager_.get(),
2752 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 2752 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
2753 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2753 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2754 kUseImageTextureTargets)); 2754 DefaultBufferToTextureTargetMapForTesting()));
2755 2755
2756 gfx::Size size(1, 1); 2756 gfx::Size size(1, 1);
2757 ResourceFormat format = RGBA_8888; 2757 ResourceFormat format = RGBA_8888;
2758 2758
2759 for (int texture_id = 1; texture_id <= 2; ++texture_id) { 2759 for (int texture_id = 1; texture_id <= 2; ++texture_id) {
2760 // Check that the texture gets created with the right sampler settings. 2760 // Check that the texture gets created with the right sampler settings.
2761 ResourceId id = resource_provider->CreateResource( 2761 ResourceId id = resource_provider->CreateResource(
2762 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 2762 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
2763 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)); 2763 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id));
2764 EXPECT_CALL(*context, 2764 EXPECT_CALL(*context,
(...skipping 25 matching lines...) Expand all
2790 FakeOutputSurfaceClient output_surface_client; 2790 FakeOutputSurfaceClient output_surface_client;
2791 std::unique_ptr<OutputSurface> output_surface( 2791 std::unique_ptr<OutputSurface> output_surface(
2792 FakeOutputSurface::Create3d(std::move(context_owned))); 2792 FakeOutputSurface::Create3d(std::move(context_owned)));
2793 CHECK(output_surface->BindToClient(&output_surface_client)); 2793 CHECK(output_surface->BindToClient(&output_surface_client));
2794 2794
2795 std::unique_ptr<ResourceProvider> resource_provider( 2795 std::unique_ptr<ResourceProvider> resource_provider(
2796 base::MakeUnique<ResourceProvider>( 2796 base::MakeUnique<ResourceProvider>(
2797 output_surface->context_provider(), shared_bitmap_manager_.get(), 2797 output_surface->context_provider(), shared_bitmap_manager_.get(),
2798 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 2798 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
2799 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2799 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2800 kUseImageTextureTargets)); 2800 DefaultBufferToTextureTargetMapForTesting()));
2801 2801
2802 gfx::Size size(1, 1); 2802 gfx::Size size(1, 1);
2803 ResourceFormat format = RGBA_8888; 2803 ResourceFormat format = RGBA_8888;
2804 2804
2805 const ResourceProvider::TextureHint hints[4] = { 2805 const ResourceProvider::TextureHint hints[4] = {
2806 ResourceProvider::TEXTURE_HINT_DEFAULT, 2806 ResourceProvider::TEXTURE_HINT_DEFAULT,
2807 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 2807 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
2808 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 2808 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
2809 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 2809 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
2810 }; 2810 };
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2851 std::unique_ptr<OutputSurface> output_surface( 2851 std::unique_ptr<OutputSurface> output_surface(
2852 FakeOutputSurface::CreateSoftware( 2852 FakeOutputSurface::CreateSoftware(
2853 base::WrapUnique(new SoftwareOutputDevice))); 2853 base::WrapUnique(new SoftwareOutputDevice)));
2854 CHECK(output_surface->BindToClient(&output_surface_client)); 2854 CHECK(output_surface->BindToClient(&output_surface_client));
2855 2855
2856 std::unique_ptr<ResourceProvider> resource_provider( 2856 std::unique_ptr<ResourceProvider> resource_provider(
2857 base::MakeUnique<ResourceProvider>( 2857 base::MakeUnique<ResourceProvider>(
2858 output_surface->context_provider(), shared_bitmap_manager_.get(), 2858 output_surface->context_provider(), shared_bitmap_manager_.get(),
2859 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, 2859 gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0,
2860 1, kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2860 1, kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2861 kUseImageTextureTargets)); 2861 DefaultBufferToTextureTargetMapForTesting()));
2862 2862
2863 gpu::SyncToken release_sync_token; 2863 gpu::SyncToken release_sync_token;
2864 bool lost_resource = false; 2864 bool lost_resource = false;
2865 BlockingTaskRunner* main_thread_task_runner = nullptr; 2865 BlockingTaskRunner* main_thread_task_runner = nullptr;
2866 std::unique_ptr<SingleReleaseCallbackImpl> callback = 2866 std::unique_ptr<SingleReleaseCallbackImpl> callback =
2867 SingleReleaseCallbackImpl::Create( 2867 SingleReleaseCallbackImpl::Create(
2868 base::Bind(&ReleaseCallback, &release_sync_token, &lost_resource, 2868 base::Bind(&ReleaseCallback, &release_sync_token, &lost_resource,
2869 &main_thread_task_runner)); 2869 &main_thread_task_runner));
2870 TextureMailbox mailbox(shared_bitmap.get(), size); 2870 TextureMailbox mailbox(shared_bitmap.get(), size);
2871 2871
(...skipping 30 matching lines...) Expand all
2902 FakeOutputSurfaceClient output_surface_client; 2902 FakeOutputSurfaceClient output_surface_client;
2903 std::unique_ptr<OutputSurface> output_surface( 2903 std::unique_ptr<OutputSurface> output_surface(
2904 FakeOutputSurface::Create3d(std::move(context_owned))); 2904 FakeOutputSurface::Create3d(std::move(context_owned)));
2905 CHECK(output_surface->BindToClient(&output_surface_client)); 2905 CHECK(output_surface->BindToClient(&output_surface_client));
2906 2906
2907 std::unique_ptr<ResourceProvider> resource_provider( 2907 std::unique_ptr<ResourceProvider> resource_provider(
2908 base::MakeUnique<ResourceProvider>( 2908 base::MakeUnique<ResourceProvider>(
2909 output_surface->context_provider(), shared_bitmap_manager, 2909 output_surface->context_provider(), shared_bitmap_manager,
2910 gpu_memory_buffer_manager, main_thread_task_runner, 0, 1, 2910 gpu_memory_buffer_manager, main_thread_task_runner, 0, 1,
2911 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 2911 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
2912 kUseImageTextureTargets)); 2912 DefaultBufferToTextureTargetMapForTesting()));
2913 2913
2914 unsigned texture_id = 1; 2914 unsigned texture_id = 1;
2915 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0, 2915 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0,
2916 gpu::CommandBufferId::FromUnsafeValue(0x12), 2916 gpu::CommandBufferId::FromUnsafeValue(0x12),
2917 0x34); 2917 0x34);
2918 unsigned target = GL_TEXTURE_2D; 2918 unsigned target = GL_TEXTURE_2D;
2919 const GLuint64 current_fence_sync = context->GetNextFenceSync(); 2919 const GLuint64 current_fence_sync = context->GetNextFenceSync();
2920 2920
2921 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 2921 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
2922 EXPECT_CALL(*context, waitSyncToken(_)).Times(0); 2922 EXPECT_CALL(*context, waitSyncToken(_)).Times(0);
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
3049 FakeOutputSurfaceClient output_surface_client; 3049 FakeOutputSurfaceClient output_surface_client;
3050 std::unique_ptr<OutputSurface> output_surface( 3050 std::unique_ptr<OutputSurface> output_surface(
3051 FakeOutputSurface::Create3d(std::move(context_owned))); 3051 FakeOutputSurface::Create3d(std::move(context_owned)));
3052 CHECK(output_surface->BindToClient(&output_surface_client)); 3052 CHECK(output_surface->BindToClient(&output_surface_client));
3053 3053
3054 std::unique_ptr<ResourceProvider> resource_provider( 3054 std::unique_ptr<ResourceProvider> resource_provider(
3055 base::MakeUnique<ResourceProvider>( 3055 base::MakeUnique<ResourceProvider>(
3056 output_surface->context_provider(), shared_bitmap_manager_.get(), 3056 output_surface->context_provider(), shared_bitmap_manager_.get(),
3057 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3057 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3058 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3058 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3059 kUseImageTextureTargets)); 3059 DefaultBufferToTextureTargetMapForTesting()));
3060 3060
3061 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0, 3061 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0,
3062 gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34); 3062 gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34);
3063 const GLuint64 current_fence_sync = context->GetNextFenceSync(); 3063 const GLuint64 current_fence_sync = context->GetNextFenceSync();
3064 unsigned target = GL_TEXTURE_EXTERNAL_OES; 3064 unsigned target = GL_TEXTURE_EXTERNAL_OES;
3065 3065
3066 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 3066 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
3067 EXPECT_CALL(*context, waitSyncToken(_)).Times(0); 3067 EXPECT_CALL(*context, waitSyncToken(_)).Times(0);
3068 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 3068 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
3069 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 3069 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
3121 FakeOutputSurfaceClient output_surface_client; 3121 FakeOutputSurfaceClient output_surface_client;
3122 std::unique_ptr<OutputSurface> output_surface( 3122 std::unique_ptr<OutputSurface> output_surface(
3123 FakeOutputSurface::Create3d(std::move(context_owned))); 3123 FakeOutputSurface::Create3d(std::move(context_owned)));
3124 CHECK(output_surface->BindToClient(&output_surface_client)); 3124 CHECK(output_surface->BindToClient(&output_surface_client));
3125 3125
3126 std::unique_ptr<ResourceProvider> resource_provider( 3126 std::unique_ptr<ResourceProvider> resource_provider(
3127 base::MakeUnique<ResourceProvider>( 3127 base::MakeUnique<ResourceProvider>(
3128 output_surface->context_provider(), shared_bitmap_manager_.get(), 3128 output_surface->context_provider(), shared_bitmap_manager_.get(),
3129 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3129 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3130 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3130 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3131 kUseImageTextureTargets)); 3131 DefaultBufferToTextureTargetMapForTesting()));
3132 3132
3133 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0, 3133 gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO, 0,
3134 gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34); 3134 gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34);
3135 const GLuint64 current_fence_sync = context->GetNextFenceSync(); 3135 const GLuint64 current_fence_sync = context->GetNextFenceSync();
3136 unsigned target = GL_TEXTURE_2D; 3136 unsigned target = GL_TEXTURE_2D;
3137 3137
3138 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 3138 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
3139 EXPECT_CALL(*context, waitSyncToken(_)).Times(0); 3139 EXPECT_CALL(*context, waitSyncToken(_)).Times(0);
3140 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 3140 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
3141 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 3141 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3179 FakeOutputSurfaceClient output_surface_client; 3179 FakeOutputSurfaceClient output_surface_client;
3180 std::unique_ptr<OutputSurface> output_surface( 3180 std::unique_ptr<OutputSurface> output_surface(
3181 FakeOutputSurface::Create3d(std::move(context_owned))); 3181 FakeOutputSurface::Create3d(std::move(context_owned)));
3182 CHECK(output_surface->BindToClient(&output_surface_client)); 3182 CHECK(output_surface->BindToClient(&output_surface_client));
3183 3183
3184 std::unique_ptr<ResourceProvider> resource_provider( 3184 std::unique_ptr<ResourceProvider> resource_provider(
3185 base::MakeUnique<ResourceProvider>( 3185 base::MakeUnique<ResourceProvider>(
3186 output_surface->context_provider(), shared_bitmap_manager_.get(), 3186 output_surface->context_provider(), shared_bitmap_manager_.get(),
3187 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3187 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3188 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3188 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3189 kUseImageTextureTargets)); 3189 DefaultBufferToTextureTargetMapForTesting()));
3190 3190
3191 gpu::SyncToken sync_token; 3191 gpu::SyncToken sync_token;
3192 const GLuint64 current_fence_sync = context->GetNextFenceSync(); 3192 const GLuint64 current_fence_sync = context->GetNextFenceSync();
3193 unsigned target = GL_TEXTURE_2D; 3193 unsigned target = GL_TEXTURE_2D;
3194 3194
3195 EXPECT_CALL(*context, bindTexture(_, _)).Times(0); 3195 EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
3196 EXPECT_CALL(*context, waitSyncToken(_)).Times(0); 3196 EXPECT_CALL(*context, waitSyncToken(_)).Times(0);
3197 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0); 3197 EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
3198 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0); 3198 EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
3199 3199
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
3303 FakeOutputSurfaceClient output_surface_client; 3303 FakeOutputSurfaceClient output_surface_client;
3304 std::unique_ptr<OutputSurface> output_surface( 3304 std::unique_ptr<OutputSurface> output_surface(
3305 FakeOutputSurface::Create3d(std::move(context_owned))); 3305 FakeOutputSurface::Create3d(std::move(context_owned)));
3306 CHECK(output_surface->BindToClient(&output_surface_client)); 3306 CHECK(output_surface->BindToClient(&output_surface_client));
3307 3307
3308 std::unique_ptr<ResourceProvider> resource_provider( 3308 std::unique_ptr<ResourceProvider> resource_provider(
3309 base::MakeUnique<ResourceProvider>( 3309 base::MakeUnique<ResourceProvider>(
3310 output_surface->context_provider(), shared_bitmap_manager_.get(), 3310 output_surface->context_provider(), shared_bitmap_manager_.get(),
3311 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3311 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3312 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3312 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3313 kUseImageTextureTargets)); 3313 DefaultBufferToTextureTargetMapForTesting()));
3314 3314
3315 gfx::Size size(2, 2); 3315 gfx::Size size(2, 2);
3316 gfx::Vector2d offset(0, 0); 3316 gfx::Vector2d offset(0, 0);
3317 ResourceFormat format = RGBA_8888; 3317 ResourceFormat format = RGBA_8888;
3318 ResourceId id = 0; 3318 ResourceId id = 0;
3319 uint8_t pixels[16] = { 0 }; 3319 uint8_t pixels[16] = { 0 };
3320 int texture_id = 123; 3320 int texture_id = 123;
3321 3321
3322 // Lazy allocation. Don't allocate when creating the resource. 3322 // Lazy allocation. Don't allocate when creating the resource.
3323 id = resource_provider->CreateResource( 3323 id = resource_provider->CreateResource(
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3361 FakeOutputSurfaceClient output_surface_client; 3361 FakeOutputSurfaceClient output_surface_client;
3362 std::unique_ptr<OutputSurface> output_surface( 3362 std::unique_ptr<OutputSurface> output_surface(
3363 FakeOutputSurface::Create3d(std::move(context_owned))); 3363 FakeOutputSurface::Create3d(std::move(context_owned)));
3364 CHECK(output_surface->BindToClient(&output_surface_client)); 3364 CHECK(output_surface->BindToClient(&output_surface_client));
3365 3365
3366 std::unique_ptr<ResourceProvider> resource_provider( 3366 std::unique_ptr<ResourceProvider> resource_provider(
3367 base::MakeUnique<ResourceProvider>( 3367 base::MakeUnique<ResourceProvider>(
3368 output_surface->context_provider(), shared_bitmap_manager_.get(), 3368 output_surface->context_provider(), shared_bitmap_manager_.get(),
3369 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3369 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3370 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3370 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3371 kUseImageTextureTargets)); 3371 DefaultBufferToTextureTargetMapForTesting()));
3372 3372
3373 gfx::Size size(2, 2); 3373 gfx::Size size(2, 2);
3374 3374
3375 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888}; 3375 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888};
3376 const ResourceProvider::TextureHint hints[4] = { 3376 const ResourceProvider::TextureHint hints[4] = {
3377 ResourceProvider::TEXTURE_HINT_DEFAULT, 3377 ResourceProvider::TEXTURE_HINT_DEFAULT,
3378 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3378 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3379 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 3379 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
3380 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 3380 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
3381 }; 3381 };
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3419 FakeOutputSurfaceClient output_surface_client; 3419 FakeOutputSurfaceClient output_surface_client;
3420 std::unique_ptr<OutputSurface> output_surface( 3420 std::unique_ptr<OutputSurface> output_surface(
3421 FakeOutputSurface::Create3d(std::move(context_owned))); 3421 FakeOutputSurface::Create3d(std::move(context_owned)));
3422 CHECK(output_surface->BindToClient(&output_surface_client)); 3422 CHECK(output_surface->BindToClient(&output_surface_client));
3423 3423
3424 std::unique_ptr<ResourceProvider> resource_provider( 3424 std::unique_ptr<ResourceProvider> resource_provider(
3425 base::MakeUnique<ResourceProvider>( 3425 base::MakeUnique<ResourceProvider>(
3426 output_surface->context_provider(), shared_bitmap_manager_.get(), 3426 output_surface->context_provider(), shared_bitmap_manager_.get(),
3427 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3427 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3428 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3428 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3429 kUseImageTextureTargets)); 3429 DefaultBufferToTextureTargetMapForTesting()));
3430 3430
3431 gfx::Size size(2, 2); 3431 gfx::Size size(2, 2);
3432 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888}; 3432 const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888};
3433 3433
3434 const ResourceProvider::TextureHint hints[4] = { 3434 const ResourceProvider::TextureHint hints[4] = {
3435 ResourceProvider::TEXTURE_HINT_DEFAULT, 3435 ResourceProvider::TEXTURE_HINT_DEFAULT,
3436 ResourceProvider::TEXTURE_HINT_IMMUTABLE, 3436 ResourceProvider::TEXTURE_HINT_IMMUTABLE,
3437 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER, 3437 ResourceProvider::TEXTURE_HINT_FRAMEBUFFER,
3438 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER, 3438 ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
3439 }; 3439 };
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
3480 ResourceFormat format = RGBA_8888; 3480 ResourceFormat format = RGBA_8888;
3481 ResourceId id = 0; 3481 ResourceId id = 0;
3482 const unsigned kTextureId = 123u; 3482 const unsigned kTextureId = 123u;
3483 const unsigned kImageId = 234u; 3483 const unsigned kImageId = 234u;
3484 3484
3485 std::unique_ptr<ResourceProvider> resource_provider( 3485 std::unique_ptr<ResourceProvider> resource_provider(
3486 base::MakeUnique<ResourceProvider>( 3486 base::MakeUnique<ResourceProvider>(
3487 output_surface->context_provider(), shared_bitmap_manager_.get(), 3487 output_surface->context_provider(), shared_bitmap_manager_.get(),
3488 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3488 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3489 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3489 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3490 kUseImageTextureTargets)); 3490 DefaultBufferToTextureTargetMapForTesting()));
3491 3491
3492 id = resource_provider->CreateResource( 3492 id = resource_provider->CreateResource(
3493 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3493 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3494 3494
3495 EXPECT_CALL(*context, NextTextureId()) 3495 EXPECT_CALL(*context, NextTextureId())
3496 .WillOnce(Return(kTextureId)) 3496 .WillOnce(Return(kTextureId))
3497 .RetiresOnSaturation(); 3497 .RetiresOnSaturation();
3498 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)) 3498 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId))
3499 .Times(3) 3499 .Times(3)
3500 .RetiresOnSaturation(); 3500 .RetiresOnSaturation();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
3560 std::unique_ptr<OutputSurface> output_surface( 3560 std::unique_ptr<OutputSurface> output_surface(
3561 FakeOutputSurface::Create3d(std::move(context_owned))); 3561 FakeOutputSurface::Create3d(std::move(context_owned)));
3562 CHECK(output_surface->BindToClient(&output_surface_client)); 3562 CHECK(output_surface->BindToClient(&output_surface_client));
3563 3563
3564 gfx::Size size(4, 4); 3564 gfx::Size size(4, 4);
3565 std::unique_ptr<ResourceProvider> resource_provider( 3565 std::unique_ptr<ResourceProvider> resource_provider(
3566 base::MakeUnique<ResourceProvider>( 3566 base::MakeUnique<ResourceProvider>(
3567 output_surface->context_provider(), shared_bitmap_manager_.get(), 3567 output_surface->context_provider(), shared_bitmap_manager_.get(),
3568 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3568 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3569 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3569 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3570 kUseImageTextureTargets)); 3570 DefaultBufferToTextureTargetMapForTesting()));
3571 int texture_id = 123; 3571 int texture_id = 123;
3572 3572
3573 ResourceId id = resource_provider->CreateResource( 3573 ResourceId id = resource_provider->CreateResource(
3574 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1); 3574 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1);
3575 EXPECT_NE(0u, id); 3575 EXPECT_NE(0u, id);
3576 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3576 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3577 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); 3577 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
3578 resource_provider->AllocateForTesting(id); 3578 resource_provider->AllocateForTesting(id);
3579 3579
3580 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1); 3580 EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1);
(...skipping 13 matching lines...) Expand all
3594 std::unique_ptr<OutputSurface> output_surface( 3594 std::unique_ptr<OutputSurface> output_surface(
3595 FakeOutputSurface::Create3d(std::move(context_owned))); 3595 FakeOutputSurface::Create3d(std::move(context_owned)));
3596 CHECK(output_surface->BindToClient(&output_surface_client)); 3596 CHECK(output_surface->BindToClient(&output_surface_client));
3597 3597
3598 gfx::Size size(4, 4); 3598 gfx::Size size(4, 4);
3599 std::unique_ptr<ResourceProvider> resource_provider( 3599 std::unique_ptr<ResourceProvider> resource_provider(
3600 base::MakeUnique<ResourceProvider>( 3600 base::MakeUnique<ResourceProvider>(
3601 output_surface->context_provider(), shared_bitmap_manager_.get(), 3601 output_surface->context_provider(), shared_bitmap_manager_.get(),
3602 gpu_memory_buffer_manager_.get(), nullptr, 0, 1, 3602 gpu_memory_buffer_manager_.get(), nullptr, 0, 1,
3603 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3603 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3604 kUseImageTextureTargets)); 3604 DefaultBufferToTextureTargetMapForTesting()));
3605 int texture_id = 123; 3605 int texture_id = 123;
3606 uint8_t pixels[8]; 3606 uint8_t pixels[8];
3607 3607
3608 ResourceId id = resource_provider->CreateResource( 3608 ResourceId id = resource_provider->CreateResource(
3609 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1); 3609 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, ETC1);
3610 EXPECT_NE(0u, id); 3610 EXPECT_NE(0u, id);
3611 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); 3611 EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
3612 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3); 3612 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(3);
3613 EXPECT_CALL(*context, 3613 EXPECT_CALL(*context,
3614 compressedTexImage2D( 3614 compressedTexImage2D(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
3653 gfx::Size size(1, 1); 3653 gfx::Size size(1, 1);
3654 ResourceFormat format = RGBA_8888; 3654 ResourceFormat format = RGBA_8888;
3655 3655
3656 { 3656 {
3657 size_t kTextureAllocationChunkSize = 1; 3657 size_t kTextureAllocationChunkSize = 1;
3658 std::unique_ptr<ResourceProvider> resource_provider( 3658 std::unique_ptr<ResourceProvider> resource_provider(
3659 base::MakeUnique<ResourceProvider>( 3659 base::MakeUnique<ResourceProvider>(
3660 output_surface->context_provider(), shared_bitmap_manager.get(), 3660 output_surface->context_provider(), shared_bitmap_manager.get(),
3661 nullptr, nullptr, 0, kTextureAllocationChunkSize, 3661 nullptr, nullptr, 0, kTextureAllocationChunkSize,
3662 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3662 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3663 kUseImageTextureTargets)); 3663 DefaultBufferToTextureTargetMapForTesting()));
3664 3664
3665 ResourceId id = resource_provider->CreateResource( 3665 ResourceId id = resource_provider->CreateResource(
3666 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3666 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3667 resource_provider->AllocateForTesting(id); 3667 resource_provider->AllocateForTesting(id);
3668 Mock::VerifyAndClearExpectations(context); 3668 Mock::VerifyAndClearExpectations(context);
3669 3669
3670 DCHECK_EQ(2u, context->PeekTextureId()); 3670 DCHECK_EQ(2u, context->PeekTextureId());
3671 resource_provider->DeleteResource(id); 3671 resource_provider->DeleteResource(id);
3672 } 3672 }
3673 3673
3674 { 3674 {
3675 size_t kTextureAllocationChunkSize = 8; 3675 size_t kTextureAllocationChunkSize = 8;
3676 std::unique_ptr<ResourceProvider> resource_provider( 3676 std::unique_ptr<ResourceProvider> resource_provider(
3677 base::MakeUnique<ResourceProvider>( 3677 base::MakeUnique<ResourceProvider>(
3678 output_surface->context_provider(), shared_bitmap_manager.get(), 3678 output_surface->context_provider(), shared_bitmap_manager.get(),
3679 nullptr, nullptr, 0, kTextureAllocationChunkSize, 3679 nullptr, nullptr, 0, kTextureAllocationChunkSize,
3680 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources, 3680 kDelegatedSyncPointsRequired, kUseGpuMemoryBufferResources,
3681 kUseImageTextureTargets)); 3681 DefaultBufferToTextureTargetMapForTesting()));
3682 3682
3683 ResourceId id = resource_provider->CreateResource( 3683 ResourceId id = resource_provider->CreateResource(
3684 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3684 size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3685 resource_provider->AllocateForTesting(id); 3685 resource_provider->AllocateForTesting(id);
3686 Mock::VerifyAndClearExpectations(context); 3686 Mock::VerifyAndClearExpectations(context);
3687 3687
3688 DCHECK_EQ(10u, context->PeekTextureId()); 3688 DCHECK_EQ(10u, context->PeekTextureId());
3689 resource_provider->DeleteResource(id); 3689 resource_provider->DeleteResource(id);
3690 } 3690 }
3691 } 3691 }
3692 3692
3693 } // namespace 3693 } // namespace
3694 } // namespace cc 3694 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/resource_provider.cc ('k') | cc/surfaces/display.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698