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

Side by Side Diff: cc/test/render_pass_test_utils.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/test/render_pass_test_utils.h ('k') | cc/test/surface_aggregator_test_helpers.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/test/render_pass_test_utils.h" 5 #include "cc/test/render_pass_test_utils.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 "cc/quads/debug_border_draw_quad.h" 10 #include "cc/quads/debug_border_draw_quad.h"
(...skipping 19 matching lines...) Expand all
30 pass->SetNew(id, output_rect, output_rect, root_transform); 30 pass->SetNew(id, output_rect, output_rect, root_transform);
31 RenderPass* saved = pass.get(); 31 RenderPass* saved = pass.get();
32 pass_list->push_back(std::move(pass)); 32 pass_list->push_back(std::move(pass));
33 return saved; 33 return saved;
34 } 34 }
35 35
36 SolidColorDrawQuad* AddQuad(RenderPass* pass, 36 SolidColorDrawQuad* AddQuad(RenderPass* pass,
37 const gfx::Rect& rect, 37 const gfx::Rect& rect,
38 SkColor color) { 38 SkColor color) {
39 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); 39 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
40 shared_state->SetAll(gfx::Transform(), 40 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1,
41 rect.size(), 41 SkBlendMode::kSrcOver, 0);
42 rect,
43 rect,
44 false,
45 1,
46 SkXfermode::kSrcOver_Mode,
47 0);
48 SolidColorDrawQuad* quad = 42 SolidColorDrawQuad* quad =
49 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 43 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
50 quad->SetNew(shared_state, rect, rect, color, false); 44 quad->SetNew(shared_state, rect, rect, color, false);
51 return quad; 45 return quad;
52 } 46 }
53 47
54 SolidColorDrawQuad* AddClippedQuad(RenderPass* pass, 48 SolidColorDrawQuad* AddClippedQuad(RenderPass* pass,
55 const gfx::Rect& rect, 49 const gfx::Rect& rect,
56 SkColor color) { 50 SkColor color) {
57 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); 51 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
58 shared_state->SetAll(gfx::Transform(), 52 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, true, 1,
59 rect.size(), 53 SkBlendMode::kSrcOver, 0);
60 rect,
61 rect,
62 true,
63 1,
64 SkXfermode::kSrcOver_Mode,
65 0);
66 SolidColorDrawQuad* quad = 54 SolidColorDrawQuad* quad =
67 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 55 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
68 quad->SetNew(shared_state, rect, rect, color, false); 56 quad->SetNew(shared_state, rect, rect, color, false);
69 return quad; 57 return quad;
70 } 58 }
71 59
72 SolidColorDrawQuad* AddTransformedQuad(RenderPass* pass, 60 SolidColorDrawQuad* AddTransformedQuad(RenderPass* pass,
73 const gfx::Rect& rect, 61 const gfx::Rect& rect,
74 SkColor color, 62 SkColor color,
75 const gfx::Transform& transform) { 63 const gfx::Transform& transform) {
76 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); 64 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
77 shared_state->SetAll(transform, 65 shared_state->SetAll(transform, rect.size(), rect, rect, false, 1,
78 rect.size(), 66 SkBlendMode::kSrcOver, 0);
79 rect,
80 rect,
81 false,
82 1,
83 SkXfermode::kSrcOver_Mode,
84 0);
85 SolidColorDrawQuad* quad = 67 SolidColorDrawQuad* quad =
86 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 68 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
87 quad->SetNew(shared_state, rect, rect, color, false); 69 quad->SetNew(shared_state, rect, rect, color, false);
88 return quad; 70 return quad;
89 } 71 }
90 72
91 void AddRenderPassQuad(RenderPass* to_pass, RenderPass* contributing_pass) { 73 void AddRenderPassQuad(RenderPass* to_pass, RenderPass* contributing_pass) {
92 gfx::Rect output_rect = contributing_pass->output_rect; 74 gfx::Rect output_rect = contributing_pass->output_rect;
93 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); 75 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState();
94 shared_state->SetAll(gfx::Transform(), 76 shared_state->SetAll(gfx::Transform(), output_rect.size(), output_rect,
95 output_rect.size(), 77 output_rect, false, 1, SkBlendMode::kSrcOver, 0);
96 output_rect,
97 output_rect,
98 false,
99 1,
100 SkXfermode::kSrcOver_Mode,
101 0);
102 RenderPassDrawQuad* quad = 78 RenderPassDrawQuad* quad =
103 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 79 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
104 quad->SetNew(shared_state, output_rect, output_rect, contributing_pass->id, 0, 80 quad->SetNew(shared_state, output_rect, output_rect, contributing_pass->id, 0,
105 gfx::Vector2dF(), gfx::Size(), FilterOperations(), 81 gfx::Vector2dF(), gfx::Size(), FilterOperations(),
106 gfx::Vector2dF(), gfx::PointF(), FilterOperations()); 82 gfx::Vector2dF(), gfx::PointF(), FilterOperations());
107 } 83 }
108 84
109 void AddRenderPassQuad(RenderPass* to_pass, 85 void AddRenderPassQuad(RenderPass* to_pass,
110 RenderPass* contributing_pass, 86 RenderPass* contributing_pass,
111 ResourceId mask_resource_id, 87 ResourceId mask_resource_id,
112 const FilterOperations& filters, 88 const FilterOperations& filters,
113 gfx::Transform transform, 89 gfx::Transform transform,
114 SkXfermode::Mode blend_mode) { 90 SkBlendMode blend_mode) {
115 gfx::Rect output_rect = contributing_pass->output_rect; 91 gfx::Rect output_rect = contributing_pass->output_rect;
116 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); 92 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState();
117 shared_state->SetAll(transform, 93 shared_state->SetAll(transform,
118 output_rect.size(), 94 output_rect.size(),
119 output_rect, 95 output_rect,
120 output_rect, 96 output_rect,
121 false, 97 false,
122 1, 98 1,
123 blend_mode, 99 blend_mode,
124 0); 100 0);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1); 160 memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
185 std::unique_ptr<SingleReleaseCallbackImpl> callback = 161 std::unique_ptr<SingleReleaseCallbackImpl> callback =
186 SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback)); 162 SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback));
187 TextureMailbox mailbox(gpu_mailbox, kSyncTokenForMailboxTextureQuad, target); 163 TextureMailbox mailbox(gpu_mailbox, kSyncTokenForMailboxTextureQuad, target);
188 ResourceId resource8 = resource_provider->CreateResourceFromTextureMailbox( 164 ResourceId resource8 = resource_provider->CreateResourceFromTextureMailbox(
189 mailbox, std::move(callback)); 165 mailbox, std::move(callback));
190 resource_provider->AllocateForTesting(resource8); 166 resource_provider->AllocateForTesting(resource8);
191 167
192 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); 168 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState();
193 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, 169 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1,
194 SkXfermode::kSrcOver_Mode, 0); 170 SkBlendMode::kSrcOver, 0);
195 171
196 DebugBorderDrawQuad* debug_border_quad = 172 DebugBorderDrawQuad* debug_border_quad =
197 to_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); 173 to_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>();
198 debug_border_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1); 174 debug_border_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1);
199 175
200 if (child_pass.layer_id) { 176 if (child_pass.layer_id) {
201 RenderPassDrawQuad* render_pass_quad = 177 RenderPassDrawQuad* render_pass_quad =
202 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 178 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
203 render_pass_quad->SetNew( 179 render_pass_quad->SetNew(
204 shared_state, rect, visible_rect, child_pass, resource5, 180 shared_state, rect, visible_rect, child_pass, resource5,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 transformed_state->quad_to_target_transform = 220 transformed_state->quad_to_target_transform =
245 transformed_state->quad_to_target_transform * rotation; 221 transformed_state->quad_to_target_transform * rotation;
246 TileDrawQuad* transformed_tile_quad = 222 TileDrawQuad* transformed_tile_quad =
247 to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); 223 to_pass->CreateAndAppendDrawQuad<TileDrawQuad>();
248 transformed_tile_quad->SetNew( 224 transformed_tile_quad->SetNew(
249 transformed_state, rect, opaque_rect, visible_rect, resource3, 225 transformed_state, rect, opaque_rect, visible_rect, resource3,
250 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, false); 226 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, false);
251 227
252 SharedQuadState* shared_state2 = to_pass->CreateAndAppendSharedQuadState(); 228 SharedQuadState* shared_state2 = to_pass->CreateAndAppendSharedQuadState();
253 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, 229 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1,
254 SkXfermode::kSrcOver_Mode, 0); 230 SkBlendMode::kSrcOver, 0);
255 231
256 TileDrawQuad* tile_quad = to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); 232 TileDrawQuad* tile_quad = to_pass->CreateAndAppendDrawQuad<TileDrawQuad>();
257 tile_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, resource4, 233 tile_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, resource4,
258 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, 234 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false,
259 false); 235 false);
260 236
261 ResourceId plane_resources[4]; 237 ResourceId plane_resources[4];
262 for (int i = 0; i < 4; ++i) { 238 for (int i = 0; i < 4; ++i) {
263 plane_resources[i] = resource_provider->CreateResource( 239 plane_resources[i] = resource_provider->CreateResource(
264 gfx::Size(20, 12), ResourceProvider::TEXTURE_HINT_IMMUTABLE, 240 gfx::Size(20, 12), ResourceProvider::TEXTURE_HINT_IMMUTABLE,
265 resource_provider->best_texture_format(), gfx::ColorSpace()); 241 resource_provider->best_texture_format(), gfx::ColorSpace());
266 resource_provider->AllocateForTesting(plane_resources[i]); 242 resource_provider->AllocateForTesting(plane_resources[i]);
267 } 243 }
268 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::REC_601; 244 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::REC_601;
269 245
270 YUVVideoDrawQuad* yuv_quad = 246 YUVVideoDrawQuad* yuv_quad =
271 to_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>(); 247 to_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>();
272 yuv_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, 248 yuv_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect,
273 gfx::RectF(.0f, .0f, 100.0f, 100.0f), 249 gfx::RectF(.0f, .0f, 100.0f, 100.0f),
274 gfx::RectF(.0f, .0f, 50.0f, 50.0f), gfx::Size(100, 100), 250 gfx::RectF(.0f, .0f, 50.0f, 50.0f), gfx::Size(100, 100),
275 gfx::Size(50, 50), plane_resources[0], plane_resources[1], 251 gfx::Size(50, 50), plane_resources[0], plane_resources[1],
276 plane_resources[2], plane_resources[3], color_space, 252 plane_resources[2], plane_resources[3], color_space,
277 gfx::ColorSpace::CreateJpeg(), 0.0, 1.0, 8); 253 gfx::ColorSpace::CreateJpeg(), 0.0, 1.0, 8);
278 } 254 }
279 255
280 } // namespace cc 256 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/render_pass_test_utils.h ('k') | cc/test/surface_aggregator_test_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698