Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
| 6 #include "cc/input/selection.h" | 6 #include "cc/input/selection.h" |
| 7 #include "cc/ipc/traits_test_service.mojom.h" | 7 #include "cc/ipc/traits_test_service.mojom.h" |
| 8 #include "cc/quads/debug_border_draw_quad.h" | 8 #include "cc/quads/debug_border_draw_quad.h" |
| 9 #include "cc/quads/render_pass.h" | 9 #include "cc/quads/render_pass.h" |
| 10 #include "cc/quads/render_pass_draw_quad.h" | 10 #include "cc/quads/render_pass_draw_quad.h" |
| 11 #include "cc/quads/render_pass_id.h" | 11 #include "cc/quads/render_pass_id.h" |
| 12 #include "cc/quads/solid_color_draw_quad.h" | 12 #include "cc/quads/solid_color_draw_quad.h" |
| 13 #include "cc/quads/surface_draw_quad.h" | 13 #include "cc/quads/surface_draw_quad.h" |
| 14 #include "cc/quads/texture_draw_quad.h" | |
| 14 #include "cc/quads/yuv_video_draw_quad.h" | 15 #include "cc/quads/yuv_video_draw_quad.h" |
| 15 #include "mojo/public/cpp/bindings/binding_set.h" | 16 #include "mojo/public/cpp/bindings/binding_set.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "third_party/skia/include/core/SkString.h" | 18 #include "third_party/skia/include/core/SkString.h" |
| 18 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h" | 19 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h" |
| 19 | 20 |
| 20 namespace cc { | 21 namespace cc { |
| 21 | 22 |
| 22 namespace { | 23 namespace { |
| 23 | 24 |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 53 const FilterOperations& f, | 54 const FilterOperations& f, |
| 54 const EchoFilterOperationsCallback& callback) override { | 55 const EchoFilterOperationsCallback& callback) override { |
| 55 callback.Run(f); | 56 callback.Run(f); |
| 56 } | 57 } |
| 57 | 58 |
| 58 void EchoQuadList(const QuadList& q, | 59 void EchoQuadList(const QuadList& q, |
| 59 const EchoQuadListCallback& callback) override { | 60 const EchoQuadListCallback& callback) override { |
| 60 callback.Run(q); | 61 callback.Run(q); |
| 61 } | 62 } |
| 62 | 63 |
| 64 void EchoRenderPass(const std::unique_ptr<RenderPass>& r, | |
| 65 const EchoRenderPassCallback& callback) override { | |
| 66 callback.Run(r); | |
| 67 } | |
| 68 | |
| 63 void EchoRenderPassId(const RenderPassId& r, | 69 void EchoRenderPassId(const RenderPassId& r, |
| 64 const EchoRenderPassIdCallback& callback) override { | 70 const EchoRenderPassIdCallback& callback) override { |
| 65 callback.Run(r); | 71 callback.Run(r); |
| 66 } | 72 } |
| 67 | 73 |
| 68 void EchoReturnedResource( | 74 void EchoReturnedResource( |
| 69 const ReturnedResource& r, | 75 const ReturnedResource& r, |
| 70 const EchoReturnedResourceCallback& callback) override { | 76 const EchoReturnedResourceCallback& callback) override { |
| 71 callback.Run(r); | 77 callback.Run(r); |
| 72 } | 78 } |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 272 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); | 278 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); |
| 273 FilterOperations output; | 279 FilterOperations output; |
| 274 proxy->EchoFilterOperations(input, &output); | 280 proxy->EchoFilterOperations(input, &output); |
| 275 EXPECT_EQ(input.size(), output.size()); | 281 EXPECT_EQ(input.size(), output.size()); |
| 276 for (size_t i = 0; i < input.size(); ++i) { | 282 for (size_t i = 0; i < input.size(); ++i) { |
| 277 EXPECT_EQ(input.at(i), output.at(i)); | 283 EXPECT_EQ(input.at(i), output.at(i)); |
| 278 } | 284 } |
| 279 } | 285 } |
| 280 | 286 |
| 281 TEST_F(StructTraitsTest, QuadListBasic) { | 287 TEST_F(StructTraitsTest, QuadListBasic) { |
| 282 const DrawQuad::Material material1 = DrawQuad::DEBUG_BORDER; | 288 SharedQuadState sqs; |
| 283 const DrawQuad::Material material2 = DrawQuad::SOLID_COLOR; | 289 QuadList input; |
| 284 const DrawQuad::Material material3 = DrawQuad::SURFACE_CONTENT; | 290 |
| 285 const DrawQuad::Material material4 = DrawQuad::RENDER_PASS; | |
| 286 const gfx::Rect rect1(1234, 4321, 1357, 7531); | 291 const gfx::Rect rect1(1234, 4321, 1357, 7531); |
| 287 const gfx::Rect rect2(2468, 8642, 4321, 1234); | 292 const SkColor color1 = SK_ColorRED; |
| 288 const gfx::Rect rect3(1029, 3847, 5610, 2938); | |
| 289 const gfx::Rect rect4(1234, 5678, 9101112, 13141516); | |
| 290 const int32_t width1 = 1337; | 293 const int32_t width1 = 1337; |
| 291 const uint32_t color2 = 0xffffffff; | |
| 292 const SurfaceId surface_id(1234, 5678, 2468); | |
| 293 const RenderPassId render_pass_id(1234, 5678); | |
| 294 | |
| 295 QuadList input; | |
| 296 DebugBorderDrawQuad* debug_quad = | 294 DebugBorderDrawQuad* debug_quad = |
| 297 input.AllocateAndConstruct<DebugBorderDrawQuad>(); | 295 input.AllocateAndConstruct<DebugBorderDrawQuad>(); |
| 298 debug_quad->material = material1; | 296 debug_quad->SetNew(&sqs, rect1, rect1, color1, width1); |
| 299 debug_quad->rect = rect1; | |
| 300 debug_quad->width = width1; | |
| 301 | 297 |
| 298 const gfx::Rect rect2(2468, 8642, 4321, 1234); | |
| 299 const uint32_t color2 = 0xffffffff; | |
| 300 const bool force_anti_aliasing_off = true; | |
| 302 SolidColorDrawQuad* solid_quad = | 301 SolidColorDrawQuad* solid_quad = |
| 303 input.AllocateAndConstruct<SolidColorDrawQuad>(); | 302 input.AllocateAndConstruct<SolidColorDrawQuad>(); |
| 304 solid_quad->material = material2; | 303 solid_quad->SetNew(&sqs, rect2, rect2, color2, force_anti_aliasing_off); |
| 305 solid_quad->rect = rect2; | |
| 306 solid_quad->color = color2; | |
| 307 | 304 |
| 305 const gfx::Rect rect3(1029, 3847, 5610, 2938); | |
| 306 const SurfaceId surface_id(1234, 5678, 2468); | |
| 308 SurfaceDrawQuad* surface_quad = input.AllocateAndConstruct<SurfaceDrawQuad>(); | 307 SurfaceDrawQuad* surface_quad = input.AllocateAndConstruct<SurfaceDrawQuad>(); |
| 309 surface_quad->material = material3; | 308 surface_quad->SetNew(&sqs, rect3, rect3, surface_id); |
| 310 surface_quad->rect = rect3; | 309 |
| 311 surface_quad->surface_id = surface_id; | 310 const gfx::Rect rect4(1234, 5678, 9101112, 13141516); |
| 311 const ResourceId resource_id4(1337); | |
| 312 const RenderPassId render_pass_id(1234, 5678); | |
| 313 const gfx::Vector2dF mask_uv_scale(1337.1f, 1234.2f); | |
| 314 const gfx::Size mask_texture_size(1234, 5678); | |
| 315 FilterOperations filters; | |
| 316 filters.Append(FilterOperation::CreateBlurFilter(0.f)); | |
| 317 filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1)); | |
| 318 gfx::Vector2dF filters_scale(1234.1f, 4321.2f); | |
| 319 FilterOperations background_filters; | |
| 320 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f)); | |
| 321 background_filters.Append(FilterOperation::CreateZoomFilter(2.0f, 1)); | |
| 322 background_filters.Append(FilterOperation::CreateSaturateFilter(4.f)); | |
|
rjkroege
2016/06/23 14:09:59
Should the created saturation filters be different
Fady Samuel
2016/06/23 15:31:09
Done.
| |
| 312 | 323 |
| 313 RenderPassDrawQuad* render_pass_quad = | 324 RenderPassDrawQuad* render_pass_quad = |
| 314 input.AllocateAndConstruct<RenderPassDrawQuad>(); | 325 input.AllocateAndConstruct<RenderPassDrawQuad>(); |
| 315 render_pass_quad->material = material4; | 326 render_pass_quad->SetNew(&sqs, rect4, rect4, render_pass_id, resource_id4, |
| 316 render_pass_quad->rect = rect4; | 327 mask_uv_scale, mask_texture_size, filters, |
| 317 render_pass_quad->render_pass_id = render_pass_id; | 328 filters_scale, background_filters); |
| 329 | |
| 330 const gfx::Rect rect5(123, 567, 91011, 131415); | |
| 331 const ResourceId resource_id5(1337); | |
| 332 const float vertex_opacity[4] = {1.f, 2.f, 3.f, 4.f}; | |
| 333 const bool premultiplied_alpha = true; | |
| 334 const gfx::PointF uv_top_left(12.1f, 34.2f); | |
| 335 const gfx::PointF uv_bottom_right(56.3f, 78.4f); | |
| 336 const SkColor background_color = SK_ColorGREEN; | |
| 337 const bool y_flipped = true; | |
| 338 const bool nearest_neighbor = true; | |
| 339 const bool secure_output_only = true; | |
| 340 TextureDrawQuad* texture_draw_quad = | |
| 341 input.AllocateAndConstruct<TextureDrawQuad>(); | |
| 342 texture_draw_quad->SetNew(&sqs, rect5, rect5, rect5, resource_id5, | |
| 343 premultiplied_alpha, uv_top_left, uv_bottom_right, | |
| 344 background_color, vertex_opacity, y_flipped, | |
| 345 nearest_neighbor, secure_output_only); | |
| 318 | 346 |
| 319 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); | 347 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); |
| 320 QuadList output; | 348 QuadList output; |
| 321 proxy->EchoQuadList(input, &output); | 349 proxy->EchoQuadList(input, &output); |
| 322 | 350 |
| 323 ASSERT_EQ(input.size(), output.size()); | 351 ASSERT_EQ(input.size(), output.size()); |
| 324 | 352 |
| 325 ASSERT_EQ(material1, output.ElementAt(0)->material); | 353 const DebugBorderDrawQuad* out_debug_border_draw_quad = |
| 326 EXPECT_EQ(rect1, output.ElementAt(0)->rect); | 354 DebugBorderDrawQuad::MaterialCast(output.ElementAt(0)); |
| 327 EXPECT_EQ(width1, | 355 EXPECT_EQ(rect1, out_debug_border_draw_quad->rect); |
| 328 static_cast<DebugBorderDrawQuad*>(output.ElementAt(0))->width); | 356 EXPECT_EQ(rect1, out_debug_border_draw_quad->visible_rect); |
| 357 EXPECT_EQ(color1, out_debug_border_draw_quad->color); | |
| 358 EXPECT_EQ(width1, out_debug_border_draw_quad->width); | |
| 329 | 359 |
| 330 ASSERT_EQ(material2, output.ElementAt(1)->material); | 360 const SolidColorDrawQuad* out_solid_color_draw_quad = |
| 331 EXPECT_EQ(rect2, output.ElementAt(1)->rect); | 361 SolidColorDrawQuad::MaterialCast(output.ElementAt(1)); |
| 332 EXPECT_EQ(color2, | 362 EXPECT_EQ(rect2, out_solid_color_draw_quad->rect); |
| 333 static_cast<SolidColorDrawQuad*>(output.ElementAt(1))->color); | 363 EXPECT_EQ(rect2, out_solid_color_draw_quad->visible_rect); |
| 364 EXPECT_EQ(color2, out_solid_color_draw_quad->color); | |
| 365 EXPECT_EQ(force_anti_aliasing_off, | |
| 366 out_solid_color_draw_quad->force_anti_aliasing_off); | |
| 334 | 367 |
| 335 ASSERT_EQ(material3, output.ElementAt(2)->material); | 368 const SurfaceDrawQuad* out_surface_draw_quad = |
| 336 EXPECT_EQ(rect3, output.ElementAt(2)->rect); | 369 SurfaceDrawQuad::MaterialCast(output.ElementAt(2)); |
| 337 EXPECT_EQ(surface_id, | 370 EXPECT_EQ(rect3, out_surface_draw_quad->rect); |
| 338 static_cast<SurfaceDrawQuad*>(output.ElementAt(2))->surface_id); | 371 EXPECT_EQ(rect3, out_surface_draw_quad->visible_rect); |
| 372 EXPECT_EQ(surface_id, out_surface_draw_quad->surface_id); | |
| 339 | 373 |
| 340 ASSERT_EQ(material4, output.ElementAt(3)->material); | 374 const RenderPassDrawQuad* out_render_pass_draw_quad = |
| 341 EXPECT_EQ(rect4, output.ElementAt(3)->rect); | 375 RenderPassDrawQuad::MaterialCast(output.ElementAt(3)); |
| 342 EXPECT_EQ( | 376 EXPECT_EQ(rect4, out_render_pass_draw_quad->rect); |
| 343 render_pass_id, | 377 EXPECT_EQ(rect4, out_render_pass_draw_quad->visible_rect); |
| 344 static_cast<RenderPassDrawQuad*>(output.ElementAt(3))->render_pass_id); | 378 EXPECT_EQ(render_pass_id, out_render_pass_draw_quad->render_pass_id); |
| 379 EXPECT_EQ(resource_id4, out_render_pass_draw_quad->mask_resource_id()); | |
| 380 EXPECT_EQ(mask_texture_size, out_render_pass_draw_quad->mask_texture_size); | |
| 381 EXPECT_EQ(filters.size(), out_render_pass_draw_quad->filters.size()); | |
| 382 for (size_t i = 0; i < filters.size(); ++i) | |
| 383 EXPECT_EQ(filters.at(i), out_render_pass_draw_quad->filters.at(i)); | |
| 384 EXPECT_EQ(filters_scale, out_render_pass_draw_quad->filters_scale); | |
| 385 EXPECT_EQ(background_filters.size(), | |
| 386 out_render_pass_draw_quad->background_filters.size()); | |
| 387 for (size_t i = 0; i < background_filters.size(); ++i) | |
| 388 EXPECT_EQ(background_filters.at(i), | |
| 389 out_render_pass_draw_quad->background_filters.at(i)); | |
| 390 | |
| 391 const TextureDrawQuad* out_texture_draw_quad = | |
| 392 TextureDrawQuad::MaterialCast(output.ElementAt(4)); | |
| 393 EXPECT_EQ(rect5, out_texture_draw_quad->rect); | |
| 394 EXPECT_EQ(rect5, out_texture_draw_quad->opaque_rect); | |
| 395 EXPECT_EQ(rect5, out_texture_draw_quad->visible_rect); | |
| 396 EXPECT_EQ(resource_id5, out_texture_draw_quad->resource_id()); | |
| 397 EXPECT_EQ(premultiplied_alpha, out_texture_draw_quad->premultiplied_alpha); | |
| 398 EXPECT_EQ(uv_top_left, out_texture_draw_quad->uv_top_left); | |
| 399 EXPECT_EQ(uv_bottom_right, out_texture_draw_quad->uv_bottom_right); | |
| 400 EXPECT_EQ(background_color, out_texture_draw_quad->background_color); | |
| 401 EXPECT_EQ(vertex_opacity[0], out_texture_draw_quad->vertex_opacity[0]); | |
| 402 EXPECT_EQ(vertex_opacity[1], out_texture_draw_quad->vertex_opacity[1]); | |
| 403 EXPECT_EQ(vertex_opacity[2], out_texture_draw_quad->vertex_opacity[2]); | |
| 404 EXPECT_EQ(vertex_opacity[3], out_texture_draw_quad->vertex_opacity[3]); | |
| 405 EXPECT_EQ(y_flipped, out_texture_draw_quad->y_flipped); | |
| 406 EXPECT_EQ(nearest_neighbor, out_texture_draw_quad->nearest_neighbor); | |
| 407 EXPECT_EQ(secure_output_only, out_texture_draw_quad->secure_output_only); | |
| 408 } | |
| 409 | |
| 410 TEST_F(StructTraitsTest, RenderPass) { | |
| 411 const RenderPassId id(3, 2); | |
| 412 const gfx::Rect output_rect(45, 22, 120, 13); | |
| 413 const gfx::Transform transform_to_root = | |
| 414 gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0); | |
| 415 const gfx::Rect damage_rect(56, 123, 19, 43); | |
| 416 const bool has_transparent_background = true; | |
| 417 std::unique_ptr<RenderPass> input = RenderPass::Create(); | |
| 418 input->SetAll(id, output_rect, damage_rect, transform_to_root, | |
| 419 has_transparent_background); | |
| 420 | |
| 421 SharedQuadState* shared_state_1 = input->CreateAndAppendSharedQuadState(); | |
| 422 shared_state_1->SetAll( | |
| 423 gfx::Transform(16.1f, 15.3f, 14.3f, 13.7f, 12.2f, 11.4f, 10.4f, 9.8f, | |
| 424 8.1f, 7.3f, 6.3f, 5.7f, 4.8f, 3.4f, 2.4f, 1.2f), | |
| 425 gfx::Size(1, 2), gfx::Rect(1337, 5679, 9101112, 131415), | |
| 426 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkXfermode::kSrcOver_Mode, | |
| 427 1); | |
| 428 | |
| 429 SharedQuadState* shared_state_2 = input->CreateAndAppendSharedQuadState(); | |
| 430 shared_state_2->SetAll( | |
| 431 gfx::Transform(1.1f, 2.3f, 3.3f, 4.7f, 5.2f, 6.4f, 7.4f, 8.8f, 9.1f, | |
| 432 10.3f, 11.3f, 12.7f, 13.8f, 14.4f, 15.4f, 16.2f), | |
| 433 gfx::Size(1337, 1234), gfx::Rect(1234, 5678, 9101112, 13141516), | |
| 434 gfx::Rect(1357, 2468, 121314, 1337), true, 2, SkXfermode::kSrcOver_Mode, | |
| 435 1); | |
| 436 | |
| 437 // This quad uses the first shared quad state. The next two quads use the | |
| 438 // second shared quad state. | |
| 439 DebugBorderDrawQuad* debug_quad = | |
| 440 input->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); | |
| 441 const gfx::Rect debug_quad_rect(12, 56, 89, 10); | |
| 442 debug_quad->SetNew(shared_state_1, debug_quad_rect, debug_quad_rect, | |
| 443 SK_ColorBLUE, 1337); | |
| 444 | |
| 445 SolidColorDrawQuad* color_quad = | |
| 446 input->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | |
| 447 const gfx::Rect color_quad_rect(123, 456, 789, 101); | |
| 448 color_quad->SetNew(shared_state_2, color_quad_rect, color_quad_rect, | |
| 449 SK_ColorRED, true); | |
| 450 | |
| 451 SurfaceDrawQuad* surface_quad = | |
| 452 input->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | |
| 453 const gfx::Rect surface_quad_rect(1337, 2448, 1234, 5678); | |
| 454 surface_quad->SetNew(shared_state_2, surface_quad_rect, surface_quad_rect, | |
| 455 SurfaceId(1337, 1234, 2468)); | |
| 456 | |
| 457 std::unique_ptr<RenderPass> output; | |
| 458 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); | |
| 459 proxy->EchoRenderPass(input, &output); | |
| 460 | |
| 461 EXPECT_EQ(input->quad_list.size(), output->quad_list.size()); | |
| 462 EXPECT_EQ(input->shared_quad_state_list.size(), | |
| 463 output->shared_quad_state_list.size()); | |
| 464 EXPECT_EQ(id, output->id); | |
| 465 EXPECT_EQ(output_rect, output->output_rect); | |
| 466 EXPECT_EQ(damage_rect, output->damage_rect); | |
| 467 EXPECT_EQ(transform_to_root, output->transform_to_root_target); | |
| 468 EXPECT_EQ(has_transparent_background, output->has_transparent_background); | |
| 469 | |
| 470 SharedQuadState* out_sqs1 = output->shared_quad_state_list.ElementAt(0); | |
| 471 EXPECT_EQ(shared_state_1->quad_to_target_transform, | |
| 472 out_sqs1->quad_to_target_transform); | |
| 473 EXPECT_EQ(shared_state_1->quad_layer_bounds, out_sqs1->quad_layer_bounds); | |
| 474 EXPECT_EQ(shared_state_1->visible_quad_layer_rect, | |
| 475 out_sqs1->visible_quad_layer_rect); | |
| 476 EXPECT_EQ(shared_state_1->clip_rect, out_sqs1->clip_rect); | |
| 477 EXPECT_EQ(shared_state_1->is_clipped, out_sqs1->is_clipped); | |
| 478 EXPECT_EQ(shared_state_1->opacity, out_sqs1->opacity); | |
| 479 EXPECT_EQ(shared_state_1->blend_mode, out_sqs1->blend_mode); | |
| 480 EXPECT_EQ(shared_state_1->sorting_context_id, out_sqs1->sorting_context_id); | |
| 481 | |
| 482 SharedQuadState* out_sqs2 = output->shared_quad_state_list.ElementAt(1); | |
| 483 EXPECT_EQ(shared_state_2->quad_to_target_transform, | |
| 484 out_sqs2->quad_to_target_transform); | |
| 485 EXPECT_EQ(shared_state_2->quad_layer_bounds, out_sqs2->quad_layer_bounds); | |
| 486 EXPECT_EQ(shared_state_2->visible_quad_layer_rect, | |
| 487 out_sqs2->visible_quad_layer_rect); | |
| 488 EXPECT_EQ(shared_state_2->clip_rect, out_sqs2->clip_rect); | |
| 489 EXPECT_EQ(shared_state_2->is_clipped, out_sqs2->is_clipped); | |
| 490 EXPECT_EQ(shared_state_2->opacity, out_sqs2->opacity); | |
| 491 EXPECT_EQ(shared_state_2->blend_mode, out_sqs2->blend_mode); | |
| 492 EXPECT_EQ(shared_state_2->sorting_context_id, out_sqs2->sorting_context_id); | |
| 493 | |
| 494 const DebugBorderDrawQuad* out_debug_quad = | |
| 495 DebugBorderDrawQuad::MaterialCast(output->quad_list.ElementAt(0)); | |
| 496 EXPECT_EQ(out_debug_quad->shared_quad_state, out_sqs1); | |
| 497 EXPECT_EQ(debug_quad->rect, out_debug_quad->rect); | |
| 498 EXPECT_EQ(debug_quad->visible_rect, out_debug_quad->visible_rect); | |
| 499 EXPECT_EQ(debug_quad->color, out_debug_quad->color); | |
| 500 EXPECT_EQ(debug_quad->width, out_debug_quad->width); | |
| 501 | |
| 502 const SolidColorDrawQuad* out_color_quad = | |
| 503 SolidColorDrawQuad::MaterialCast(output->quad_list.ElementAt(1)); | |
| 504 EXPECT_EQ(out_color_quad->shared_quad_state, out_sqs2); | |
| 505 EXPECT_EQ(color_quad->rect, out_color_quad->rect); | |
| 506 EXPECT_EQ(color_quad->visible_rect, out_color_quad->visible_rect); | |
| 507 EXPECT_EQ(color_quad->color, out_color_quad->color); | |
| 508 EXPECT_EQ(color_quad->force_anti_aliasing_off, | |
| 509 out_color_quad->force_anti_aliasing_off); | |
| 510 | |
| 511 const SurfaceDrawQuad* out_surface_quad = | |
| 512 SurfaceDrawQuad::MaterialCast(output->quad_list.ElementAt(2)); | |
| 513 EXPECT_EQ(out_surface_quad->shared_quad_state, out_sqs2); | |
| 514 EXPECT_EQ(surface_quad->rect, out_surface_quad->rect); | |
| 515 EXPECT_EQ(surface_quad->visible_rect, out_surface_quad->visible_rect); | |
| 516 EXPECT_EQ(surface_quad->surface_id, out_surface_quad->surface_id); | |
| 345 } | 517 } |
| 346 | 518 |
| 347 TEST_F(StructTraitsTest, RenderPassId) { | 519 TEST_F(StructTraitsTest, RenderPassId) { |
| 348 const int layer_id = 1337; | 520 const int layer_id = 1337; |
| 349 const uint32_t index = 0xdeadbeef; | 521 const uint32_t index = 0xdeadbeef; |
| 350 RenderPassId input(layer_id, index); | 522 RenderPassId input(layer_id, index); |
| 351 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); | 523 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy(); |
| 352 RenderPassId output; | 524 RenderPassId output; |
| 353 proxy->EchoRenderPassId(input, &output); | 525 proxy->EchoRenderPassId(input, &output); |
| 354 EXPECT_EQ(layer_id, output.layer_id); | 526 EXPECT_EQ(layer_id, output.layer_id); |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 555 EXPECT_EQ(y_plane_resource_id, out_quad->y_plane_resource_id()); | 727 EXPECT_EQ(y_plane_resource_id, out_quad->y_plane_resource_id()); |
| 556 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id()); | 728 EXPECT_EQ(u_plane_resource_id, out_quad->u_plane_resource_id()); |
| 557 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id()); | 729 EXPECT_EQ(v_plane_resource_id, out_quad->v_plane_resource_id()); |
| 558 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id()); | 730 EXPECT_EQ(a_plane_resource_id, out_quad->a_plane_resource_id()); |
| 559 EXPECT_EQ(color_space, out_quad->color_space); | 731 EXPECT_EQ(color_space, out_quad->color_space); |
| 560 EXPECT_EQ(resource_offset, out_quad->resource_offset); | 732 EXPECT_EQ(resource_offset, out_quad->resource_offset); |
| 561 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier); | 733 EXPECT_EQ(resource_multiplier, out_quad->resource_multiplier); |
| 562 } | 734 } |
| 563 | 735 |
| 564 } // namespace cc | 736 } // namespace cc |
| OLD | NEW |