OLD | NEW |
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/layers/tiled_layer_impl.h" | 5 #include "cc/layers/tiled_layer_impl.h" |
6 | 6 |
7 #include "cc/layers/append_quads_data.h" | 7 #include "cc/layers/append_quads_data.h" |
8 #include "cc/quads/tile_draw_quad.h" | 8 #include "cc/quads/tile_draw_quad.h" |
9 #include "cc/resources/layer_tiling_data.h" | 9 #include "cc/resources/layer_tiling_data.h" |
10 #include "cc/test/fake_impl_proxy.h" | 10 #include "cc/test/fake_impl_proxy.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 int num_tiles_y = 4; | 90 int num_tiles_y = 4; |
91 gfx::Size layer_size(tile_size.width() * num_tiles_x, | 91 gfx::Size layer_size(tile_size.width() * num_tiles_x, |
92 tile_size.height() * num_tiles_y); | 92 tile_size.height() * num_tiles_y); |
93 | 93 |
94 // Verify default layer does creates quads | 94 // Verify default layer does creates quads |
95 { | 95 { |
96 scoped_ptr<TiledLayerImpl> layer = | 96 scoped_ptr<TiledLayerImpl> layer = |
97 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); | 97 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); |
98 MockQuadCuller quad_culler; | 98 MockQuadCuller quad_culler; |
99 AppendQuadsData data; | 99 AppendQuadsData data; |
| 100 EXPECT_TRUE(layer->WillDraw(DRAW_MODE_HARDWARE, NULL)); |
100 layer->AppendQuads(&quad_culler, &data); | 101 layer->AppendQuads(&quad_culler, &data); |
| 102 layer->DidDraw(NULL); |
101 unsigned num_tiles = num_tiles_x * num_tiles_y; | 103 unsigned num_tiles = num_tiles_x * num_tiles_y; |
102 EXPECT_EQ(quad_culler.quad_list().size(), num_tiles); | 104 EXPECT_EQ(quad_culler.quad_list().size(), num_tiles); |
103 } | 105 } |
104 | 106 |
105 // Layer with empty visible layer rect produces no quads | 107 // Layer with empty visible layer rect produces no quads |
106 { | 108 { |
107 scoped_ptr<TiledLayerImpl> layer = | 109 scoped_ptr<TiledLayerImpl> layer = |
108 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); | 110 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); |
109 layer->draw_properties().visible_content_rect = gfx::Rect(); | 111 layer->draw_properties().visible_content_rect = gfx::Rect(); |
110 | 112 |
111 MockQuadCuller quad_culler; | 113 MockQuadCuller quad_culler; |
112 AppendQuadsData data; | 114 EXPECT_FALSE(layer->WillDraw(DRAW_MODE_HARDWARE, NULL)); |
113 layer->AppendQuads(&quad_culler, &data); | |
114 EXPECT_EQ(quad_culler.quad_list().size(), 0u); | |
115 } | 115 } |
116 | 116 |
117 // Layer with non-intersecting visible layer rect produces no quads | 117 // Layer with non-intersecting visible layer rect produces no quads |
118 { | 118 { |
119 scoped_ptr<TiledLayerImpl> layer = | 119 scoped_ptr<TiledLayerImpl> layer = |
120 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); | 120 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); |
121 | 121 |
122 gfx::Rect outside_bounds(-100, -100, 50, 50); | 122 gfx::Rect outside_bounds(-100, -100, 50, 50); |
123 layer->draw_properties().visible_content_rect = outside_bounds; | 123 layer->draw_properties().visible_content_rect = outside_bounds; |
124 | 124 |
125 MockQuadCuller quad_culler; | 125 MockQuadCuller quad_culler; |
126 AppendQuadsData data; | 126 AppendQuadsData data; |
| 127 EXPECT_TRUE(layer->WillDraw(DRAW_MODE_HARDWARE, NULL)); |
127 layer->AppendQuads(&quad_culler, &data); | 128 layer->AppendQuads(&quad_culler, &data); |
| 129 layer->DidDraw(NULL); |
128 EXPECT_EQ(quad_culler.quad_list().size(), 0u); | 130 EXPECT_EQ(quad_culler.quad_list().size(), 0u); |
129 } | 131 } |
130 | 132 |
131 // Layer with skips draw produces no quads | 133 // Layer with skips draw produces no quads |
132 { | 134 { |
133 scoped_ptr<TiledLayerImpl> layer = | 135 scoped_ptr<TiledLayerImpl> layer = |
134 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); | 136 CreateLayer(tile_size, layer_size, LayerTilingData::NO_BORDER_TEXELS); |
135 layer->set_skips_draw(true); | 137 layer->set_skips_draw(true); |
136 | 138 |
137 MockQuadCuller quad_culler; | 139 MockQuadCuller quad_culler; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 ResourceProvider::ResourceId empty_resource(0); | 295 ResourceProvider::ResourceId empty_resource(0); |
294 layer->PushTileProperties(0, 1, empty_resource, gfx::Rect(0, 0, 1, 1), false); | 296 layer->PushTileProperties(0, 1, empty_resource, gfx::Rect(0, 0, 1, 1), false); |
295 layer->PushTileProperties(2, 3, empty_resource, gfx::Rect(0, 0, 1, 1), false); | 297 layer->PushTileProperties(2, 3, empty_resource, gfx::Rect(0, 0, 1, 1), false); |
296 layer->PushTileProperties(2, 0, empty_resource, gfx::Rect(0, 0, 1, 1), false); | 298 layer->PushTileProperties(2, 0, empty_resource, gfx::Rect(0, 0, 1, 1), false); |
297 | 299 |
298 EXPECT_EQ(layer->GPUMemoryUsageInBytes(), 0u); | 300 EXPECT_EQ(layer->GPUMemoryUsageInBytes(), 0u); |
299 } | 301 } |
300 | 302 |
301 } // namespace | 303 } // namespace |
302 } // namespace cc | 304 } // namespace cc |
OLD | NEW |