| 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/output/software_renderer.h" | 5 #include "cc/output/software_renderer.h" |
| 6 | 6 |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "cc/output/compositor_frame_metadata.h" | 8 #include "cc/output/compositor_frame_metadata.h" |
| 9 #include "cc/output/copy_output_request.h" | 9 #include "cc/output/copy_output_request.h" |
| 10 #include "cc/output/copy_output_result.h" | 10 #include "cc/output/copy_output_result.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 SharedQuadState* shared_quad_state = | 107 SharedQuadState* shared_quad_state = |
| 108 root_render_pass->CreateAndAppendSharedQuadState(); | 108 root_render_pass->CreateAndAppendSharedQuadState(); |
| 109 shared_quad_state->SetAll(gfx::Transform(), | 109 shared_quad_state->SetAll(gfx::Transform(), |
| 110 outer_size, | 110 outer_size, |
| 111 outer_rect, | 111 outer_rect, |
| 112 outer_rect, | 112 outer_rect, |
| 113 false, | 113 false, |
| 114 1.0, | 114 1.0, |
| 115 SkXfermode::kSrcOver_Mode, | 115 SkXfermode::kSrcOver_Mode, |
| 116 0); | 116 0); |
| 117 scoped_ptr<SolidColorDrawQuad> outer_quad = SolidColorDrawQuad::Create(); | 117 SolidColorDrawQuad* inner_quad = |
| 118 outer_quad->SetNew( | 118 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 119 shared_quad_state, outer_rect, outer_rect, SK_ColorYELLOW, false); | |
| 120 scoped_ptr<SolidColorDrawQuad> inner_quad = SolidColorDrawQuad::Create(); | |
| 121 inner_quad->SetNew( | 119 inner_quad->SetNew( |
| 122 shared_quad_state, inner_rect, inner_rect, SK_ColorCYAN, false); | 120 shared_quad_state, inner_rect, inner_rect, SK_ColorCYAN, false); |
| 123 inner_quad->visible_rect = visible_rect; | 121 inner_quad->visible_rect = visible_rect; |
| 124 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>()); | 122 SolidColorDrawQuad* outer_quad = |
| 125 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>()); | 123 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 124 outer_quad->SetNew( |
| 125 shared_quad_state, outer_rect, outer_rect, SK_ColorYELLOW, false); |
| 126 | 126 |
| 127 RenderPassList list; | 127 RenderPassList list; |
| 128 list.push_back(root_render_pass.PassAs<RenderPass>()); | 128 list.push_back(root_render_pass.PassAs<RenderPass>()); |
| 129 | 129 |
| 130 float device_scale_factor = 1.f; | 130 float device_scale_factor = 1.f; |
| 131 gfx::Rect device_viewport_rect(outer_size); | 131 gfx::Rect device_viewport_rect(outer_size); |
| 132 scoped_ptr<SkBitmap> output = | 132 scoped_ptr<SkBitmap> output = |
| 133 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); | 133 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); |
| 134 EXPECT_EQ(outer_rect.width(), output->info().fWidth); | 134 EXPECT_EQ(outer_rect.width(), output->info().fWidth); |
| 135 EXPECT_EQ(outer_rect.width(), output->info().fHeight); | 135 EXPECT_EQ(outer_rect.width(), output->info().fHeight); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 SharedQuadState* shared_quad_state = | 190 SharedQuadState* shared_quad_state = |
| 191 root_render_pass->CreateAndAppendSharedQuadState(); | 191 root_render_pass->CreateAndAppendSharedQuadState(); |
| 192 shared_quad_state->SetAll(gfx::Transform(), | 192 shared_quad_state->SetAll(gfx::Transform(), |
| 193 outer_size, | 193 outer_size, |
| 194 outer_rect, | 194 outer_rect, |
| 195 outer_rect, | 195 outer_rect, |
| 196 false, | 196 false, |
| 197 1.0, | 197 1.0, |
| 198 SkXfermode::kSrcOver_Mode, | 198 SkXfermode::kSrcOver_Mode, |
| 199 0); | 199 0); |
| 200 scoped_ptr<TileDrawQuad> outer_quad = TileDrawQuad::Create(); | 200 TileDrawQuad* inner_quad = |
| 201 outer_quad->SetNew(shared_quad_state, | 201 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); |
| 202 outer_rect, | |
| 203 outer_rect, | |
| 204 outer_rect, | |
| 205 resource_yellow, | |
| 206 gfx::RectF(outer_size), | |
| 207 outer_size, | |
| 208 false); | |
| 209 scoped_ptr<TileDrawQuad> inner_quad = TileDrawQuad::Create(); | |
| 210 inner_quad->SetNew(shared_quad_state, | 202 inner_quad->SetNew(shared_quad_state, |
| 211 inner_rect, | 203 inner_rect, |
| 212 inner_rect, | 204 inner_rect, |
| 213 inner_rect, | 205 inner_rect, |
| 214 resource_cyan, | 206 resource_cyan, |
| 215 gfx::RectF(inner_size), | 207 gfx::RectF(inner_size), |
| 216 inner_size, | 208 inner_size, |
| 217 false); | 209 false); |
| 218 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>()); | 210 TileDrawQuad* outer_quad = |
| 219 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>()); | 211 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); |
| 212 outer_quad->SetNew(shared_quad_state, |
| 213 outer_rect, |
| 214 outer_rect, |
| 215 outer_rect, |
| 216 resource_yellow, |
| 217 gfx::RectF(outer_size), |
| 218 outer_size, |
| 219 false); |
| 220 | 220 |
| 221 RenderPassList list; | 221 RenderPassList list; |
| 222 list.push_back(root_render_pass.PassAs<RenderPass>()); | 222 list.push_back(root_render_pass.PassAs<RenderPass>()); |
| 223 | 223 |
| 224 float device_scale_factor = 1.f; | 224 float device_scale_factor = 1.f; |
| 225 gfx::Rect device_viewport_rect(outer_size); | 225 gfx::Rect device_viewport_rect(outer_size); |
| 226 scoped_ptr<SkBitmap> output = | 226 scoped_ptr<SkBitmap> output = |
| 227 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); | 227 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); |
| 228 EXPECT_EQ(outer_rect.width(), output->info().fWidth); | 228 EXPECT_EQ(outer_rect.width(), output->info().fWidth); |
| 229 EXPECT_EQ(outer_rect.width(), output->info().fHeight); | 229 EXPECT_EQ(outer_rect.width(), output->info().fHeight); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 SharedQuadState* shared_quad_state = | 272 SharedQuadState* shared_quad_state = |
| 273 root_render_pass->CreateAndAppendSharedQuadState(); | 273 root_render_pass->CreateAndAppendSharedQuadState(); |
| 274 shared_quad_state->SetAll(gfx::Transform(), | 274 shared_quad_state->SetAll(gfx::Transform(), |
| 275 tile_size, | 275 tile_size, |
| 276 tile_rect, | 276 tile_rect, |
| 277 tile_rect, | 277 tile_rect, |
| 278 false, | 278 false, |
| 279 1.0, | 279 1.0, |
| 280 SkXfermode::kSrcOver_Mode, | 280 SkXfermode::kSrcOver_Mode, |
| 281 0); | 281 0); |
| 282 scoped_ptr<TileDrawQuad> quad = TileDrawQuad::Create(); | 282 TileDrawQuad* quad = |
| 283 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); |
| 283 quad->SetNew(shared_quad_state, | 284 quad->SetNew(shared_quad_state, |
| 284 tile_rect, | 285 tile_rect, |
| 285 tile_rect, | 286 tile_rect, |
| 286 tile_rect, | 287 tile_rect, |
| 287 resource_cyan, | 288 resource_cyan, |
| 288 gfx::RectF(tile_size), | 289 gfx::RectF(tile_size), |
| 289 tile_size, | 290 tile_size, |
| 290 false); | 291 false); |
| 291 quad->visible_rect = visible_rect; | 292 quad->visible_rect = visible_rect; |
| 292 root_render_pass->AppendQuad(quad.PassAs<DrawQuad>()); | |
| 293 | 293 |
| 294 RenderPassList list; | 294 RenderPassList list; |
| 295 list.push_back(root_render_pass.PassAs<RenderPass>()); | 295 list.push_back(root_render_pass.PassAs<RenderPass>()); |
| 296 | 296 |
| 297 float device_scale_factor = 1.f; | 297 float device_scale_factor = 1.f; |
| 298 gfx::Rect device_viewport_rect(tile_size); | 298 gfx::Rect device_viewport_rect(tile_size); |
| 299 scoped_ptr<SkBitmap> output = | 299 scoped_ptr<SkBitmap> output = |
| 300 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); | 300 DrawAndCopyOutput(&list, device_scale_factor, device_viewport_rect); |
| 301 EXPECT_EQ(tile_rect.width(), output->info().fWidth); | 301 EXPECT_EQ(tile_rect.width(), output->info().fWidth); |
| 302 EXPECT_EQ(tile_rect.width(), output->info().fHeight); | 302 EXPECT_EQ(tile_rect.width(), output->info().fHeight); |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 EXPECT_EQ( | 425 EXPECT_EQ( |
| 426 SK_ColorMAGENTA, | 426 SK_ColorMAGENTA, |
| 427 output->getColor(interior_visible_rect.x(), interior_visible_rect.y())); | 427 output->getColor(interior_visible_rect.x(), interior_visible_rect.y())); |
| 428 EXPECT_EQ(SK_ColorMAGENTA, | 428 EXPECT_EQ(SK_ColorMAGENTA, |
| 429 output->getColor(interior_visible_rect.right() - 1, | 429 output->getColor(interior_visible_rect.right() - 1, |
| 430 interior_visible_rect.bottom() - 1)); | 430 interior_visible_rect.bottom() - 1)); |
| 431 } | 431 } |
| 432 | 432 |
| 433 } // namespace | 433 } // namespace |
| 434 } // namespace cc | 434 } // namespace cc |
| OLD | NEW |