| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/test/layer_tree_pixel_resource_test.h" | 5 #include "cc/test/layer_tree_pixel_resource_test.h" |
| 6 | 6 |
| 7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
| 8 #include "cc/raster/bitmap_raster_buffer_provider.h" | 8 #include "cc/raster/bitmap_raster_buffer_provider.h" |
| 9 #include "cc/raster/gpu_raster_buffer_provider.h" | 9 #include "cc/raster/gpu_raster_buffer_provider.h" |
| 10 #include "cc/raster/gpu_rasterizer.h" | 10 #include "cc/raster/gpu_rasterizer.h" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 LayerTreeHostImpl* host_impl, | 109 LayerTreeHostImpl* host_impl, |
| 110 std::unique_ptr<RasterBufferProvider>* raster_buffer_provider, | 110 std::unique_ptr<RasterBufferProvider>* raster_buffer_provider, |
| 111 std::unique_ptr<ResourcePool>* resource_pool) { | 111 std::unique_ptr<ResourcePool>* resource_pool) { |
| 112 base::SingleThreadTaskRunner* task_runner = | 112 base::SingleThreadTaskRunner* task_runner = |
| 113 task_runner_provider()->HasImplThread() | 113 task_runner_provider()->HasImplThread() |
| 114 ? task_runner_provider()->ImplThreadTaskRunner() | 114 ? task_runner_provider()->ImplThreadTaskRunner() |
| 115 : task_runner_provider()->MainThreadTaskRunner(); | 115 : task_runner_provider()->MainThreadTaskRunner(); |
| 116 DCHECK(task_runner); | 116 DCHECK(task_runner); |
| 117 DCHECK(initialized_); | 117 DCHECK(initialized_); |
| 118 | 118 |
| 119 ContextProvider* context_provider = | 119 ContextProvider* compositor_context_provider = |
| 120 host_impl->output_surface()->context_provider(); | 120 host_impl->output_surface()->context_provider(); |
| 121 ContextProvider* worker_context_provider = |
| 122 host_impl->output_surface()->worker_context_provider(); |
| 121 ResourceProvider* resource_provider = host_impl->resource_provider(); | 123 ResourceProvider* resource_provider = host_impl->resource_provider(); |
| 122 int max_bytes_per_copy_operation = 1024 * 1024; | 124 int max_bytes_per_copy_operation = 1024 * 1024; |
| 123 int max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; | 125 int max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; |
| 124 | 126 |
| 125 // Create resource pool. | 127 // Create resource pool. |
| 126 *resource_pool = ResourcePool::Create(resource_provider, task_runner); | 128 *resource_pool = ResourcePool::Create(resource_provider, task_runner); |
| 127 | 129 |
| 128 switch (raster_buffer_provider_type_) { | 130 switch (raster_buffer_provider_type_) { |
| 129 case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: | 131 case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: |
| 130 EXPECT_FALSE(context_provider); | 132 EXPECT_FALSE(compositor_context_provider); |
| 131 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); | 133 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); |
| 132 | 134 |
| 133 *raster_buffer_provider = | 135 *raster_buffer_provider = |
| 134 BitmapRasterBufferProvider::Create(resource_provider); | 136 BitmapRasterBufferProvider::Create(resource_provider); |
| 135 break; | 137 break; |
| 136 case RASTER_BUFFER_PROVIDER_TYPE_GPU: | 138 case RASTER_BUFFER_PROVIDER_TYPE_GPU: |
| 137 EXPECT_TRUE(context_provider); | 139 EXPECT_TRUE(compositor_context_provider); |
| 140 EXPECT_TRUE(worker_context_provider); |
| 138 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 141 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
| 139 | 142 |
| 140 *raster_buffer_provider = GpuRasterBufferProvider::Create( | 143 *raster_buffer_provider = base::MakeUnique<GpuRasterBufferProvider>( |
| 141 context_provider, resource_provider, false, 0); | 144 compositor_context_provider, worker_context_provider, |
| 145 resource_provider, false, 0); |
| 142 break; | 146 break; |
| 143 case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: | 147 case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: |
| 144 EXPECT_TRUE(context_provider); | 148 EXPECT_TRUE(compositor_context_provider); |
| 145 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 149 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
| 146 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 150 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
| 147 | 151 |
| 148 *raster_buffer_provider = ZeroCopyRasterBufferProvider::Create( | 152 *raster_buffer_provider = ZeroCopyRasterBufferProvider::Create( |
| 149 resource_provider, PlatformColor::BestTextureFormat()); | 153 resource_provider, PlatformColor::BestTextureFormat()); |
| 150 break; | 154 break; |
| 151 case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: | 155 case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: |
| 152 EXPECT_TRUE(context_provider); | 156 EXPECT_TRUE(compositor_context_provider); |
| 157 EXPECT_TRUE(worker_context_provider); |
| 153 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 158 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
| 154 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 159 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
| 155 | 160 |
| 156 *raster_buffer_provider = OneCopyRasterBufferProvider::Create( | 161 *raster_buffer_provider = base::MakeUnique<OneCopyRasterBufferProvider>( |
| 157 task_runner, context_provider, resource_provider, | 162 task_runner, compositor_context_provider, worker_context_provider, |
| 158 max_bytes_per_copy_operation, false, | 163 resource_provider, max_bytes_per_copy_operation, false, |
| 159 max_staging_buffer_usage_in_bytes, | 164 max_staging_buffer_usage_in_bytes, |
| 160 PlatformColor::BestTextureFormat()); | 165 PlatformColor::BestTextureFormat()); |
| 161 break; | 166 break; |
| 162 } | 167 } |
| 163 } | 168 } |
| 164 | 169 |
| 165 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( | 170 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( |
| 166 scoped_refptr<Layer> content_root, | 171 scoped_refptr<Layer> content_root, |
| 167 base::FilePath file_name) { | 172 base::FilePath file_name) { |
| 168 if (!IsTestCaseSupported(test_case_)) | 173 if (!IsTestCaseSupported(test_case_)) |
| 169 return; | 174 return; |
| 170 RunPixelTest(test_type_, content_root, file_name); | 175 RunPixelTest(test_type_, content_root, file_name); |
| 171 } | 176 } |
| 172 | 177 |
| 173 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() | 178 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() |
| 174 : LayerTreeHostPixelResourceTest(GetParam()) { | 179 : LayerTreeHostPixelResourceTest(GetParam()) { |
| 175 } | 180 } |
| 176 | 181 |
| 177 } // namespace cc | 182 } // namespace cc |
| OLD | NEW |