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

Side by Side Diff: content/common/cc_messages_unittest.cc

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding compositor pixel tests, clang-format Created 7 years, 2 months 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/common/cc_messages.h" 5 #include "content/common/cc_messages.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "cc/output/compositor_frame.h" 10 #include "cc/output/compositor_frame.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 EXPECT_EQ(a->has_transparent_background, b->has_transparent_background); 48 EXPECT_EQ(a->has_transparent_background, b->has_transparent_background);
49 } 49 }
50 50
51 void Compare(const SharedQuadState* a, const SharedQuadState* b) { 51 void Compare(const SharedQuadState* a, const SharedQuadState* b) {
52 EXPECT_EQ(a->content_to_target_transform, b->content_to_target_transform); 52 EXPECT_EQ(a->content_to_target_transform, b->content_to_target_transform);
53 EXPECT_EQ(a->content_bounds, b->content_bounds); 53 EXPECT_EQ(a->content_bounds, b->content_bounds);
54 EXPECT_EQ(a->visible_content_rect, b->visible_content_rect); 54 EXPECT_EQ(a->visible_content_rect, b->visible_content_rect);
55 EXPECT_EQ(a->clip_rect, b->clip_rect); 55 EXPECT_EQ(a->clip_rect, b->clip_rect);
56 EXPECT_EQ(a->is_clipped, b->is_clipped); 56 EXPECT_EQ(a->is_clipped, b->is_clipped);
57 EXPECT_EQ(a->opacity, b->opacity); 57 EXPECT_EQ(a->opacity, b->opacity);
58 EXPECT_EQ(a->blend_mode, b->blend_mode);
58 } 59 }
59 60
60 void Compare(const DrawQuad* a, const DrawQuad* b) { 61 void Compare(const DrawQuad* a, const DrawQuad* b) {
61 ASSERT_NE(DrawQuad::INVALID, a->material); 62 ASSERT_NE(DrawQuad::INVALID, a->material);
62 ASSERT_EQ(a->material, b->material); 63 ASSERT_EQ(a->material, b->material);
63 EXPECT_EQ(a->rect.ToString(), b->rect.ToString()); 64 EXPECT_EQ(a->rect.ToString(), b->rect.ToString());
64 EXPECT_EQ(a->opaque_rect.ToString(), b->opaque_rect.ToString()); 65 EXPECT_EQ(a->opaque_rect.ToString(), b->opaque_rect.ToString());
65 EXPECT_EQ(a->visible_rect.ToString(), b->visible_rect.ToString()); 66 EXPECT_EQ(a->visible_rect.ToString(), b->visible_rect.ToString());
66 EXPECT_EQ(a->needs_blending, b->needs_blending); 67 EXPECT_EQ(a->needs_blending, b->needs_blending);
67 68
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 gfx::PointF arbitrary_pointf2(26.5f, -35.8f); 228 gfx::PointF arbitrary_pointf2(26.5f, -35.8f);
228 float arbitrary_float1 = 0.7f; 229 float arbitrary_float1 = 0.7f;
229 float arbitrary_float2 = 0.3f; 230 float arbitrary_float2 = 0.3f;
230 float arbitrary_float3 = 0.9f; 231 float arbitrary_float3 = 0.9f;
231 float arbitrary_float_array[4] = {3.5f, 6.2f, 9.3f, 12.3f}; 232 float arbitrary_float_array[4] = {3.5f, 6.2f, 9.3f, 12.3f};
232 bool arbitrary_bool1 = true; 233 bool arbitrary_bool1 = true;
233 bool arbitrary_bool2 = false; 234 bool arbitrary_bool2 = false;
234 bool arbitrary_bool3 = true; 235 bool arbitrary_bool3 = true;
235 int arbitrary_int = 5; 236 int arbitrary_int = 5;
236 SkColor arbitrary_color = SkColorSetARGB(25, 36, 47, 58); 237 SkColor arbitrary_color = SkColorSetARGB(25, 36, 47, 58);
238 SkXfermode::Mode arbitrary_blend_mode1 = SkXfermode::kScreen_Mode;
239 SkXfermode::Mode arbitrary_blend_mode2 = SkXfermode::kLighten_Mode;
240 SkXfermode::Mode arbitrary_blend_mode3 = SkXfermode::kOverlay_Mode;
237 IOSurfaceDrawQuad::Orientation arbitrary_orientation = 241 IOSurfaceDrawQuad::Orientation arbitrary_orientation =
238 IOSurfaceDrawQuad::UNFLIPPED; 242 IOSurfaceDrawQuad::UNFLIPPED;
239 RenderPass::Id arbitrary_id(10, 14); 243 RenderPass::Id arbitrary_id(10, 14);
240 ResourceProvider::ResourceId arbitrary_resourceid1 = 55; 244 ResourceProvider::ResourceId arbitrary_resourceid1 = 55;
241 ResourceProvider::ResourceId arbitrary_resourceid2 = 47; 245 ResourceProvider::ResourceId arbitrary_resourceid2 = 47;
242 ResourceProvider::ResourceId arbitrary_resourceid3 = 23; 246 ResourceProvider::ResourceId arbitrary_resourceid3 = 23;
243 ResourceProvider::ResourceId arbitrary_resourceid4 = 16; 247 ResourceProvider::ResourceId arbitrary_resourceid4 = 16;
244 SkScalar arbitrary_sigma = SkFloatToScalar(2.0f); 248 SkScalar arbitrary_sigma = SkFloatToScalar(2.0f);
245 249
246 FilterOperations arbitrary_filters1; 250 FilterOperations arbitrary_filters1;
247 arbitrary_filters1.Append(FilterOperation::CreateGrayscaleFilter( 251 arbitrary_filters1.Append(FilterOperation::CreateGrayscaleFilter(
248 arbitrary_float1)); 252 arbitrary_float1));
249 skia::RefPtr<SkImageFilter> arbitrary_filter = skia::AdoptRef( 253 skia::RefPtr<SkImageFilter> arbitrary_filter = skia::AdoptRef(
250 new SkBlurImageFilter(arbitrary_sigma, arbitrary_sigma)); 254 new SkBlurImageFilter(arbitrary_sigma, arbitrary_sigma));
251 arbitrary_filters1.Append( 255 arbitrary_filters1.Append(
252 cc::FilterOperation::CreateReferenceFilter(arbitrary_filter)); 256 cc::FilterOperation::CreateReferenceFilter(arbitrary_filter));
253 257
254 FilterOperations arbitrary_filters2; 258 FilterOperations arbitrary_filters2;
255 arbitrary_filters2.Append(FilterOperation::CreateBrightnessFilter( 259 arbitrary_filters2.Append(FilterOperation::CreateBrightnessFilter(
256 arbitrary_float2)); 260 arbitrary_float2));
257 261
258 scoped_ptr<SharedQuadState> shared_state1_in = SharedQuadState::Create(); 262 scoped_ptr<SharedQuadState> shared_state1_in = SharedQuadState::Create();
259 shared_state1_in->SetAll(arbitrary_matrix, 263 shared_state1_in->SetAll(arbitrary_matrix,
260 arbitrary_size1, 264 arbitrary_size1,
261 arbitrary_rect1, 265 arbitrary_rect1,
262 arbitrary_rect2, 266 arbitrary_rect2,
263 arbitrary_bool1, 267 arbitrary_bool1,
264 arbitrary_float1); 268 arbitrary_float1,
269 arbitrary_blend_mode1);
265 scoped_ptr<SharedQuadState> shared_state1_cmp = shared_state1_in->Copy(); 270 scoped_ptr<SharedQuadState> shared_state1_cmp = shared_state1_in->Copy();
266 271
267 scoped_ptr<CheckerboardDrawQuad> checkerboard_in = 272 scoped_ptr<CheckerboardDrawQuad> checkerboard_in =
268 CheckerboardDrawQuad::Create(); 273 CheckerboardDrawQuad::Create();
269 checkerboard_in->SetAll(shared_state1_in.get(), 274 checkerboard_in->SetAll(shared_state1_in.get(),
270 arbitrary_rect1, 275 arbitrary_rect1,
271 arbitrary_rect2_inside_rect1, 276 arbitrary_rect2_inside_rect1,
272 arbitrary_rect1_inside_rect1, 277 arbitrary_rect1_inside_rect1,
273 arbitrary_bool1, 278 arbitrary_bool1,
274 arbitrary_color); 279 arbitrary_color);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 arbitrary_filters2); 321 arbitrary_filters2);
317 scoped_ptr<RenderPassDrawQuad> renderpass_cmp = renderpass_in->Copy( 322 scoped_ptr<RenderPassDrawQuad> renderpass_cmp = renderpass_in->Copy(
318 renderpass_in->shared_quad_state, renderpass_in->render_pass_id); 323 renderpass_in->shared_quad_state, renderpass_in->render_pass_id);
319 324
320 scoped_ptr<SharedQuadState> shared_state2_in = SharedQuadState::Create(); 325 scoped_ptr<SharedQuadState> shared_state2_in = SharedQuadState::Create();
321 shared_state2_in->SetAll(arbitrary_matrix, 326 shared_state2_in->SetAll(arbitrary_matrix,
322 arbitrary_size2, 327 arbitrary_size2,
323 arbitrary_rect2, 328 arbitrary_rect2,
324 arbitrary_rect3, 329 arbitrary_rect3,
325 arbitrary_bool1, 330 arbitrary_bool1,
326 arbitrary_float2); 331 arbitrary_float2,
332 arbitrary_blend_mode2);
327 scoped_ptr<SharedQuadState> shared_state2_cmp = shared_state2_in->Copy(); 333 scoped_ptr<SharedQuadState> shared_state2_cmp = shared_state2_in->Copy();
328 334
329 scoped_ptr<SharedQuadState> shared_state3_in = SharedQuadState::Create(); 335 scoped_ptr<SharedQuadState> shared_state3_in = SharedQuadState::Create();
330 shared_state3_in->SetAll(arbitrary_matrix, 336 shared_state3_in->SetAll(arbitrary_matrix,
331 arbitrary_size3, 337 arbitrary_size3,
332 arbitrary_rect3, 338 arbitrary_rect3,
333 arbitrary_rect1, 339 arbitrary_rect1,
334 arbitrary_bool1, 340 arbitrary_bool1,
335 arbitrary_float3); 341 arbitrary_float3,
342 arbitrary_blend_mode3);
336 scoped_ptr<SharedQuadState> shared_state3_cmp = shared_state3_in->Copy(); 343 scoped_ptr<SharedQuadState> shared_state3_cmp = shared_state3_in->Copy();
337 344
338 scoped_ptr<SolidColorDrawQuad> solidcolor_in = 345 scoped_ptr<SolidColorDrawQuad> solidcolor_in =
339 SolidColorDrawQuad::Create(); 346 SolidColorDrawQuad::Create();
340 solidcolor_in->SetAll(shared_state1_in.get(), 347 solidcolor_in->SetAll(shared_state1_in.get(),
341 arbitrary_rect3, 348 arbitrary_rect3,
342 arbitrary_rect1_inside_rect3, 349 arbitrary_rect1_inside_rect3,
343 arbitrary_rect2_inside_rect3, 350 arbitrary_rect2_inside_rect3,
344 arbitrary_bool1, 351 arbitrary_bool1,
345 arbitrary_color, 352 arbitrary_color,
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, 557 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg,
551 &iter, &frame_out)); 558 &iter, &frame_out));
552 559
553 ASSERT_EQ(2u, frame_out.resource_list.size()); 560 ASSERT_EQ(2u, frame_out.resource_list.size());
554 Compare(arbitrary_resource1, frame_out.resource_list[0]); 561 Compare(arbitrary_resource1, frame_out.resource_list[0]);
555 Compare(arbitrary_resource2, frame_out.resource_list[1]); 562 Compare(arbitrary_resource2, frame_out.resource_list[1]);
556 } 563 }
557 564
558 } // namespace 565 } // namespace
559 } // namespace content 566 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698