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

Side by Side Diff: cc/quads/draw_quad_unittest.cc

Issue 659683002: Include mask texture size in RenderPassDrawQuad (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_mask_draw_quad_test
Patch Set: No ToEnclosedRect Created 6 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
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/quads/render_pass_draw_quad.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/quads/draw_quad.h" 5 #include "cc/quads/draw_quad.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 c, \ 321 c, \
322 d, \ 322 d, \
323 e, \ 323 e, \
324 f, \ 324 f, \
325 g, \ 325 g, \
326 h, \ 326 h, \
327 i); \ 327 i); \
328 } \ 328 } \
329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
330 330
331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, copy_a) \ 331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
333 { \ 333 { \
334 QUAD_DATA quad_all->SetAll(shared_state, \ 334 QUAD_DATA quad_all->SetAll(shared_state, \
335 quad_rect, \ 335 quad_rect, \
336 quad_opaque_rect, \ 336 quad_opaque_rect, \
337 quad_visible_rect, \ 337 quad_visible_rect, \
338 needs_blending, \ 338 needs_blending, \
339 a, \ 339 a, \
340 b, \ 340 b, \
341 c, \ 341 c, \
342 d, \ 342 d, \
343 e, \ 343 e, \
344 f); \ 344 f, \
345 g); \
345 } \ 346 } \
346 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a); 347 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
347 348
348 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \ 349 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, h, copy_a) \
349 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 350 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
350 { \ 351 { \
351 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \ 352 QUAD_DATA quad_new->SetNew( \
352 } \ 353 shared_state, quad_rect, a, b, c, d, e, f, g, h); \
354 } \
353 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a); 355 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
354 356
355 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { 357 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) {
356 gfx::Rect visible_rect(40, 50, 30, 20); 358 gfx::Rect visible_rect(40, 50, 30, 20);
357 SkColor color = 0xfabb0011; 359 SkColor color = 0xfabb0011;
358 CREATE_SHARED_STATE(); 360 CREATE_SHARED_STATE();
359 361
360 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); 362 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color);
361 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); 363 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material);
362 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 364 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material); 412 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material);
411 EXPECT_EQ(size, copy_quad->io_surface_size); 413 EXPECT_EQ(size, copy_quad->io_surface_size);
412 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id); 414 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id);
413 EXPECT_EQ(orientation, copy_quad->orientation); 415 EXPECT_EQ(orientation, copy_quad->orientation);
414 } 416 }
415 417
416 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { 418 TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
417 gfx::Rect visible_rect(40, 50, 30, 20); 419 gfx::Rect visible_rect(40, 50, 30, 20);
418 RenderPassId render_pass_id(22, 64); 420 RenderPassId render_pass_id(22, 64);
419 ResourceProvider::ResourceId mask_resource_id = 78; 421 ResourceProvider::ResourceId mask_resource_id = 78;
420 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 422 gfx::Vector2dF mask_uv_scale(33.f, 19.f);
423 gfx::Size mask_texture_size(128, 134);
421 FilterOperations filters; 424 FilterOperations filters;
422 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 425 filters.Append(FilterOperation::CreateBlurFilter(1.f));
423 gfx::Vector2dF filters_scale; 426 gfx::Vector2dF filters_scale;
424 FilterOperations background_filters; 427 FilterOperations background_filters;
425 background_filters.Append( 428 background_filters.Append(
426 FilterOperation::CreateGrayscaleFilter(1.f)); 429 FilterOperation::CreateGrayscaleFilter(1.f));
427 430
428 RenderPassId copied_render_pass_id(235, 11); 431 RenderPassId copied_render_pass_id(235, 11);
429 CREATE_SHARED_STATE(); 432 CREATE_SHARED_STATE();
430 433
431 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, 434 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
432 visible_rect, 435 visible_rect,
433 render_pass_id, 436 render_pass_id,
434 mask_resource_id, 437 mask_resource_id,
435 mask_u_v_rect, 438 mask_uv_scale,
439 mask_texture_size,
436 filters, 440 filters,
437 filters_scale, 441 filters_scale,
438 background_filters, 442 background_filters,
439 copied_render_pass_id); 443 copied_render_pass_id);
440 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 444 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
441 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 445 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
442 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 446 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
443 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 447 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
444 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 448 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString());
449 EXPECT_EQ(mask_texture_size.ToString(),
450 copy_quad->mask_texture_size.ToString());
445 EXPECT_EQ(filters, copy_quad->filters); 451 EXPECT_EQ(filters, copy_quad->filters);
446 EXPECT_EQ(filters_scale, copy_quad->filters_scale); 452 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
447 EXPECT_EQ(background_filters, copy_quad->background_filters); 453 EXPECT_EQ(background_filters, copy_quad->background_filters);
448 454
449 CREATE_QUAD_ALL_RP(RenderPassDrawQuad, 455 CREATE_QUAD_ALL_RP(RenderPassDrawQuad,
450 render_pass_id, 456 render_pass_id,
451 mask_resource_id, 457 mask_resource_id,
452 mask_u_v_rect, 458 mask_uv_scale,
459 mask_texture_size,
453 filters, 460 filters,
454 filters_scale, 461 filters_scale,
455 background_filters, 462 background_filters,
456 copied_render_pass_id); 463 copied_render_pass_id);
457 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 464 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
458 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 465 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
459 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 466 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
460 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 467 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString());
468 EXPECT_EQ(mask_texture_size.ToString(),
469 copy_quad->mask_texture_size.ToString());
461 EXPECT_EQ(filters, copy_quad->filters); 470 EXPECT_EQ(filters, copy_quad->filters);
462 EXPECT_EQ(filters_scale, copy_quad->filters_scale); 471 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
463 EXPECT_EQ(background_filters, copy_quad->background_filters); 472 EXPECT_EQ(background_filters, copy_quad->background_filters);
464 } 473 }
465 474
466 TEST(DrawQuadTest, CopySolidColorDrawQuad) { 475 TEST(DrawQuadTest, CopySolidColorDrawQuad) {
467 gfx::Rect visible_rect(40, 50, 30, 20); 476 gfx::Rect visible_rect(40, 50, 30, 20);
468 SkColor color = 0x49494949; 477 SkColor color = 0x49494949;
469 bool force_anti_aliasing_off = false; 478 bool force_anti_aliasing_off = false;
470 CREATE_SHARED_STATE(); 479 CREATE_SHARED_STATE();
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 orientation); 758 orientation);
750 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id); 759 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id);
751 EXPECT_EQ(1, IterateAndCount(quad_new)); 760 EXPECT_EQ(1, IterateAndCount(quad_new));
752 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id); 761 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id);
753 } 762 }
754 763
755 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { 764 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
756 gfx::Rect visible_rect(40, 50, 30, 20); 765 gfx::Rect visible_rect(40, 50, 30, 20);
757 RenderPassId render_pass_id(22, 64); 766 RenderPassId render_pass_id(22, 64);
758 ResourceProvider::ResourceId mask_resource_id = 78; 767 ResourceProvider::ResourceId mask_resource_id = 78;
759 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 768 gfx::Vector2dF mask_uv_scale(33.f, 19.f);
769 gfx::Size mask_texture_size(128, 134);
760 FilterOperations filters; 770 FilterOperations filters;
761 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 771 filters.Append(FilterOperation::CreateBlurFilter(1.f));
762 gfx::Vector2dF filters_scale(2.f, 3.f); 772 gfx::Vector2dF filters_scale(2.f, 3.f);
763 FilterOperations background_filters; 773 FilterOperations background_filters;
764 background_filters.Append( 774 background_filters.Append(
765 FilterOperation::CreateGrayscaleFilter(1.f)); 775 FilterOperation::CreateGrayscaleFilter(1.f));
766 776
767 RenderPassId copied_render_pass_id(235, 11); 777 RenderPassId copied_render_pass_id(235, 11);
768 778
769 CREATE_SHARED_STATE(); 779 CREATE_SHARED_STATE();
770 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, 780 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
771 visible_rect, 781 visible_rect,
772 render_pass_id, 782 render_pass_id,
773 mask_resource_id, 783 mask_resource_id,
774 mask_u_v_rect, 784 mask_uv_scale,
785 mask_texture_size,
775 filters, 786 filters,
776 filters_scale, 787 filters_scale,
777 background_filters, 788 background_filters,
778 copied_render_pass_id); 789 copied_render_pass_id);
779 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); 790 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id);
780 EXPECT_EQ(1, IterateAndCount(quad_new)); 791 EXPECT_EQ(1, IterateAndCount(quad_new));
781 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); 792 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id);
782 quad_new->mask_resource_id = 0; 793 quad_new->mask_resource_id = 0;
783 EXPECT_EQ(0, IterateAndCount(quad_new)); 794 EXPECT_EQ(0, IterateAndCount(quad_new));
784 EXPECT_EQ(0u, quad_new->mask_resource_id); 795 EXPECT_EQ(0u, quad_new->mask_resource_id);
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1008 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 1019 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
1009 break; 1020 break;
1010 case DrawQuad::INVALID: 1021 case DrawQuad::INVALID:
1011 break; 1022 break;
1012 } 1023 }
1013 } 1024 }
1014 } 1025 }
1015 1026
1016 } // namespace 1027 } // namespace
1017 } // namespace cc 1028 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/quads/render_pass_draw_quad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698