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

Side by Side Diff: cc/output/software_renderer_unittest.cc

Issue 2502373003: stop using SkXfermode -- use SkBlendMode instead (Closed)
Patch Set: rebase Created 4 years, 1 month 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
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/playback/compositing_display_item.h » ('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/output/software_renderer.h" 5 #include "cc/output/software_renderer.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 gfx::Rect visible_rect(gfx::Point(1, 2), gfx::Size(98, 97)); 98 gfx::Rect visible_rect(gfx::Point(1, 2), gfx::Size(98, 97));
99 99
100 InitializeRenderer(base::WrapUnique(new SoftwareOutputDevice)); 100 InitializeRenderer(base::WrapUnique(new SoftwareOutputDevice));
101 101
102 RenderPassId root_render_pass_id = RenderPassId(1, 1); 102 RenderPassId root_render_pass_id = RenderPassId(1, 1);
103 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create(); 103 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create();
104 root_render_pass->SetNew( 104 root_render_pass->SetNew(
105 root_render_pass_id, outer_rect, outer_rect, gfx::Transform()); 105 root_render_pass_id, outer_rect, outer_rect, gfx::Transform());
106 SharedQuadState* shared_quad_state = 106 SharedQuadState* shared_quad_state =
107 root_render_pass->CreateAndAppendSharedQuadState(); 107 root_render_pass->CreateAndAppendSharedQuadState();
108 shared_quad_state->SetAll(gfx::Transform(), 108 shared_quad_state->SetAll(gfx::Transform(), outer_size, outer_rect,
109 outer_size, 109 outer_rect, false, 1.0, SkBlendMode::kSrcOver, 0);
110 outer_rect,
111 outer_rect,
112 false,
113 1.0,
114 SkXfermode::kSrcOver_Mode,
115 0);
116 SolidColorDrawQuad* inner_quad = 110 SolidColorDrawQuad* inner_quad =
117 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 111 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
118 inner_quad->SetNew( 112 inner_quad->SetNew(
119 shared_quad_state, inner_rect, inner_rect, SK_ColorCYAN, false); 113 shared_quad_state, inner_rect, inner_rect, SK_ColorCYAN, false);
120 inner_quad->visible_rect = visible_rect; 114 inner_quad->visible_rect = visible_rect;
121 SolidColorDrawQuad* outer_quad = 115 SolidColorDrawQuad* outer_quad =
122 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 116 root_render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
123 outer_quad->SetNew( 117 outer_quad->SetNew(
124 shared_quad_state, outer_rect, outer_rect, SK_ColorYELLOW, false); 118 shared_quad_state, outer_rect, outer_rect, SK_ColorYELLOW, false);
125 119
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), inner_size); 164 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), inner_size);
171 165
172 gfx::Rect root_rect = outer_rect; 166 gfx::Rect root_rect = outer_rect;
173 167
174 RenderPassId root_render_pass_id = RenderPassId(1, 1); 168 RenderPassId root_render_pass_id = RenderPassId(1, 1);
175 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create(); 169 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create();
176 root_render_pass->SetNew( 170 root_render_pass->SetNew(
177 root_render_pass_id, root_rect, root_rect, gfx::Transform()); 171 root_render_pass_id, root_rect, root_rect, gfx::Transform());
178 SharedQuadState* shared_quad_state = 172 SharedQuadState* shared_quad_state =
179 root_render_pass->CreateAndAppendSharedQuadState(); 173 root_render_pass->CreateAndAppendSharedQuadState();
180 shared_quad_state->SetAll(gfx::Transform(), 174 shared_quad_state->SetAll(gfx::Transform(), outer_size, outer_rect,
181 outer_size, 175 outer_rect, false, 1.0, SkBlendMode::kSrcOver, 0);
182 outer_rect,
183 outer_rect,
184 false,
185 1.0,
186 SkXfermode::kSrcOver_Mode,
187 0);
188 TileDrawQuad* inner_quad = 176 TileDrawQuad* inner_quad =
189 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); 177 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>();
190 inner_quad->SetNew(shared_quad_state, inner_rect, inner_rect, inner_rect, 178 inner_quad->SetNew(shared_quad_state, inner_rect, inner_rect, inner_rect,
191 resource_cyan, gfx::RectF(gfx::SizeF(inner_size)), 179 resource_cyan, gfx::RectF(gfx::SizeF(inner_size)),
192 inner_size, false, false); 180 inner_size, false, false);
193 TileDrawQuad* outer_quad = 181 TileDrawQuad* outer_quad =
194 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); 182 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>();
195 outer_quad->SetNew(shared_quad_state, outer_rect, outer_rect, outer_rect, 183 outer_quad->SetNew(shared_quad_state, outer_rect, outer_rect, outer_rect,
196 resource_yellow, gfx::RectF(gfx::SizeF(outer_size)), 184 resource_yellow, gfx::RectF(gfx::SizeF(outer_size)),
197 outer_size, false, false); 185 outer_size, false, false);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), tile_size); 224 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), tile_size);
237 225
238 gfx::Rect root_rect(tile_size); 226 gfx::Rect root_rect(tile_size);
239 227
240 RenderPassId root_render_pass_id = RenderPassId(1, 1); 228 RenderPassId root_render_pass_id = RenderPassId(1, 1);
241 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create(); 229 std::unique_ptr<RenderPass> root_render_pass = RenderPass::Create();
242 root_render_pass->SetNew( 230 root_render_pass->SetNew(
243 root_render_pass_id, root_rect, root_rect, gfx::Transform()); 231 root_render_pass_id, root_rect, root_rect, gfx::Transform());
244 SharedQuadState* shared_quad_state = 232 SharedQuadState* shared_quad_state =
245 root_render_pass->CreateAndAppendSharedQuadState(); 233 root_render_pass->CreateAndAppendSharedQuadState();
246 shared_quad_state->SetAll(gfx::Transform(), 234 shared_quad_state->SetAll(gfx::Transform(), tile_size, tile_rect, tile_rect,
247 tile_size, 235 false, 1.0, SkBlendMode::kSrcOver, 0);
248 tile_rect,
249 tile_rect,
250 false,
251 1.0,
252 SkXfermode::kSrcOver_Mode,
253 0);
254 TileDrawQuad* quad = 236 TileDrawQuad* quad =
255 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); 237 root_render_pass->CreateAndAppendDrawQuad<TileDrawQuad>();
256 quad->SetNew(shared_quad_state, tile_rect, tile_rect, tile_rect, 238 quad->SetNew(shared_quad_state, tile_rect, tile_rect, tile_rect,
257 resource_cyan, gfx::RectF(gfx::SizeF(tile_size)), tile_size, 239 resource_cyan, gfx::RectF(gfx::SizeF(tile_size)), tile_size,
258 false, false); 240 false, false);
259 quad->visible_rect = visible_rect; 241 quad->visible_rect = visible_rect;
260 242
261 RenderPassList list; 243 RenderPassList list;
262 list.push_back(std::move(root_render_pass)); 244 list.push_back(std::move(root_render_pass));
263 245
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 viewport_size); 425 viewport_size);
444 426
445 // The damage rect should be reported to the SoftwareOutputDevice. 427 // The damage rect should be reported to the SoftwareOutputDevice.
446 EXPECT_EQ(gfx::Rect(2, 2, 3, 3), device->damage_rect_at_start()); 428 EXPECT_EQ(gfx::Rect(2, 2, 3, 3), device->damage_rect_at_start());
447 // The SkCanvas should be clipped to the damage rect. 429 // The SkCanvas should be clipped to the damage rect.
448 EXPECT_EQ(gfx::Rect(2, 2, 3, 3), device->clip_rect_at_end()); 430 EXPECT_EQ(gfx::Rect(2, 2, 3, 3), device->clip_rect_at_end());
449 } 431 }
450 432
451 } // namespace 433 } // namespace
452 } // namespace cc 434 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/playback/compositing_display_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698