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

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

Issue 786583002: cc: Renaming Rasterizer and RasterWorkerPool interfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test. Update include files alphabetic orders. Created 6 years 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_raster_worker_pool.h" 8 #include "cc/resources/bitmap_tile_task_worker_pool.h"
9 #include "cc/resources/gpu_raster_worker_pool.h" 9 #include "cc/resources/gpu_tile_task_worker_pool.h"
10 #include "cc/resources/one_copy_raster_worker_pool.h" 10 #include "cc/resources/one_copy_tile_task_worker_pool.h"
11 #include "cc/resources/pixel_buffer_raster_worker_pool.h" 11 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h"
12 #include "cc/resources/raster_worker_pool.h"
13 #include "cc/resources/resource_pool.h" 12 #include "cc/resources/resource_pool.h"
14 #include "cc/resources/zero_copy_raster_worker_pool.h" 13 #include "cc/resources/tile_task_worker_pool.h"
14 #include "cc/resources/zero_copy_tile_task_worker_pool.h"
15 #include "cc/test/fake_output_surface.h" 15 #include "cc/test/fake_output_surface.h"
16 #include "gpu/GLES2/gl2extchromium.h" 16 #include "gpu/GLES2/gl2extchromium.h"
17 17
18 namespace cc { 18 namespace cc {
19 19
20 namespace { 20 namespace {
21 21
22 bool IsTestCaseSupported(PixelResourceTestCase test_case) { 22 bool IsTestCaseSupported(PixelResourceTestCase test_case) {
23 switch (test_case) { 23 switch (test_case) {
24 case SOFTWARE: 24 case SOFTWARE:
(...skipping 14 matching lines...) Expand all
39 NOTREACHED(); 39 NOTREACHED();
40 return false; 40 return false;
41 } 41 }
42 42
43 } // namespace 43 } // namespace
44 44
45 LayerTreeHostPixelResourceTest::LayerTreeHostPixelResourceTest( 45 LayerTreeHostPixelResourceTest::LayerTreeHostPixelResourceTest(
46 PixelResourceTestCase test_case) 46 PixelResourceTestCase test_case)
47 : staging_texture_target_(GL_INVALID_VALUE), 47 : staging_texture_target_(GL_INVALID_VALUE),
48 draw_texture_target_(GL_INVALID_VALUE), 48 draw_texture_target_(GL_INVALID_VALUE),
49 resource_pool_option_(BITMAP_RASTER_WORKER_POOL), 49 resource_pool_option_(BITMAP_TILE_TASK_WORKER_POOL),
50 test_case_(test_case) { 50 test_case_(test_case) {
51 InitializeFromTestCase(test_case); 51 InitializeFromTestCase(test_case);
52 } 52 }
53 53
54 void LayerTreeHostPixelResourceTest::InitializeFromTestCase( 54 void LayerTreeHostPixelResourceTest::InitializeFromTestCase(
55 PixelResourceTestCase test_case) { 55 PixelResourceTestCase test_case) {
56 switch (test_case) { 56 switch (test_case) {
57 case SOFTWARE: 57 case SOFTWARE:
58 test_type_ = PIXEL_TEST_SOFTWARE; 58 test_type_ = PIXEL_TEST_SOFTWARE;
59 staging_texture_target_ = GL_INVALID_VALUE; 59 staging_texture_target_ = GL_INVALID_VALUE;
60 draw_texture_target_ = GL_INVALID_VALUE; 60 draw_texture_target_ = GL_INVALID_VALUE;
61 resource_pool_option_ = BITMAP_RASTER_WORKER_POOL; 61 resource_pool_option_ = BITMAP_TILE_TASK_WORKER_POOL;
62 return; 62 return;
63 case GL_GPU_RASTER_2D_DRAW: 63 case GL_GPU_RASTER_2D_DRAW:
64 test_type_ = PIXEL_TEST_GL; 64 test_type_ = PIXEL_TEST_GL;
65 staging_texture_target_ = GL_INVALID_VALUE; 65 staging_texture_target_ = GL_INVALID_VALUE;
66 draw_texture_target_ = GL_TEXTURE_2D; 66 draw_texture_target_ = GL_TEXTURE_2D;
67 resource_pool_option_ = GPU_RASTER_WORKER_POOL; 67 resource_pool_option_ = GPU_TILE_TASK_WORKER_POOL;
68 return; 68 return;
69 case GL_ONE_COPY_2D_STAGING_2D_DRAW: 69 case GL_ONE_COPY_2D_STAGING_2D_DRAW:
70 test_type_ = PIXEL_TEST_GL; 70 test_type_ = PIXEL_TEST_GL;
71 staging_texture_target_ = GL_TEXTURE_2D; 71 staging_texture_target_ = GL_TEXTURE_2D;
72 draw_texture_target_ = GL_TEXTURE_2D; 72 draw_texture_target_ = GL_TEXTURE_2D;
73 resource_pool_option_ = ONE_COPY_RASTER_WORKER_POOL; 73 resource_pool_option_ = ONE_COPY_TILE_TASK_WORKER_POOL;
74 return; 74 return;
75 case GL_ONE_COPY_RECT_STAGING_2D_DRAW: 75 case GL_ONE_COPY_RECT_STAGING_2D_DRAW:
76 test_type_ = PIXEL_TEST_GL; 76 test_type_ = PIXEL_TEST_GL;
77 staging_texture_target_ = GL_TEXTURE_RECTANGLE_ARB; 77 staging_texture_target_ = GL_TEXTURE_RECTANGLE_ARB;
78 draw_texture_target_ = GL_TEXTURE_2D; 78 draw_texture_target_ = GL_TEXTURE_2D;
79 resource_pool_option_ = ONE_COPY_RASTER_WORKER_POOL; 79 resource_pool_option_ = ONE_COPY_TILE_TASK_WORKER_POOL;
80 return; 80 return;
81 case GL_ONE_COPY_EXTERNAL_STAGING_2D_DRAW: 81 case GL_ONE_COPY_EXTERNAL_STAGING_2D_DRAW:
82 test_type_ = PIXEL_TEST_GL; 82 test_type_ = PIXEL_TEST_GL;
83 staging_texture_target_ = GL_TEXTURE_EXTERNAL_OES; 83 staging_texture_target_ = GL_TEXTURE_EXTERNAL_OES;
84 draw_texture_target_ = GL_TEXTURE_2D; 84 draw_texture_target_ = GL_TEXTURE_2D;
85 resource_pool_option_ = ONE_COPY_RASTER_WORKER_POOL; 85 resource_pool_option_ = ONE_COPY_TILE_TASK_WORKER_POOL;
86 return; 86 return;
87 case GL_ZERO_COPY_2D_DRAW: 87 case GL_ZERO_COPY_2D_DRAW:
88 test_type_ = PIXEL_TEST_GL; 88 test_type_ = PIXEL_TEST_GL;
89 staging_texture_target_ = GL_INVALID_VALUE; 89 staging_texture_target_ = GL_INVALID_VALUE;
90 draw_texture_target_ = GL_TEXTURE_2D; 90 draw_texture_target_ = GL_TEXTURE_2D;
91 resource_pool_option_ = ZERO_COPY_RASTER_WORKER_POOL; 91 resource_pool_option_ = ZERO_COPY_TILE_TASK_WORKER_POOL;
92 return; 92 return;
93 case GL_ZERO_COPY_RECT_DRAW: 93 case GL_ZERO_COPY_RECT_DRAW:
94 test_type_ = PIXEL_TEST_GL; 94 test_type_ = PIXEL_TEST_GL;
95 staging_texture_target_ = GL_INVALID_VALUE; 95 staging_texture_target_ = GL_INVALID_VALUE;
96 draw_texture_target_ = GL_TEXTURE_RECTANGLE_ARB; 96 draw_texture_target_ = GL_TEXTURE_RECTANGLE_ARB;
97 resource_pool_option_ = ZERO_COPY_RASTER_WORKER_POOL; 97 resource_pool_option_ = ZERO_COPY_TILE_TASK_WORKER_POOL;
98 return; 98 return;
99 case GL_ZERO_COPY_EXTERNAL_DRAW: 99 case GL_ZERO_COPY_EXTERNAL_DRAW:
100 test_type_ = PIXEL_TEST_GL; 100 test_type_ = PIXEL_TEST_GL;
101 staging_texture_target_ = GL_INVALID_VALUE; 101 staging_texture_target_ = GL_INVALID_VALUE;
102 draw_texture_target_ = GL_TEXTURE_EXTERNAL_OES; 102 draw_texture_target_ = GL_TEXTURE_EXTERNAL_OES;
103 resource_pool_option_ = ZERO_COPY_RASTER_WORKER_POOL; 103 resource_pool_option_ = ZERO_COPY_TILE_TASK_WORKER_POOL;
104 return; 104 return;
105 case GL_ASYNC_UPLOAD_2D_DRAW: 105 case GL_ASYNC_UPLOAD_2D_DRAW:
106 test_type_ = PIXEL_TEST_GL; 106 test_type_ = PIXEL_TEST_GL;
107 staging_texture_target_ = GL_INVALID_VALUE; 107 staging_texture_target_ = GL_INVALID_VALUE;
108 draw_texture_target_ = GL_TEXTURE_2D; 108 draw_texture_target_ = GL_TEXTURE_2D;
109 resource_pool_option_ = PIXEL_BUFFER_RASTER_WORKER_POOL; 109 resource_pool_option_ = PIXEL_BUFFER_TILE_TASK_WORKER_POOL;
110 return; 110 return;
111 } 111 }
112 NOTREACHED(); 112 NOTREACHED();
113 } 113 }
114 114
115 void LayerTreeHostPixelResourceTest::CreateResourceAndRasterWorkerPool( 115 void LayerTreeHostPixelResourceTest::CreateResourceAndTileTaskWorkerPool(
116 LayerTreeHostImpl* host_impl, 116 LayerTreeHostImpl* host_impl,
117 scoped_ptr<RasterWorkerPool>* raster_worker_pool, 117 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool,
118 scoped_ptr<ResourcePool>* resource_pool, 118 scoped_ptr<ResourcePool>* resource_pool,
119 scoped_ptr<ResourcePool>* staging_resource_pool) { 119 scoped_ptr<ResourcePool>* staging_resource_pool) {
120 base::SingleThreadTaskRunner* task_runner = 120 base::SingleThreadTaskRunner* task_runner =
121 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner() 121 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner()
122 : proxy()->MainThreadTaskRunner(); 122 : proxy()->MainThreadTaskRunner();
123 DCHECK(task_runner); 123 DCHECK(task_runner);
124 124
125 ContextProvider* context_provider = 125 ContextProvider* context_provider =
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_RASTER_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,
137 draw_texture_target_, 137 draw_texture_target_,
138 resource_provider->best_texture_format()); 138 resource_provider->best_texture_format());
139 139
140 *raster_worker_pool = 140 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create(
141 BitmapRasterWorkerPool::Create(task_runner, 141 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
142 RasterWorkerPool::GetTaskGraphRunner(), 142 resource_provider);
143 resource_provider);
144 break; 143 break;
145 case GPU_RASTER_WORKER_POOL: 144 case GPU_TILE_TASK_WORKER_POOL:
146 EXPECT_TRUE(context_provider); 145 EXPECT_TRUE(context_provider);
147 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 146 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
148 *resource_pool = 147 *resource_pool =
149 ResourcePool::Create(resource_provider, 148 ResourcePool::Create(resource_provider,
150 draw_texture_target_, 149 draw_texture_target_,
151 resource_provider->best_texture_format()); 150 resource_provider->best_texture_format());
152 151
153 *raster_worker_pool = 152 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create(
154 GpuRasterWorkerPool::Create(task_runner, 153 task_runner, context_provider, resource_provider,
155 context_provider, 154 use_distance_field_text);
156 resource_provider,
157 use_distance_field_text);
158 break; 155 break;
159 case ZERO_COPY_RASTER_WORKER_POOL: 156 case ZERO_COPY_TILE_TASK_WORKER_POOL:
160 EXPECT_TRUE(context_provider); 157 EXPECT_TRUE(context_provider);
161 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 158 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
162 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 159 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
163 *resource_pool = 160 *resource_pool =
164 ResourcePool::Create(resource_provider, 161 ResourcePool::Create(resource_provider,
165 draw_texture_target_, 162 draw_texture_target_,
166 resource_provider->best_texture_format()); 163 resource_provider->best_texture_format());
167 164
168 *raster_worker_pool = ZeroCopyRasterWorkerPool::Create( 165 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create(
169 task_runner, 166 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
170 RasterWorkerPool::GetTaskGraphRunner(),
171 resource_provider); 167 resource_provider);
172 break; 168 break;
173 case ONE_COPY_RASTER_WORKER_POOL: 169 case ONE_COPY_TILE_TASK_WORKER_POOL:
174 EXPECT_TRUE(context_provider); 170 EXPECT_TRUE(context_provider);
175 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 171 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
176 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); 172 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image);
177 // We need to create a staging resource pool when using copy rasterizer. 173 // We need to create a staging resource pool when using copy rasterizer.
178 *staging_resource_pool = 174 *staging_resource_pool =
179 ResourcePool::Create(resource_provider, 175 ResourcePool::Create(resource_provider,
180 staging_texture_target_, 176 staging_texture_target_,
181 resource_provider->best_texture_format()); 177 resource_provider->best_texture_format());
182 *resource_pool = 178 *resource_pool =
183 ResourcePool::Create(resource_provider, 179 ResourcePool::Create(resource_provider,
184 draw_texture_target_, 180 draw_texture_target_,
185 resource_provider->best_texture_format()); 181 resource_provider->best_texture_format());
186 182
187 *raster_worker_pool = OneCopyRasterWorkerPool::Create( 183 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create(
188 task_runner, 184 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
189 RasterWorkerPool::GetTaskGraphRunner(), 185 context_provider, resource_provider, staging_resource_pool->get());
190 context_provider,
191 resource_provider,
192 staging_resource_pool->get());
193 break; 186 break;
194 case PIXEL_BUFFER_RASTER_WORKER_POOL: 187 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL:
195 EXPECT_TRUE(context_provider); 188 EXPECT_TRUE(context_provider);
196 EXPECT_EQ(PIXEL_TEST_GL, test_type_); 189 EXPECT_EQ(PIXEL_TEST_GL, test_type_);
197 *resource_pool = ResourcePool::Create( 190 *resource_pool = ResourcePool::Create(
198 resource_provider, 191 resource_provider,
199 draw_texture_target_, 192 draw_texture_target_,
200 resource_provider->memory_efficient_texture_format()); 193 resource_provider->memory_efficient_texture_format());
201 194
202 *raster_worker_pool = PixelBufferRasterWorkerPool::Create( 195 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create(
203 task_runner, 196 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(),
204 RasterWorkerPool::GetTaskGraphRunner(), 197 context_provider, resource_provider, max_transfer_buffer_usage_bytes);
205 context_provider,
206 resource_provider,
207 max_transfer_buffer_usage_bytes);
208 break; 198 break;
209 } 199 }
210 } 200 }
211 201
212 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( 202 void LayerTreeHostPixelResourceTest::RunPixelResourceTest(
213 scoped_refptr<Layer> content_root, 203 scoped_refptr<Layer> content_root,
214 base::FilePath file_name) { 204 base::FilePath file_name) {
215 if (!IsTestCaseSupported(test_case_)) 205 if (!IsTestCaseSupported(test_case_))
216 return; 206 return;
217 RunPixelTest(test_type_, content_root, file_name); 207 RunPixelTest(test_type_, content_root, file_name);
218 } 208 }
219 209
220 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() 210 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest()
221 : LayerTreeHostPixelResourceTest(GetParam()) { 211 : LayerTreeHostPixelResourceTest(GetParam()) {
222 } 212 }
223 213
224 } // namespace cc 214 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698