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/ipc/cc_param_traits_unittest.cc

Issue 1990773002: cc: Remove IOSurfaceDrawQuad (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 7 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
« no previous file with comments | « cc/ipc/cc_param_traits_macros.h ('k') | cc/layers/video_layer_impl.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 (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 <stddef.h> 5 #include <stddef.h>
6 #include <string.h> 6 #include <string.h>
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "cc/ipc/cc_param_traits.h" 12 #include "cc/ipc/cc_param_traits.h"
13 #include "cc/output/compositor_frame.h" 13 #include "cc/output/compositor_frame.h"
14 #include "cc/quads/picture_draw_quad.h" 14 #include "cc/quads/picture_draw_quad.h"
15 #include "cc/quads/render_pass_draw_quad.h" 15 #include "cc/quads/render_pass_draw_quad.h"
16 #include "ipc/ipc_message.h" 16 #include "ipc/ipc_message.h"
17 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
18 #include "third_party/skia/include/effects/SkBlurImageFilter.h" 18 #include "third_party/skia/include/effects/SkBlurImageFilter.h"
19 19
20 #if defined(OS_POSIX) 20 #if defined(OS_POSIX)
21 #include "base/file_descriptor_posix.h" 21 #include "base/file_descriptor_posix.h"
22 #endif 22 #endif
23 23
24 using cc::DelegatedFrameData; 24 using cc::DelegatedFrameData;
25 using cc::DebugBorderDrawQuad; 25 using cc::DebugBorderDrawQuad;
26 using cc::DrawQuad; 26 using cc::DrawQuad;
27 using cc::FilterOperation; 27 using cc::FilterOperation;
28 using cc::FilterOperations; 28 using cc::FilterOperations;
29 using cc::IOSurfaceDrawQuad;
30 using cc::PictureDrawQuad; 29 using cc::PictureDrawQuad;
31 using cc::RenderPass; 30 using cc::RenderPass;
32 using cc::RenderPassId; 31 using cc::RenderPassId;
33 using cc::RenderPassDrawQuad; 32 using cc::RenderPassDrawQuad;
34 using cc::ResourceId; 33 using cc::ResourceId;
35 using cc::ResourceProvider; 34 using cc::ResourceProvider;
36 using cc::SharedQuadState; 35 using cc::SharedQuadState;
37 using cc::SolidColorDrawQuad; 36 using cc::SolidColorDrawQuad;
38 using cc::SurfaceDrawQuad; 37 using cc::SurfaceDrawQuad;
39 using cc::TextureDrawQuad; 38 using cc::TextureDrawQuad;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 EXPECT_EQ(a->visible_rect.ToString(), b->visible_rect.ToString()); 74 EXPECT_EQ(a->visible_rect.ToString(), b->visible_rect.ToString());
76 EXPECT_EQ(a->needs_blending, b->needs_blending); 75 EXPECT_EQ(a->needs_blending, b->needs_blending);
77 76
78 Compare(a->shared_quad_state, b->shared_quad_state); 77 Compare(a->shared_quad_state, b->shared_quad_state);
79 78
80 switch (a->material) { 79 switch (a->material) {
81 case DrawQuad::DEBUG_BORDER: 80 case DrawQuad::DEBUG_BORDER:
82 Compare(DebugBorderDrawQuad::MaterialCast(a), 81 Compare(DebugBorderDrawQuad::MaterialCast(a),
83 DebugBorderDrawQuad::MaterialCast(b)); 82 DebugBorderDrawQuad::MaterialCast(b));
84 break; 83 break;
85 case DrawQuad::IO_SURFACE_CONTENT:
86 Compare(IOSurfaceDrawQuad::MaterialCast(a),
87 IOSurfaceDrawQuad::MaterialCast(b));
88 break;
89 case DrawQuad::PICTURE_CONTENT: 84 case DrawQuad::PICTURE_CONTENT:
90 Compare(PictureDrawQuad::MaterialCast(a), 85 Compare(PictureDrawQuad::MaterialCast(a),
91 PictureDrawQuad::MaterialCast(b)); 86 PictureDrawQuad::MaterialCast(b));
92 break; 87 break;
93 case DrawQuad::RENDER_PASS: 88 case DrawQuad::RENDER_PASS:
94 Compare(RenderPassDrawQuad::MaterialCast(a), 89 Compare(RenderPassDrawQuad::MaterialCast(a),
95 RenderPassDrawQuad::MaterialCast(b)); 90 RenderPassDrawQuad::MaterialCast(b));
96 break; 91 break;
97 case DrawQuad::TEXTURE_CONTENT: 92 case DrawQuad::TEXTURE_CONTENT:
98 Compare(TextureDrawQuad::MaterialCast(a), 93 Compare(TextureDrawQuad::MaterialCast(a),
(...skipping 21 matching lines...) Expand all
120 case DrawQuad::INVALID: 115 case DrawQuad::INVALID:
121 break; 116 break;
122 } 117 }
123 } 118 }
124 119
125 void Compare(const DebugBorderDrawQuad* a, const DebugBorderDrawQuad* b) { 120 void Compare(const DebugBorderDrawQuad* a, const DebugBorderDrawQuad* b) {
126 EXPECT_EQ(a->color, b->color); 121 EXPECT_EQ(a->color, b->color);
127 EXPECT_EQ(a->width, b->width); 122 EXPECT_EQ(a->width, b->width);
128 } 123 }
129 124
130 void Compare(const IOSurfaceDrawQuad* a, const IOSurfaceDrawQuad* b) {
131 EXPECT_EQ(a->io_surface_size.ToString(), b->io_surface_size.ToString());
132 EXPECT_EQ(a->io_surface_resource_id(), b->io_surface_resource_id());
133 EXPECT_EQ(a->orientation, b->orientation);
134 }
135
136 void Compare(const RenderPassDrawQuad* a, const RenderPassDrawQuad* b) { 125 void Compare(const RenderPassDrawQuad* a, const RenderPassDrawQuad* b) {
137 EXPECT_EQ(a->render_pass_id, b->render_pass_id); 126 EXPECT_EQ(a->render_pass_id, b->render_pass_id);
138 EXPECT_EQ(a->mask_resource_id(), b->mask_resource_id()); 127 EXPECT_EQ(a->mask_resource_id(), b->mask_resource_id());
139 EXPECT_EQ(a->mask_uv_scale.ToString(), b->mask_uv_scale.ToString()); 128 EXPECT_EQ(a->mask_uv_scale.ToString(), b->mask_uv_scale.ToString());
140 EXPECT_EQ(a->mask_texture_size.ToString(), b->mask_texture_size.ToString()); 129 EXPECT_EQ(a->mask_texture_size.ToString(), b->mask_texture_size.ToString());
141 EXPECT_EQ(a->filters.size(), b->filters.size()); 130 EXPECT_EQ(a->filters.size(), b->filters.size());
142 for (size_t i = 0; i < a->filters.size(); ++i) { 131 for (size_t i = 0; i < a->filters.size(); ++i) {
143 if (a->filters.at(i).type() != cc::FilterOperation::REFERENCE) { 132 if (a->filters.at(i).type() != cc::FilterOperation::REFERENCE) {
144 EXPECT_EQ(a->filters.at(i), b->filters.at(i)); 133 EXPECT_EQ(a->filters.at(i), b->filters.at(i));
145 } else { 134 } else {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 bool arbitrary_bool4 = true; 246 bool arbitrary_bool4 = true;
258 bool arbitrary_bool5 = false; 247 bool arbitrary_bool5 = false;
259 int arbitrary_context_id1 = 12; 248 int arbitrary_context_id1 = 12;
260 int arbitrary_context_id2 = 57; 249 int arbitrary_context_id2 = 57;
261 int arbitrary_context_id3 = -503; 250 int arbitrary_context_id3 = -503;
262 int arbitrary_int = 5; 251 int arbitrary_int = 5;
263 SkColor arbitrary_color = SkColorSetARGB(25, 36, 47, 58); 252 SkColor arbitrary_color = SkColorSetARGB(25, 36, 47, 58);
264 SkXfermode::Mode arbitrary_blend_mode1 = SkXfermode::kScreen_Mode; 253 SkXfermode::Mode arbitrary_blend_mode1 = SkXfermode::kScreen_Mode;
265 SkXfermode::Mode arbitrary_blend_mode2 = SkXfermode::kLighten_Mode; 254 SkXfermode::Mode arbitrary_blend_mode2 = SkXfermode::kLighten_Mode;
266 SkXfermode::Mode arbitrary_blend_mode3 = SkXfermode::kOverlay_Mode; 255 SkXfermode::Mode arbitrary_blend_mode3 = SkXfermode::kOverlay_Mode;
267 IOSurfaceDrawQuad::Orientation arbitrary_orientation =
268 IOSurfaceDrawQuad::UNFLIPPED;
269 ResourceId arbitrary_resourceid1 = 55; 256 ResourceId arbitrary_resourceid1 = 55;
270 ResourceId arbitrary_resourceid2 = 47; 257 ResourceId arbitrary_resourceid2 = 47;
271 ResourceId arbitrary_resourceid3 = 23; 258 ResourceId arbitrary_resourceid3 = 23;
272 ResourceId arbitrary_resourceid4 = 16; 259 ResourceId arbitrary_resourceid4 = 16;
273 SkScalar arbitrary_sigma = SkFloatToScalar(2.0f); 260 SkScalar arbitrary_sigma = SkFloatToScalar(2.0f);
274 YUVVideoDrawQuad::ColorSpace arbitrary_color_space = 261 YUVVideoDrawQuad::ColorSpace arbitrary_color_space =
275 YUVVideoDrawQuad::REC_601; 262 YUVVideoDrawQuad::REC_601;
276 263
277 RenderPassId child_id(30, 5); 264 RenderPassId child_id(30, 5);
278 RenderPassId root_id(10, 14); 265 RenderPassId root_id(10, 14);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 301
315 DebugBorderDrawQuad* debugborder_in = 302 DebugBorderDrawQuad* debugborder_in =
316 pass_in->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); 303 pass_in->CreateAndAppendDrawQuad<DebugBorderDrawQuad>();
317 debugborder_in->SetAll(shared_state1_in, arbitrary_rect3, 304 debugborder_in->SetAll(shared_state1_in, arbitrary_rect3,
318 arbitrary_rect1_inside_rect3, 305 arbitrary_rect1_inside_rect3,
319 arbitrary_rect2_inside_rect3, arbitrary_bool1, 306 arbitrary_rect2_inside_rect3, arbitrary_bool1,
320 arbitrary_color, arbitrary_int); 307 arbitrary_color, arbitrary_int);
321 pass_cmp->CopyFromAndAppendDrawQuad(debugborder_in, 308 pass_cmp->CopyFromAndAppendDrawQuad(debugborder_in,
322 debugborder_in->shared_quad_state); 309 debugborder_in->shared_quad_state);
323 310
324 IOSurfaceDrawQuad* iosurface_in =
325 pass_in->CreateAndAppendDrawQuad<IOSurfaceDrawQuad>();
326 iosurface_in->SetAll(
327 shared_state1_in, arbitrary_rect2, arbitrary_rect2_inside_rect2,
328 arbitrary_rect1_inside_rect2, arbitrary_bool1, arbitrary_size1,
329 arbitrary_resourceid3, arbitrary_orientation);
330 pass_cmp->CopyFromAndAppendDrawQuad(iosurface_in,
331 iosurface_in->shared_quad_state);
332
333 SharedQuadState* shared_state2_in = pass_in->CreateAndAppendSharedQuadState(); 311 SharedQuadState* shared_state2_in = pass_in->CreateAndAppendSharedQuadState();
334 shared_state2_in->SetAll(arbitrary_matrix2, arbitrary_size2, arbitrary_rect2, 312 shared_state2_in->SetAll(arbitrary_matrix2, arbitrary_size2, arbitrary_rect2,
335 arbitrary_rect3, arbitrary_bool1, arbitrary_float2, 313 arbitrary_rect3, arbitrary_bool1, arbitrary_float2,
336 arbitrary_blend_mode2, arbitrary_context_id2); 314 arbitrary_blend_mode2, arbitrary_context_id2);
337 SharedQuadState* shared_state2_cmp = 315 SharedQuadState* shared_state2_cmp =
338 pass_cmp->CreateAndAppendSharedQuadState(); 316 pass_cmp->CreateAndAppendSharedQuadState();
339 shared_state2_cmp->CopyFrom(shared_state2_in); 317 shared_state2_cmp->CopyFrom(shared_state2_in);
340 318
341 RenderPassDrawQuad* renderpass_in = 319 RenderPassDrawQuad* renderpass_in =
342 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 320 pass_in->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 arbitrary_color_space, arbitrary_float1, arbitrary_float2); 389 arbitrary_color_space, arbitrary_float1, arbitrary_float2);
412 pass_cmp->CopyFromAndAppendDrawQuad(yuvvideo_in, 390 pass_cmp->CopyFromAndAppendDrawQuad(yuvvideo_in,
413 yuvvideo_in->shared_quad_state); 391 yuvvideo_in->shared_quad_state);
414 392
415 // Make sure the in and cmp RenderPasses match. 393 // Make sure the in and cmp RenderPasses match.
416 Compare(child_pass_cmp.get(), child_pass_in.get()); 394 Compare(child_pass_cmp.get(), child_pass_in.get());
417 ASSERT_EQ(0u, child_pass_in->shared_quad_state_list.size()); 395 ASSERT_EQ(0u, child_pass_in->shared_quad_state_list.size());
418 ASSERT_EQ(0u, child_pass_in->quad_list.size()); 396 ASSERT_EQ(0u, child_pass_in->quad_list.size());
419 Compare(pass_cmp.get(), pass_in.get()); 397 Compare(pass_cmp.get(), pass_in.get());
420 ASSERT_EQ(3u, pass_in->shared_quad_state_list.size()); 398 ASSERT_EQ(3u, pass_in->shared_quad_state_list.size());
421 ASSERT_EQ(9u, pass_in->quad_list.size()); 399 ASSERT_EQ(8u, pass_in->quad_list.size());
422 for (cc::SharedQuadStateList::ConstIterator 400 for (cc::SharedQuadStateList::ConstIterator
423 cmp_iterator = pass_cmp->shared_quad_state_list.begin(), 401 cmp_iterator = pass_cmp->shared_quad_state_list.begin(),
424 in_iterator = pass_in->shared_quad_state_list.begin(); 402 in_iterator = pass_in->shared_quad_state_list.begin();
425 in_iterator != pass_in->shared_quad_state_list.end(); 403 in_iterator != pass_in->shared_quad_state_list.end();
426 ++cmp_iterator, ++in_iterator) { 404 ++cmp_iterator, ++in_iterator) {
427 Compare(*cmp_iterator, *in_iterator); 405 Compare(*cmp_iterator, *in_iterator);
428 } 406 }
429 for (auto in_iter = pass_in->quad_list.cbegin(), 407 for (auto in_iter = pass_in->quad_list.cbegin(),
430 cmp_iter = pass_cmp->quad_list.cbegin(); 408 cmp_iter = pass_cmp->quad_list.cbegin();
431 in_iter != pass_in->quad_list.cend(); ++in_iter, ++cmp_iter) 409 in_iter != pass_in->quad_list.cend(); ++in_iter, ++cmp_iter)
(...skipping 23 matching lines...) Expand all
455 // Make sure the out and cmp RenderPasses match. 433 // Make sure the out and cmp RenderPasses match.
456 std::unique_ptr<RenderPass> child_pass_out = 434 std::unique_ptr<RenderPass> child_pass_out =
457 std::move(frame_out.render_pass_list[0]); 435 std::move(frame_out.render_pass_list[0]);
458 Compare(child_pass_cmp.get(), child_pass_out.get()); 436 Compare(child_pass_cmp.get(), child_pass_out.get());
459 ASSERT_EQ(0u, child_pass_out->shared_quad_state_list.size()); 437 ASSERT_EQ(0u, child_pass_out->shared_quad_state_list.size());
460 ASSERT_EQ(0u, child_pass_out->quad_list.size()); 438 ASSERT_EQ(0u, child_pass_out->quad_list.size());
461 std::unique_ptr<RenderPass> pass_out = 439 std::unique_ptr<RenderPass> pass_out =
462 std::move(frame_out.render_pass_list[1]); 440 std::move(frame_out.render_pass_list[1]);
463 Compare(pass_cmp.get(), pass_out.get()); 441 Compare(pass_cmp.get(), pass_out.get());
464 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size()); 442 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size());
465 ASSERT_EQ(9u, pass_out->quad_list.size()); 443 ASSERT_EQ(8u, pass_out->quad_list.size());
466 for (cc::SharedQuadStateList::ConstIterator 444 for (cc::SharedQuadStateList::ConstIterator
467 cmp_iterator = pass_cmp->shared_quad_state_list.begin(), 445 cmp_iterator = pass_cmp->shared_quad_state_list.begin(),
468 out_iterator = pass_out->shared_quad_state_list.begin(); 446 out_iterator = pass_out->shared_quad_state_list.begin();
469 out_iterator != pass_out->shared_quad_state_list.end(); 447 out_iterator != pass_out->shared_quad_state_list.end();
470 ++cmp_iterator, ++out_iterator) { 448 ++cmp_iterator, ++out_iterator) {
471 Compare(*cmp_iterator, *out_iterator); 449 Compare(*cmp_iterator, *out_iterator);
472 } 450 }
473 for (auto out_iter = pass_out->quad_list.cbegin(), 451 for (auto out_iter = pass_out->quad_list.cbegin(),
474 cmp_iter = pass_cmp->quad_list.cbegin(); 452 cmp_iter = pass_cmp->quad_list.cbegin();
475 out_iter != pass_out->quad_list.cend(); ++out_iter, ++cmp_iter) 453 out_iter != pass_out->quad_list.cend(); ++out_iter, ++cmp_iter)
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 EXPECT_TRUE( 597 EXPECT_TRUE(
620 IPC::ParamTraits<DelegatedFrameData>::Read(&msg, &iter, &frame_out)); 598 IPC::ParamTraits<DelegatedFrameData>::Read(&msg, &iter, &frame_out));
621 599
622 ASSERT_EQ(2u, frame_out.resource_list.size()); 600 ASSERT_EQ(2u, frame_out.resource_list.size());
623 Compare(arbitrary_resource1, frame_out.resource_list[0]); 601 Compare(arbitrary_resource1, frame_out.resource_list[0]);
624 Compare(arbitrary_resource2, frame_out.resource_list[1]); 602 Compare(arbitrary_resource2, frame_out.resource_list[1]);
625 } 603 }
626 604
627 } // namespace 605 } // namespace
628 } // namespace content 606 } // namespace content
OLDNEW
« no previous file with comments | « cc/ipc/cc_param_traits_macros.h ('k') | cc/layers/video_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698