Index: cc/resources/resource_provider_unittest.cc |
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc |
index 136855847db72d82a8ea2ccd33be7fb3b16a3daa..4a02e828dcb79b611be09838cc0ed47389ef1ed8 100644 |
--- a/cc/resources/resource_provider_unittest.cc |
+++ b/cc/resources/resource_provider_unittest.cc |
@@ -7,6 +7,7 @@ |
#include <algorithm> |
#include <map> |
#include <set> |
+#include <vector> |
#include "base/bind.h" |
#include "base/containers/hash_tables.h" |
@@ -421,11 +422,11 @@ class ResourceProviderTest |
resource_provider_ = ResourceProvider::Create( |
output_surface_.get(), shared_bitmap_manager_.get(), |
gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, |
- false, 1, false); |
+ false, 1, false, use_image_texture_targets_); |
child_resource_provider_ = ResourceProvider::Create( |
child_output_surface_.get(), shared_bitmap_manager_.get(), |
gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, |
- false, 1, false); |
+ false, 1, false, use_image_texture_targets_); |
} |
ResourceProviderTest() : ResourceProviderTest(true) {} |
@@ -485,7 +486,13 @@ class ResourceProviderTest |
} |
} |
+ public: |
+ static std::vector<unsigned> use_image_texture_targets() { |
+ return use_image_texture_targets_; |
+ } |
+ |
protected: |
+ static std::vector<unsigned> use_image_texture_targets_; |
scoped_ptr<ContextSharedData> shared_data_; |
ResourceProviderContext* context3d_; |
ResourceProviderContext* child_context_; |
@@ -500,6 +507,10 @@ class ResourceProviderTest |
scoped_ptr<TestGpuMemoryBufferManager> gpu_memory_buffer_manager_; |
}; |
+std::vector<unsigned> ResourceProviderTest::use_image_texture_targets_ = |
+ std::vector<unsigned>(static_cast<size_t>(gfx::BufferFormat::LAST) + 1, |
+ GL_TEXTURE_2D); |
+ |
void CheckCreateResource(ResourceProvider::ResourceType expected_default_type, |
ResourceProvider* resource_provider, |
ResourceProviderContext* context) { |
@@ -1367,7 +1378,8 @@ TEST_P(ResourceProviderTest, TransferGLToSoftware) { |
scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create( |
child_output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -1851,7 +1863,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { |
scoped_ptr<ResourceProvider> child_resource_provider( |
ResourceProvider::Create(child_output_surface.get(), |
shared_bitmap_manager.get(), NULL, NULL, 0, |
- false, 1, false)); |
+ false, 1, false, use_image_texture_targets_)); |
scoped_ptr<TextureStateTrackingContext> parent_context_owned( |
new TextureStateTrackingContext); |
@@ -1865,7 +1877,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest { |
scoped_ptr<ResourceProvider> parent_resource_provider( |
ResourceProvider::Create(parent_output_surface.get(), |
shared_bitmap_manager.get(), NULL, NULL, 0, |
- false, 1, false)); |
+ false, 1, false, use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -2497,7 +2509,8 @@ TEST_P(ResourceProviderTest, ScopedSampler) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -2579,7 +2592,8 @@ TEST_P(ResourceProviderTest, ManagedResource) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -2626,7 +2640,8 @@ TEST_P(ResourceProviderTest, TextureWrapMode) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -2676,7 +2691,8 @@ TEST_P(ResourceProviderTest, TextureHint) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(1, 1); |
ResourceFormat format = RGBA_8888; |
@@ -2741,7 +2757,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
gpu_memory_buffer_manager_.get(), main_thread_task_runner_.get(), 0, |
- false, 1, false)); |
+ false, 1, false, use_image_texture_targets_)); |
uint32 release_sync_point = 0; |
bool lost_resource = false; |
@@ -2790,7 +2806,8 @@ class ResourceProviderTestTextureMailboxGLFilters |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager, gpu_memory_buffer_manager, |
- main_thread_task_runner, 0, false, 1, false)); |
+ main_thread_task_runner, 0, false, 1, false, |
+ use_image_texture_targets_)); |
unsigned texture_id = 1; |
uint32 sync_point = 30; |
@@ -2933,7 +2950,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
uint32 sync_point = 30; |
unsigned target = GL_TEXTURE_EXTERNAL_OES; |
@@ -3002,7 +3020,8 @@ TEST_P(ResourceProviderTest, |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
uint32 sync_point = 30; |
unsigned target = GL_TEXTURE_2D; |
@@ -3055,7 +3074,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
uint32 sync_point = 0; |
unsigned target = GL_TEXTURE_2D; |
@@ -3175,7 +3195,8 @@ TEST_P(ResourceProviderTest, TextureAllocation) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(2, 2); |
gfx::Vector2d offset(0, 0); |
@@ -3249,7 +3270,8 @@ TEST_P(ResourceProviderTest, TextureAllocationHint) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(2, 2); |
@@ -3304,7 +3326,8 @@ TEST_P(ResourceProviderTest, TextureAllocationHint_BGRA) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
gfx::Size size(2, 2); |
const ResourceFormat formats[2] = {RGBA_8888, BGRA_8888}; |
@@ -3358,7 +3381,8 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); |
@@ -3400,7 +3424,8 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); |
@@ -3442,7 +3467,8 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id)); |
@@ -3482,7 +3508,8 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); |
@@ -3567,7 +3594,9 @@ TEST_P(ResourceProviderTest, CopyResource_GLTexture) { |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ std::vector<unsigned>(static_cast<size_t>(gfx::BufferFormat::LAST) + 1, |
+ GL_TEXTURE_2D))); |
source_id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); |
@@ -3640,7 +3669,8 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Allocate) { |
gfx::Size size(4, 4); |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
int texture_id = 123; |
ResourceId id = resource_provider->CreateResource( |
@@ -3671,7 +3701,8 @@ TEST_P(ResourceProviderTest, CompressedTextureETC1Upload) { |
gfx::Size size(4, 4); |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager_.get(), |
- gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false)); |
+ gpu_memory_buffer_manager_.get(), NULL, 0, false, 1, false, |
+ use_image_texture_targets_)); |
int texture_id = 123; |
uint8_t pixels[8]; |
@@ -3727,7 +3758,8 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { |
size_t kTextureAllocationChunkSize = 1; |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, |
- kTextureAllocationChunkSize, false)); |
+ kTextureAllocationChunkSize, false, |
+ ResourceProviderTest::use_image_texture_targets())); |
ResourceId id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, |
@@ -3743,7 +3775,8 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) { |
size_t kTextureAllocationChunkSize = 8; |
scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( |
output_surface.get(), shared_bitmap_manager.get(), NULL, NULL, 0, false, |
- kTextureAllocationChunkSize, false)); |
+ kTextureAllocationChunkSize, false, |
+ ResourceProviderTest::use_image_texture_targets())); |
ResourceId id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, |