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/resources/bitmap_tile_task_worker_pool.h" | 8 #include "cc/resources/bitmap_tile_task_worker_pool.h" |
9 #include "cc/resources/gpu_tile_task_worker_pool.h" | 9 #include "cc/resources/gpu_tile_task_worker_pool.h" |
10 #include "cc/resources/one_copy_tile_task_worker_pool.h" | 10 #include "cc/resources/one_copy_tile_task_worker_pool.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 host_impl->output_surface()->context_provider(); | 126 host_impl->output_surface()->context_provider(); |
127 ResourceProvider* resource_provider = host_impl->resource_provider(); | 127 ResourceProvider* resource_provider = host_impl->resource_provider(); |
128 bool use_distance_field_text = false; | 128 bool use_distance_field_text = false; |
129 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; | 129 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; |
130 | 130 |
131 switch (resource_pool_option_) { | 131 switch (resource_pool_option_) { |
132 case BITMAP_TILE_TASK_WORKER_POOL: | 132 case BITMAP_TILE_TASK_WORKER_POOL: |
133 EXPECT_FALSE(context_provider); | 133 EXPECT_FALSE(context_provider); |
134 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); | 134 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); |
135 *resource_pool = | 135 *resource_pool = |
136 ResourcePool::Create(resource_provider, | 136 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
137 draw_texture_target_, | |
138 resource_provider->best_texture_format()); | |
139 | 137 |
140 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( | 138 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( |
141 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 139 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
142 resource_provider); | 140 resource_provider); |
143 break; | 141 break; |
144 case GPU_TILE_TASK_WORKER_POOL: | 142 case GPU_TILE_TASK_WORKER_POOL: |
145 EXPECT_TRUE(context_provider); | 143 EXPECT_TRUE(context_provider); |
146 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 144 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
147 *resource_pool = | 145 *resource_pool = |
148 ResourcePool::Create(resource_provider, | 146 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
149 draw_texture_target_, | |
150 resource_provider->best_texture_format()); | |
151 | 147 |
152 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( | 148 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( |
153 task_runner, context_provider, resource_provider, | 149 task_runner, context_provider, resource_provider, |
154 use_distance_field_text); | 150 use_distance_field_text); |
155 break; | 151 break; |
156 case ZERO_COPY_TILE_TASK_WORKER_POOL: | 152 case ZERO_COPY_TILE_TASK_WORKER_POOL: |
157 EXPECT_TRUE(context_provider); | 153 EXPECT_TRUE(context_provider); |
158 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 154 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
159 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 155 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
160 *resource_pool = | 156 *resource_pool = |
161 ResourcePool::Create(resource_provider, | 157 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
162 draw_texture_target_, | |
163 resource_provider->best_texture_format()); | |
164 | 158 |
165 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( | 159 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( |
166 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 160 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
167 resource_provider); | 161 resource_provider); |
168 break; | 162 break; |
169 case ONE_COPY_TILE_TASK_WORKER_POOL: | 163 case ONE_COPY_TILE_TASK_WORKER_POOL: |
170 EXPECT_TRUE(context_provider); | 164 EXPECT_TRUE(context_provider); |
171 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 165 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
172 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 166 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
173 // We need to create a staging resource pool when using copy rasterizer. | 167 // We need to create a staging resource pool when using copy rasterizer. |
174 *staging_resource_pool = | 168 *staging_resource_pool = ResourcePool::Create( |
175 ResourcePool::Create(resource_provider, | 169 resource_provider, staging_texture_target_, false); |
176 staging_texture_target_, | |
177 resource_provider->best_texture_format()); | |
178 *resource_pool = | 170 *resource_pool = |
179 ResourcePool::Create(resource_provider, | 171 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
180 draw_texture_target_, | |
181 resource_provider->best_texture_format()); | |
182 | 172 |
183 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( | 173 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
184 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 174 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
185 context_provider, resource_provider, staging_resource_pool->get()); | 175 context_provider, resource_provider, staging_resource_pool->get()); |
186 break; | 176 break; |
187 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: | 177 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: |
188 EXPECT_TRUE(context_provider); | 178 EXPECT_TRUE(context_provider); |
189 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 179 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
190 *resource_pool = ResourcePool::Create( | 180 *resource_pool = |
191 resource_provider, | 181 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
192 draw_texture_target_, | |
193 resource_provider->memory_efficient_texture_format()); | |
194 | 182 |
195 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( | 183 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( |
196 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 184 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
197 context_provider, resource_provider, max_transfer_buffer_usage_bytes); | 185 context_provider, resource_provider, max_transfer_buffer_usage_bytes); |
198 break; | 186 break; |
199 } | 187 } |
200 } | 188 } |
201 | 189 |
202 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( | 190 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( |
203 scoped_refptr<Layer> content_root, | 191 scoped_refptr<Layer> content_root, |
204 base::FilePath file_name) { | 192 base::FilePath file_name) { |
205 if (!IsTestCaseSupported(test_case_)) | 193 if (!IsTestCaseSupported(test_case_)) |
206 return; | 194 return; |
207 RunPixelTest(test_type_, content_root, file_name); | 195 RunPixelTest(test_type_, content_root, file_name); |
208 } | 196 } |
209 | 197 |
210 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() | 198 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() |
211 : LayerTreeHostPixelResourceTest(GetParam()) { | 199 : LayerTreeHostPixelResourceTest(GetParam()) { |
212 } | 200 } |
213 | 201 |
214 } // namespace cc | 202 } // namespace cc |
OLD | NEW |