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

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

Issue 860813002: Remove the default format from ResourcePool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 return SoftwareRasterizer::Create(); 139 return SoftwareRasterizer::Create();
140 case GPU_TILE_TASK_WORKER_POOL: 140 case GPU_TILE_TASK_WORKER_POOL:
141 EXPECT_TRUE(context_provider); 141 EXPECT_TRUE(context_provider);
142 return GpuRasterizer::Create(context_provider, resource_provider, 142 return GpuRasterizer::Create(context_provider, resource_provider,
143 use_distance_field_text, false); 143 use_distance_field_text, false);
144 } 144 }
145 NOTREACHED(); 145 NOTREACHED();
146 return nullptr; 146 return nullptr;
147 } 147 }
148 148
149 void LayerTreeHostPixelResourceTest::CreateResourceAndTileTaskWorkerPool( 149 ResourceFormat
150 LayerTreeHostPixelResourceTest::CreateResourceAndTileTaskWorkerPool(
150 LayerTreeHostImpl* host_impl, 151 LayerTreeHostImpl* host_impl,
151 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, 152 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool,
152 scoped_ptr<ResourcePool>* resource_pool, 153 scoped_ptr<ResourcePool>* resource_pool,
153 scoped_ptr<ResourcePool>* staging_resource_pool) { 154 scoped_ptr<ResourcePool>* staging_resource_pool) {
154 base::SingleThreadTaskRunner* task_runner = 155 base::SingleThreadTaskRunner* task_runner =
155 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner() 156 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner()
156 : proxy()->MainThreadTaskRunner(); 157 : proxy()->MainThreadTaskRunner();
157 DCHECK(task_runner); 158 DCHECK(task_runner);
158 DCHECK(initialized_); 159 DCHECK(initialized_);
159 160
160 ContextProvider* context_provider = 161 ContextProvider* context_provider =
161 host_impl->output_surface()->context_provider(); 162 host_impl->output_surface()->context_provider();
162 ResourceProvider* resource_provider = host_impl->resource_provider(); 163 ResourceProvider* resource_provider = host_impl->resource_provider();
163 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; 164 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u;
164 165
166 ResourceFormat resource_format = resource_provider->best_texture_format();
167
165 switch (resource_pool_option_) { 168 switch (resource_pool_option_) {
166 case BITMAP_TILE_TASK_WORKER_POOL: 169 case BITMAP_TILE_TASK_WORKER_POOL:
167 EXPECT_FALSE(context_provider); 170 EXPECT_FALSE(context_provider);
168 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); 171 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_);
169 *resource_pool = 172 *resource_pool =
170 ResourcePool::Create(resource_provider, 173 ResourcePool::Create(resource_provider,
171 draw_texture_target_, 174 draw_texture_target_);
172 resource_provider->best_texture_format());
173 175
174 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( 176 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create(
175 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 177 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
176 resource_provider); 178 resource_provider);
177 break; 179 break;
178 case GPU_TILE_TASK_WORKER_POOL: 180 case GPU_TILE_TASK_WORKER_POOL:
179 EXPECT_TRUE(context_provider); 181 EXPECT_TRUE(context_provider);
180 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 182 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
181 *resource_pool = 183 *resource_pool =
182 ResourcePool::Create(resource_provider, 184 ResourcePool::Create(resource_provider,
183 draw_texture_target_, 185 draw_texture_target_);
184 resource_provider->best_texture_format());
185 186
186 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( 187 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create(
187 task_runner, TileTaskWorkerPool::GetTaskGraphRunner()); 188 task_runner, TileTaskWorkerPool::GetTaskGraphRunner());
188 break; 189 break;
189 case ZERO_COPY_TILE_TASK_WORKER_POOL: 190 case ZERO_COPY_TILE_TASK_WORKER_POOL:
190 EXPECT_TRUE(context_provider); 191 EXPECT_TRUE(context_provider);
191 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 192 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
192 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 193 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
193 *resource_pool = 194 *resource_pool =
194 ResourcePool::Create(resource_provider, 195 ResourcePool::Create(resource_provider, draw_texture_target_);
195 draw_texture_target_,
196 resource_provider->best_texture_format());
197 196
198 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( 197 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create(
199 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 198 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
200 resource_provider); 199 resource_provider);
201 break; 200 break;
202 case ONE_COPY_TILE_TASK_WORKER_POOL: 201 case ONE_COPY_TILE_TASK_WORKER_POOL:
203 EXPECT_TRUE(context_provider); 202 EXPECT_TRUE(context_provider);
204 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 203 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
205 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 204 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
206 // We need to create a staging resource pool when using copy rasterizer. 205 // We need to create a staging resource pool when using copy rasterizer.
207 *staging_resource_pool = 206 *staging_resource_pool =
208 ResourcePool::Create(resource_provider, 207 ResourcePool::Create(resource_provider, staging_texture_target_);
209 staging_texture_target_,
210 resource_provider->best_texture_format());
211 *resource_pool = 208 *resource_pool =
212 ResourcePool::Create(resource_provider, 209 ResourcePool::Create(resource_provider, draw_texture_target_);
213 draw_texture_target_,
214 resource_provider->best_texture_format());
215 210
216 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( 211 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create(
217 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 212 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
218 context_provider, resource_provider, staging_resource_pool->get()); 213 context_provider, resource_provider, staging_resource_pool->get(),
214 resource_format);
219 break; 215 break;
220 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: 216 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL:
221 EXPECT_TRUE(context_provider); 217 EXPECT_TRUE(context_provider);
222 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 218 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
219 resource_format = resource_provider->memory_efficient_texture_format();
223 *resource_pool = ResourcePool::Create( 220 *resource_pool = ResourcePool::Create(
224 resource_provider, 221 resource_provider, draw_texture_target_);
225 draw_texture_target_,
226 resource_provider->memory_efficient_texture_format());
227 222
228 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( 223 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create(
229 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 224 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
230 context_provider, resource_provider, max_transfer_buffer_usage_bytes); 225 context_provider, resource_provider, max_transfer_buffer_usage_bytes);
231 break; 226 break;
232 } 227 }
228
229 return resource_format;
233 } 230 }
234 231
235 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( 232 void LayerTreeHostPixelResourceTest::RunPixelResourceTest(
236 scoped_refptr<Layer> content_root, 233 scoped_refptr<Layer> content_root,
237 base::FilePath file_name) { 234 base::FilePath file_name) {
238 if (!IsTestCaseSupported(test_case_)) 235 if (!IsTestCaseSupported(test_case_))
239 return; 236 return;
240 RunPixelTest(test_type_, content_root, file_name); 237 RunPixelTest(test_type_, content_root, file_name);
241 238
242 if (layer_tree_host()) 239 if (layer_tree_host())
243 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting); 240 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting);
244 } 241 }
245 242
246 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() 243 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest()
247 : LayerTreeHostPixelResourceTest(GetParam()) { 244 : LayerTreeHostPixelResourceTest(GetParam()) {
248 } 245 }
249 246
250 } // namespace cc 247 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698