| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> |
| 8 |
| 7 #include "base/bind.h" | 9 #include "base/bind.h" |
| 8 #include "base/logging.h" | 10 #include "base/logging.h" |
| 9 #include "cc/base/scoped_ptr_deque.h" | 11 #include "cc/base/scoped_ptr_deque.h" |
| 10 #include "cc/base/scoped_ptr_hash_map.h" | 12 #include "cc/base/scoped_ptr_hash_map.h" |
| 11 #include "cc/output/output_surface.h" | 13 #include "cc/output/output_surface.h" |
| 12 #include "cc/test/fake_output_surface.h" | 14 #include "cc/test/fake_output_surface.h" |
| 13 #include "cc/test/test_web_graphics_context_3d.h" | 15 #include "cc/test/test_web_graphics_context_3d.h" |
| 14 #include "gpu/GLES2/gl2extchromium.h" | 16 #include "gpu/GLES2/gl2extchromium.h" |
| 15 #include "testing/gmock/include/gmock/gmock.h" | 17 #include "testing/gmock/include/gmock/gmock.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3
D.h" | 19 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3
D.h" |
| 18 #include "third_party/khronos/GLES2/gl2.h" | 20 #include "third_party/khronos/GLES2/gl2.h" |
| 19 #include "third_party/khronos/GLES2/gl2ext.h" | 21 #include "third_party/khronos/GLES2/gl2ext.h" |
| 20 #include "ui/gfx/rect.h" | 22 #include "ui/gfx/rect.h" |
| 21 | 23 |
| 22 using namespace WebKit; | |
| 23 | |
| 24 using testing::Mock; | 24 using testing::Mock; |
| 25 using testing::NiceMock; | 25 using testing::NiceMock; |
| 26 using testing::Return; | 26 using testing::Return; |
| 27 using testing::StrictMock; | 27 using testing::StrictMock; |
| 28 using testing::_; | 28 using testing::_; |
| 29 using WebKit::WGC3Dbyte; |
| 30 using WebKit::WGC3Denum; |
| 31 using WebKit::WGC3Dint; |
| 32 using WebKit::WGC3Dsizei; |
| 33 using WebKit::WGC3Duint; |
| 34 using WebKit::WebGLId; |
| 29 | 35 |
| 30 namespace cc { | 36 namespace cc { |
| 31 namespace { | 37 namespace { |
| 32 | 38 |
| 33 size_t TextureSize(gfx::Size size, WGC3Denum format) { | 39 size_t TextureSize(gfx::Size size, WGC3Denum format) { |
| 34 unsigned int components_per_pixel = 4; | 40 unsigned int components_per_pixel = 4; |
| 35 unsigned int bytes_per_component = 1; | 41 unsigned int bytes_per_component = 1; |
| 36 return size.width() * size.height() * components_per_pixel * | 42 return size.width() * size.height() * components_per_pixel * |
| 37 bytes_per_component; | 43 bytes_per_component; |
| 38 } | 44 } |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 scoped_ptr<Texture> texture; | 322 scoped_ptr<Texture> texture; |
| 317 }; | 323 }; |
| 318 typedef ScopedPtrDeque<PendingProduceTexture> PendingProduceTextureList; | 324 typedef ScopedPtrDeque<PendingProduceTexture> PendingProduceTextureList; |
| 319 ContextSharedData* shared_data_; | 325 ContextSharedData* shared_data_; |
| 320 WebGLId current_texture_; | 326 WebGLId current_texture_; |
| 321 TextureMap textures_; | 327 TextureMap textures_; |
| 322 unsigned last_waited_sync_point_; | 328 unsigned last_waited_sync_point_; |
| 323 PendingProduceTextureList pending_produce_textures_; | 329 PendingProduceTextureList pending_produce_textures_; |
| 324 }; | 330 }; |
| 325 | 331 |
| 326 class ResourceProviderTest : | 332 class ResourceProviderTest |
| 327 public testing::TestWithParam<ResourceProvider::ResourceType> { | 333 : public testing::TestWithParam<ResourceProvider::ResourceType> { |
| 328 public: | 334 public: |
| 329 ResourceProviderTest() | 335 ResourceProviderTest() |
| 330 : shared_data_(ContextSharedData::Create()), | 336 : shared_data_(ContextSharedData::Create()), |
| 331 output_surface_(FakeOutputSurface::Create3d( | 337 output_surface_(FakeOutputSurface::Create3d( |
| 332 ResourceProviderContext::Create(shared_data_.get()) | 338 ResourceProviderContext::Create(shared_data_.get()) |
| 333 .PassAs<WebKit::WebGraphicsContext3D>())), | 339 .PassAs<WebKit::WebGraphicsContext3D>())), |
| 334 resource_provider_(ResourceProvider::Create(output_surface_.get())) { | 340 resource_provider_(ResourceProvider::Create(output_surface_.get())) { |
| 335 resource_provider_->set_default_resource_type(GetParam()); | 341 resource_provider_->set_default_resource_type(GetParam()); |
| 336 } | 342 } |
| 337 | 343 |
| (...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1143 Mock::VerifyAndClearExpectations(context); | 1149 Mock::VerifyAndClearExpectations(context); |
| 1144 } | 1150 } |
| 1145 | 1151 |
| 1146 INSTANTIATE_TEST_CASE_P( | 1152 INSTANTIATE_TEST_CASE_P( |
| 1147 ResourceProviderTests, | 1153 ResourceProviderTests, |
| 1148 ResourceProviderTest, | 1154 ResourceProviderTest, |
| 1149 ::testing::Values(ResourceProvider::GLTexture, ResourceProvider::Bitmap)); | 1155 ::testing::Values(ResourceProvider::GLTexture, ResourceProvider::Bitmap)); |
| 1150 | 1156 |
| 1151 } // namespace | 1157 } // namespace |
| 1152 } // namespace cc | 1158 } // namespace cc |
| OLD | NEW |