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

Side by Side Diff: cc/quad_culler_unittest.cc

Issue 12728002: cc: Chromify the OverdrawMetrics class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « cc/quad_culler.cc ('k') | cc/tiled_layer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/quad_culler.h" 5 #include "cc/quad_culler.h"
6 6
7 #include "cc/append_quads_data.h" 7 #include "cc/append_quads_data.h"
8 #include "cc/layer_tiling_data.h" 8 #include "cc/layer_tiling_data.h"
9 #include "cc/math_util.h" 9 #include "cc/math_util.h"
10 #include "cc/occlusion_tracker.h" 10 #include "cc/occlusion_tracker.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 DECLARE_AND_INITIALIZE_TEST_QUADS 117 DECLARE_AND_INITIALIZE_TEST_QUADS
118 118
119 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 119 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
120 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, false, gfx::Rect(), renderSurfaceLayerList); 120 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, false, gfx::Rect(), renderSurfaceLayerList);
121 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 121 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
122 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 122 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
123 123
124 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 124 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
125 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 125 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
126 EXPECT_EQ(quadList.size(), 13u); 126 EXPECT_EQ(quadList.size(), 13u);
127 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 127 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
128 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 400 00, 1); 128 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 4 0000, 1);
129 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 129 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
130 } 130 }
131 131
132 TEST_F(QuadCullerTest, verifyCullChildLinesUpTopLeft) 132 TEST_F(QuadCullerTest, verifyCullChildLinesUpTopLeft)
133 { 133 {
134 DECLARE_AND_INITIALIZE_TEST_QUADS 134 DECLARE_AND_INITIALIZE_TEST_QUADS
135 135
136 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 136 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
137 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 137 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
138 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 138 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
139 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 139 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
140 140
141 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 141 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
142 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 142 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
143 EXPECT_EQ(quadList.size(), 9u); 143 EXPECT_EQ(quadList.size(), 9u);
144 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 144 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
145 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 145 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
146 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 400 00, 1); 146 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 40000, 1);
147 } 147 }
148 148
149 TEST_F(QuadCullerTest, verifyCullWhenChildOpacityNotOne) 149 TEST_F(QuadCullerTest, verifyCullWhenChildOpacityNotOne)
150 { 150 {
151 DECLARE_AND_INITIALIZE_TEST_QUADS 151 DECLARE_AND_INITIALIZE_TEST_QUADS
152 152
153 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 153 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
154 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 0.9f, true, gfx::Rect(), renderSurfaceLayerList); 154 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 0.9f, true, gfx::Rect(), renderSurfaceLayerList);
155 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 155 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
156 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 156 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
157 157
158 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 158 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
159 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 159 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
160 EXPECT_EQ(quadList.size(), 13u); 160 EXPECT_EQ(quadList.size(), 13u);
161 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 161 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
162 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 400 00, 1); 162 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 4 0000, 1);
163 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 163 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
164 } 164 }
165 165
166 TEST_F(QuadCullerTest, verifyCullWhenChildOpaqueFlagFalse) 166 TEST_F(QuadCullerTest, verifyCullWhenChildOpaqueFlagFalse)
167 { 167 {
168 DECLARE_AND_INITIALIZE_TEST_QUADS 168 DECLARE_AND_INITIALIZE_TEST_QUADS
169 169
170 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 170 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
171 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, gfx::Rect(), renderSurfaceLayerList); 171 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, gfx::Rect(), renderSurfaceLayerList);
172 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 172 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
173 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 173 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
174 174
175 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 175 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
176 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 176 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
177 EXPECT_EQ(quadList.size(), 13u); 177 EXPECT_EQ(quadList.size(), 13u);
178 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 178 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
179 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 400 00, 1); 179 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 4 0000, 1);
180 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 180 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
181 } 181 }
182 182
183 TEST_F(QuadCullerTest, verifyCullCenterTileOnly) 183 TEST_F(QuadCullerTest, verifyCullCenterTileOnly)
184 { 184 {
185 DECLARE_AND_INITIALIZE_TEST_QUADS 185 DECLARE_AND_INITIALIZE_TEST_QUADS
186 186
187 childTransform.Translate(50, 50); 187 childTransform.Translate(50, 50);
188 188
189 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 189 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
190 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 190 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
(...skipping 12 matching lines...) Expand all
203 203
204 // Next index is 8, not 9, since centre quad culled. 204 // Next index is 8, not 9, since centre quad culled.
205 gfx::Rect quadVisibleRect4 = quadList[8]->visible_rect; 205 gfx::Rect quadVisibleRect4 = quadList[8]->visible_rect;
206 EXPECT_EQ(quadVisibleRect4.width(), 50); 206 EXPECT_EQ(quadVisibleRect4.width(), 50);
207 EXPECT_EQ(quadVisibleRect4.x(), 250); 207 EXPECT_EQ(quadVisibleRect4.x(), 250);
208 208
209 gfx::Rect quadVisibleRect6 = quadList[10]->visible_rect; 209 gfx::Rect quadVisibleRect6 = quadList[10]->visible_rect;
210 EXPECT_EQ(quadVisibleRect6.height(), 50); 210 EXPECT_EQ(quadVisibleRect6.height(), 50);
211 EXPECT_EQ(quadVisibleRect6.y(), 250); 211 EXPECT_EQ(quadVisibleRect6.y(), 250);
212 212
213 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 100000, 1); 213 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 100000 , 1);
214 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 214 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
215 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 300 00, 1); 215 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 30000, 1);
216 } 216 }
217 217
218 TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize1) 218 TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize1)
219 { 219 {
220 DECLARE_AND_INITIALIZE_TEST_QUADS 220 DECLARE_AND_INITIALIZE_TEST_QUADS
221 221
222 childTransform.Translate(100, 100); 222 childTransform.Translate(100, 100);
223 223
224 // Make the root layer's quad have extent (99.1, 99.1) -> (200.9, 200.9) to make 224 // Make the root layer's quad have extent (99.1, 99.1) -> (200.9, 200.9) to make
225 // sure it doesn't get culled due to transform rounding. 225 // sure it doesn't get culled due to transform rounding.
226 gfx::Transform rootTransform; 226 gfx::Transform rootTransform;
227 rootTransform.Translate(99.1, 99.1); 227 rootTransform.Translate(99.1, 99.1);
228 rootTransform.Scale(1.018, 1.018); 228 rootTransform.Scale(1.018, 1.018);
229 229
230 rootRect = childRect = gfx::Rect(0, 0, 100, 100); 230 rootRect = childRect = gfx::Rect(0, 0, 100, 100);
231 231
232 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, rootTransform, rootRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 232 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, rootTransform, rootRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
233 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 233 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
234 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 234 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
235 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 235 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
236 236
237 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 237 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
238 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 238 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
239 EXPECT_EQ(quadList.size(), 2u); 239 EXPECT_EQ(quadList.size(), 2u);
240 240
241 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 20363, 1 ); 241 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 20363, 1);
242 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 242 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
243 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 243 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
244 } 244 }
245 245
246 TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize2) 246 TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize2)
247 { 247 {
248 DECLARE_AND_INITIALIZE_TEST_QUADS 248 DECLARE_AND_INITIALIZE_TEST_QUADS
249 249
250 // Make the child's quad slightly smaller than, and centred over, the root l ayer tile. 250 // Make the child's quad slightly smaller than, and centred over, the root l ayer tile.
251 // Verify the child does not cause the quad below to be culled due to roundi ng. 251 // Verify the child does not cause the quad below to be culled due to roundi ng.
252 childTransform.Translate(100.1, 100.1); 252 childTransform.Translate(100.1, 100.1);
253 childTransform.Scale(0.982, 0.982); 253 childTransform.Scale(0.982, 0.982);
254 254
255 gfx::Transform rootTransform; 255 gfx::Transform rootTransform;
256 rootTransform.Translate(100, 100); 256 rootTransform.Translate(100, 100);
257 257
258 rootRect = childRect = gfx::Rect(0, 0, 100, 100); 258 rootRect = childRect = gfx::Rect(0, 0, 100, 100);
259 259
260 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, rootTransform, rootRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 260 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, rootTransform, rootRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
261 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 261 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
262 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 262 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
263 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 263 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
264 264
265 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 265 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
266 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 266 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
267 EXPECT_EQ(quadList.size(), 2u); 267 EXPECT_EQ(quadList.size(), 2u);
268 268
269 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 19643, 1 ); 269 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 19643, 1);
270 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 270 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
271 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 271 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
272 } 272 }
273 273
274 TEST_F(QuadCullerTest, verifyCullChildLinesUpBottomRight) 274 TEST_F(QuadCullerTest, verifyCullChildLinesUpBottomRight)
275 { 275 {
276 DECLARE_AND_INITIALIZE_TEST_QUADS 276 DECLARE_AND_INITIALIZE_TEST_QUADS
277 277
278 childTransform.Translate(100, 100); 278 childTransform.Translate(100, 100);
279 279
280 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 280 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
281 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 281 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
282 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 282 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
283 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 283 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
284 284
285 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 285 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
286 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 286 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
287 EXPECT_EQ(quadList.size(), 9u); 287 EXPECT_EQ(quadList.size(), 9u);
288 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 288 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
289 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 289 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
290 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 400 00, 1); 290 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 40000, 1);
291 } 291 }
292 292
293 TEST_F(QuadCullerTest, verifyCullSubRegion) 293 TEST_F(QuadCullerTest, verifyCullSubRegion)
294 { 294 {
295 DECLARE_AND_INITIALIZE_TEST_QUADS 295 DECLARE_AND_INITIALIZE_TEST_QUADS
296 296
297 childTransform.Translate(50, 50); 297 childTransform.Translate(50, 50);
298 298
299 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 299 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
300 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() / 2); 300 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() / 2);
301 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList); 301 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList);
302 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 302 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
303 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 303 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
304 304
305 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 305 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
306 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 306 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
307 EXPECT_EQ(quadList.size(), 12u); 307 EXPECT_EQ(quadList.size(), 12u);
308 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 308 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
309 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 300 00, 1); 309 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 3 0000, 1);
310 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 100 00, 1); 310 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 10000, 1);
311 } 311 }
312 312
313 TEST_F(QuadCullerTest, verifyCullSubRegion2) 313 TEST_F(QuadCullerTest, verifyCullSubRegion2)
314 { 314 {
315 DECLARE_AND_INITIALIZE_TEST_QUADS 315 DECLARE_AND_INITIALIZE_TEST_QUADS
316 316
317 childTransform.Translate(50, 10); 317 childTransform.Translate(50, 10);
318 318
319 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 319 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
320 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() * 3 / 4); 320 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() * 3 / 4);
321 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList); 321 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList);
322 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 322 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
323 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 323 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
324 324
325 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 325 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
326 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 326 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
327 EXPECT_EQ(quadList.size(), 12u); 327 EXPECT_EQ(quadList.size(), 12u);
328 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 328 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
329 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 250 00, 1); 329 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 2 5000, 1);
330 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 150 00, 1); 330 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 15000, 1);
331 } 331 }
332 332
333 TEST_F(QuadCullerTest, verifyCullSubRegionCheckOvercull) 333 TEST_F(QuadCullerTest, verifyCullSubRegionCheckOvercull)
334 { 334 {
335 DECLARE_AND_INITIALIZE_TEST_QUADS 335 DECLARE_AND_INITIALIZE_TEST_QUADS
336 336
337 childTransform.Translate(50, 49); 337 childTransform.Translate(50, 49);
338 338
339 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 339 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
340 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() / 2); 340 gfx::Rect childOpaqueRect(childRect.x() + childRect.width() / 4, childRect.y () + childRect.height() / 4, childRect.width() / 2, childRect.height() / 2);
341 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList); 341 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, false, childOpaqueRect, renderSurfaceLayerList);
342 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 342 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
343 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 343 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
344 344
345 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 345 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
346 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 346 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
347 EXPECT_EQ(quadList.size(), 13u); 347 EXPECT_EQ(quadList.size(), 13u);
348 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1 ); 348 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
349 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 300 00, 1); 349 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 3 0000, 1);
350 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 100 00, 1); 350 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 10000, 1);
351 } 351 }
352 352
353 TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsDontOcclude) 353 TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsDontOcclude)
354 { 354 {
355 DECLARE_AND_INITIALIZE_TEST_QUADS 355 DECLARE_AND_INITIALIZE_TEST_QUADS
356 356
357 // Use a small rotation so as to not disturb the geometry significantly. 357 // Use a small rotation so as to not disturb the geometry significantly.
358 childTransform.Rotate(1); 358 childTransform.Rotate(1);
359 359
360 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 360 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
361 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 361 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), childTran sform, childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
362 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 362 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
363 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 363 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
364 364
365 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 365 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
366 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 366 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
367 EXPECT_EQ(quadList.size(), 13u); 367 EXPECT_EQ(quadList.size(), 13u);
368 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 130000, 1); 368 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 130000 , 1);
369 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 369 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
370 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 370 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
371 } 371 }
372 372
373 // This test requires some explanation: here we are rotating the quads to be cul led. 373 // This test requires some explanation: here we are rotating the quads to be cul led.
374 // The 2x2 tile child layer remains in the top-left corner, unrotated, but the 3 x3 374 // The 2x2 tile child layer remains in the top-left corner, unrotated, but the 3 x3
375 // tile parent layer is rotated by 1 degree. Of the four tiles the child would 375 // tile parent layer is rotated by 1 degree. Of the four tiles the child would
376 // normally occlude, three will move (slightly) out from under the child layer, and 376 // normally occlude, three will move (slightly) out from under the child layer, and
377 // one moves further under the child. Only this last tile should be culled. 377 // one moves further under the child. Only this last tile should be culled.
378 TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsSafelyCulled) 378 TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsSafelyCulled)
379 { 379 {
380 DECLARE_AND_INITIALIZE_TEST_QUADS 380 DECLARE_AND_INITIALIZE_TEST_QUADS
381 381
382 // Use a small rotation so as to not disturb the geometry significantly. 382 // Use a small rotation so as to not disturb the geometry significantly.
383 gfx::Transform parentTransform; 383 gfx::Transform parentTransform;
384 parentTransform.Rotate(1); 384 parentTransform.Rotate(1);
385 385
386 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, parentTransform, rootRec t, 1, true, gfx::Rect(), renderSurfaceLayerList); 386 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, parentTransform, rootRec t, 1, true, gfx::Rect(), renderSurfaceLayerList);
387 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 387 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
388 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ; 388 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(-100, -100, 1000, 1000)) ;
389 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 389 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
390 390
391 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 391 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
392 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 392 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
393 EXPECT_EQ(quadList.size(), 12u); 393 EXPECT_EQ(quadList.size(), 12u);
394 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 100600, 1); 394 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 100600 , 1);
395 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 395 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
396 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 294 00, 1); 396 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 29400, 1);
397 } 397 }
398 398
399 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverTile) 399 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverTile)
400 { 400 {
401 DECLARE_AND_INITIALIZE_TEST_QUADS 401 DECLARE_AND_INITIALIZE_TEST_QUADS
402 402
403 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 403 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
404 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 404 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
405 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(200, 100, 100, 100)); 405 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(200, 100, 100, 100));
406 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 406 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
407 407
408 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 408 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
409 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 409 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
410 EXPECT_EQ(quadList.size(), 1u); 410 EXPECT_EQ(quadList.size(), 1u);
411 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 10000, 1 ); 411 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 10000, 1);
412 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 412 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
413 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 120 000, 1); 413 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 120000, 1);
414 } 414 }
415 415
416 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverCulledTile) 416 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverCulledTile)
417 { 417 {
418 DECLARE_AND_INITIALIZE_TEST_QUADS 418 DECLARE_AND_INITIALIZE_TEST_QUADS
419 419
420 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 420 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
421 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 421 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
422 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(100, 100, 100, 100)); 422 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(100, 100, 100, 100));
423 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 423 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
424 424
425 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 425 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
426 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 426 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
427 EXPECT_EQ(quadList.size(), 1u); 427 EXPECT_EQ(quadList.size(), 1u);
428 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 10000, 1 ); 428 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 10000, 1);
429 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 429 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
430 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 120 000, 1); 430 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 120000, 1);
431 } 431 }
432 432
433 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverPartialTiles) 433 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverPartialTiles)
434 { 434 {
435 DECLARE_AND_INITIALIZE_TEST_QUADS 435 DECLARE_AND_INITIALIZE_TEST_QUADS
436 436
437 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 437 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
438 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 438 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
439 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(50, 50, 200, 200)); 439 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(50, 50, 200, 200));
440 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 440 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
441 441
442 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 442 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
443 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 443 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
444 EXPECT_EQ(quadList.size(), 9u); 444 EXPECT_EQ(quadList.size(), 9u);
445 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 40000, 1 ); 445 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 40000, 1);
446 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 446 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
447 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 900 00, 1); 447 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 90000, 1);
448 } 448 }
449 449
450 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverNoTiles) 450 TEST_F(QuadCullerTest, verifyCullOutsideScissorOverNoTiles)
451 { 451 {
452 DECLARE_AND_INITIALIZE_TEST_QUADS 452 DECLARE_AND_INITIALIZE_TEST_QUADS
453 453
454 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 454 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
455 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 455 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
456 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(500, 500, 100, 100)); 456 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(500, 500, 100, 100));
457 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 457 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
458 458
459 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 459 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
460 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 460 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
461 EXPECT_EQ(quadList.size(), 0u); 461 EXPECT_EQ(quadList.size(), 0u);
462 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 0, 1); 462 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 0, 1);
463 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 463 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
464 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 130 000, 1); 464 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 130000, 1);
465 } 465 }
466 466
467 TEST_F(QuadCullerTest, verifyWithoutMetrics) 467 TEST_F(QuadCullerTest, verifyWithoutMetrics)
468 { 468 {
469 DECLARE_AND_INITIALIZE_TEST_QUADS 469 DECLARE_AND_INITIALIZE_TEST_QUADS
470 470
471 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList); 471 scoped_ptr<TiledLayerImpl> rootLayer = makeLayer(0, gfx::Transform(), rootRe ct, 1, true, gfx::Rect(), renderSurfaceLayerList);
472 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList); 472 scoped_ptr<TiledLayerImpl> childLayer = makeLayer(rootLayer.get(), gfx::Tran sform(), childRect, 1, true, gfx::Rect(), renderSurfaceLayerList);
473 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(50, 50, 200, 200), false ); 473 TestOcclusionTrackerImpl occlusionTracker(gfx::Rect(50, 50, 200, 200), false );
474 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); 474 LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList);
475 475
476 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 476 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
477 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 477 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
478 EXPECT_EQ(quadList.size(), 9u); 478 EXPECT_EQ(quadList.size(), 9u);
479 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 0, 1); 479 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 0, 1);
480 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 480 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0 , 1);
481 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1); 481 EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
482 } 482 }
483 483
484 } // namespace 484 } // namespace
485 } // namespace cc 485 } // namespace cc
OLDNEW
« no previous file with comments | « cc/quad_culler.cc ('k') | cc/tiled_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698