| 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 |