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

Side by Side Diff: cc/test/layer_tree_pixel_resource_test.cc

Issue 817133006: Support different formats in the same resource pool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove ResourceFormatUsage Created 5 years, 11 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
OLDNEW
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_rasterizer.h" 9 #include "cc/resources/gpu_rasterizer.h"
10 #include "cc/resources/gpu_tile_task_worker_pool.h" 10 #include "cc/resources/gpu_tile_task_worker_pool.h"
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 ContextProvider* context_provider = 160 ContextProvider* context_provider =
161 host_impl->output_surface()->context_provider(); 161 host_impl->output_surface()->context_provider();
162 ResourceProvider* resource_provider = host_impl->resource_provider(); 162 ResourceProvider* resource_provider = host_impl->resource_provider();
163 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; 163 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u;
164 164
165 switch (resource_pool_option_) { 165 switch (resource_pool_option_) {
166 case BITMAP_TILE_TASK_WORKER_POOL: 166 case BITMAP_TILE_TASK_WORKER_POOL:
167 EXPECT_FALSE(context_provider); 167 EXPECT_FALSE(context_provider);
168 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); 168 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_);
169 *resource_pool = 169 *resource_pool =
170 ResourcePool::Create(resource_provider, 170 ResourcePool::Create(resource_provider, draw_texture_target_, false);
171 draw_texture_target_,
172 resource_provider->best_texture_format());
173 171
174 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( 172 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create(
175 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 173 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
176 resource_provider); 174 resource_provider);
177 break; 175 break;
178 case GPU_TILE_TASK_WORKER_POOL: 176 case GPU_TILE_TASK_WORKER_POOL:
179 EXPECT_TRUE(context_provider); 177 EXPECT_TRUE(context_provider);
180 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 178 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
181 *resource_pool = 179 *resource_pool =
182 ResourcePool::Create(resource_provider, 180 ResourcePool::Create(resource_provider, draw_texture_target_, false);
183 draw_texture_target_,
184 resource_provider->best_texture_format());
185 181
186 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( 182 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create(
187 task_runner, TileTaskWorkerPool::GetTaskGraphRunner()); 183 task_runner, TileTaskWorkerPool::GetTaskGraphRunner());
188 break; 184 break;
189 case ZERO_COPY_TILE_TASK_WORKER_POOL: 185 case ZERO_COPY_TILE_TASK_WORKER_POOL:
190 EXPECT_TRUE(context_provider); 186 EXPECT_TRUE(context_provider);
191 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 187 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
192 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 188 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
193 *resource_pool = 189 *resource_pool =
194 ResourcePool::Create(resource_provider, 190 ResourcePool::Create(resource_provider, draw_texture_target_, false);
195 draw_texture_target_,
196 resource_provider->best_texture_format());
197 191
198 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( 192 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create(
199 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 193 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
200 resource_provider); 194 resource_provider);
201 break; 195 break;
202 case ONE_COPY_TILE_TASK_WORKER_POOL: 196 case ONE_COPY_TILE_TASK_WORKER_POOL:
203 EXPECT_TRUE(context_provider); 197 EXPECT_TRUE(context_provider);
204 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 198 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
205 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 199 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
206 // We need to create a staging resource pool when using copy rasterizer. 200 // We need to create a staging resource pool when using copy rasterizer.
207 *staging_resource_pool = 201 *staging_resource_pool = ResourcePool::Create(
208 ResourcePool::Create(resource_provider, 202 resource_provider, staging_texture_target_, false);
209 staging_texture_target_, 203 *resource_pool = ResourcePool::Create(
210 resource_provider->best_texture_format()); 204 resource_provider, draw_texture_target_, false);
211 *resource_pool =
212 ResourcePool::Create(resource_provider,
213 draw_texture_target_,
214 resource_provider->best_texture_format());
215 205
216 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( 206 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create(
217 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 207 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
218 context_provider, resource_provider, staging_resource_pool->get()); 208 context_provider, resource_provider, staging_resource_pool->get());
219 break; 209 break;
220 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: 210 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL:
221 EXPECT_TRUE(context_provider); 211 EXPECT_TRUE(context_provider);
222 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 212 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
223 *resource_pool = ResourcePool::Create( 213 *resource_pool =
224 resource_provider, 214 ResourcePool::Create(resource_provider, draw_texture_target_, true);
225 draw_texture_target_,
226 resource_provider->memory_efficient_texture_format());
227 215
228 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( 216 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create(
229 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 217 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
230 context_provider, resource_provider, max_transfer_buffer_usage_bytes); 218 context_provider, resource_provider, max_transfer_buffer_usage_bytes);
231 break; 219 break;
232 } 220 }
233 } 221 }
234 222
235 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( 223 void LayerTreeHostPixelResourceTest::RunPixelResourceTest(
236 scoped_refptr<Layer> content_root, 224 scoped_refptr<Layer> content_root,
237 base::FilePath file_name) { 225 base::FilePath file_name) {
238 if (!IsTestCaseSupported(test_case_)) 226 if (!IsTestCaseSupported(test_case_))
239 return; 227 return;
240 RunPixelTest(test_type_, content_root, file_name); 228 RunPixelTest(test_type_, content_root, file_name);
241 229
242 if (layer_tree_host()) 230 if (layer_tree_host())
243 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting); 231 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting);
244 } 232 }
245 233
246 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() 234 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest()
247 : LayerTreeHostPixelResourceTest(GetParam()) { 235 : LayerTreeHostPixelResourceTest(GetParam()) {
248 } 236 }
249 237
250 } // namespace cc 238 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698