OLD | NEW |
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 "cc/ipc/cc_param_traits.h" | 5 #include "cc/ipc/cc_param_traits.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/numerics/safe_conversions.h" | 10 #include "base/numerics/safe_conversions.h" |
11 #include "base/time/time.h" | 11 #include "base/time/time.h" |
12 #include "cc/output/compositor_frame.h" | 12 #include "cc/output/compositor_frame.h" |
13 #include "cc/output/filter_operations.h" | 13 #include "cc/output/filter_operations.h" |
14 #include "cc/quads/debug_border_draw_quad.h" | 14 #include "cc/quads/debug_border_draw_quad.h" |
15 #include "cc/quads/draw_quad.h" | 15 #include "cc/quads/draw_quad.h" |
16 #include "cc/quads/largest_draw_quad.h" | 16 #include "cc/quads/largest_draw_quad.h" |
17 #include "cc/quads/render_pass_draw_quad.h" | 17 #include "cc/quads/render_pass_draw_quad.h" |
18 #include "cc/quads/solid_color_draw_quad.h" | 18 #include "cc/quads/solid_color_draw_quad.h" |
19 #include "cc/quads/surface_draw_quad.h" | 19 #include "cc/quads/surface_draw_quad.h" |
20 #include "cc/quads/tile_draw_quad.h" | 20 #include "cc/quads/tile_draw_quad.h" |
| 21 #include "cc/quads/y_video_draw_quad.h" |
21 #include "cc/quads/yuv_video_draw_quad.h" | 22 #include "cc/quads/yuv_video_draw_quad.h" |
22 #include "cc/surfaces/surface_id.h" | 23 #include "cc/surfaces/surface_id.h" |
23 #include "third_party/skia/include/core/SkData.h" | 24 #include "third_party/skia/include/core/SkData.h" |
24 #include "third_party/skia/include/core/SkFlattenableSerialization.h" | 25 #include "third_party/skia/include/core/SkFlattenableSerialization.h" |
25 #include "third_party/skia/include/core/SkImageFilter.h" | 26 #include "third_party/skia/include/core/SkImageFilter.h" |
26 #include "third_party/skia/include/core/SkRefCnt.h" | 27 #include "third_party/skia/include/core/SkRefCnt.h" |
27 #include "ui/gfx/ipc/geometry/gfx_param_traits.h" | 28 #include "ui/gfx/ipc/geometry/gfx_param_traits.h" |
28 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" | 29 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" |
29 | 30 |
30 namespace IPC { | 31 namespace IPC { |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 break; | 363 break; |
363 case cc::DrawQuad::TILED_CONTENT: | 364 case cc::DrawQuad::TILED_CONTENT: |
364 WriteParam(m, *cc::TileDrawQuad::MaterialCast(quad)); | 365 WriteParam(m, *cc::TileDrawQuad::MaterialCast(quad)); |
365 break; | 366 break; |
366 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 367 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
367 WriteParam(m, *cc::StreamVideoDrawQuad::MaterialCast(quad)); | 368 WriteParam(m, *cc::StreamVideoDrawQuad::MaterialCast(quad)); |
368 break; | 369 break; |
369 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 370 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
370 WriteParam(m, *cc::YUVVideoDrawQuad::MaterialCast(quad)); | 371 WriteParam(m, *cc::YUVVideoDrawQuad::MaterialCast(quad)); |
371 break; | 372 break; |
| 373 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 374 WriteParam(m, *cc::YVideoDrawQuad::MaterialCast(quad)); |
| 375 break; |
372 case cc::DrawQuad::INVALID: | 376 case cc::DrawQuad::INVALID: |
373 break; | 377 break; |
374 } | 378 } |
375 | 379 |
376 // Null shared quad states should not occur. | 380 // Null shared quad states should not occur. |
377 DCHECK(quad->shared_quad_state); | 381 DCHECK(quad->shared_quad_state); |
378 | 382 |
379 // SharedQuadStates should appear in the order they are used by DrawQuads. | 383 // SharedQuadStates should appear in the order they are used by DrawQuads. |
380 // Find the SharedQuadState for this DrawQuad. | 384 // Find the SharedQuadState for this DrawQuad. |
381 while (shared_quad_state_iter != p.shared_quad_state_list.end() && | 385 while (shared_quad_state_iter != p.shared_quad_state_list.end() && |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 break; | 471 break; |
468 case cc::DrawQuad::TILED_CONTENT: | 472 case cc::DrawQuad::TILED_CONTENT: |
469 draw_quad = ReadDrawQuad<cc::TileDrawQuad>(m, iter, p); | 473 draw_quad = ReadDrawQuad<cc::TileDrawQuad>(m, iter, p); |
470 break; | 474 break; |
471 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 475 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
472 draw_quad = ReadDrawQuad<cc::StreamVideoDrawQuad>(m, iter, p); | 476 draw_quad = ReadDrawQuad<cc::StreamVideoDrawQuad>(m, iter, p); |
473 break; | 477 break; |
474 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 478 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
475 draw_quad = ReadDrawQuad<cc::YUVVideoDrawQuad>(m, iter, p); | 479 draw_quad = ReadDrawQuad<cc::YUVVideoDrawQuad>(m, iter, p); |
476 break; | 480 break; |
| 481 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 482 draw_quad = ReadDrawQuad<cc::YVideoDrawQuad>(m, iter, p); |
| 483 break; |
477 case cc::DrawQuad::INVALID: | 484 case cc::DrawQuad::INVALID: |
478 break; | 485 break; |
479 } | 486 } |
480 if (!draw_quad) | 487 if (!draw_quad) |
481 return false; | 488 return false; |
482 if (!draw_quad->rect.Contains(draw_quad->visible_rect)) { | 489 if (!draw_quad->rect.Contains(draw_quad->visible_rect)) { |
483 LOG(ERROR) << "Quad with invalid visible rect " << draw_quad->material | 490 LOG(ERROR) << "Quad with invalid visible rect " << draw_quad->material |
484 << " rect: " << draw_quad->rect.ToString() | 491 << " rect: " << draw_quad->rect.ToString() |
485 << " visible_rect: " << draw_quad->visible_rect.ToString(); | 492 << " visible_rect: " << draw_quad->visible_rect.ToString(); |
486 return false; | 493 return false; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 break; | 561 break; |
555 case cc::DrawQuad::TILED_CONTENT: | 562 case cc::DrawQuad::TILED_CONTENT: |
556 LogParam(*cc::TileDrawQuad::MaterialCast(quad), l); | 563 LogParam(*cc::TileDrawQuad::MaterialCast(quad), l); |
557 break; | 564 break; |
558 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 565 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
559 LogParam(*cc::StreamVideoDrawQuad::MaterialCast(quad), l); | 566 LogParam(*cc::StreamVideoDrawQuad::MaterialCast(quad), l); |
560 break; | 567 break; |
561 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 568 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
562 LogParam(*cc::YUVVideoDrawQuad::MaterialCast(quad), l); | 569 LogParam(*cc::YUVVideoDrawQuad::MaterialCast(quad), l); |
563 break; | 570 break; |
| 571 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 572 LogParam(*cc::YVideoDrawQuad::MaterialCast(quad), l); |
| 573 break; |
564 case cc::DrawQuad::INVALID: | 574 case cc::DrawQuad::INVALID: |
565 break; | 575 break; |
566 } | 576 } |
567 } | 577 } |
568 l->append("])"); | 578 l->append("])"); |
569 } | 579 } |
570 | 580 |
571 void ParamTraits<cc::SurfaceId>::GetSize(base::PickleSizer* s, | 581 void ParamTraits<cc::SurfaceId>::GetSize(base::PickleSizer* s, |
572 const param_type& p) { | 582 const param_type& p) { |
573 GetParamSize(s, p.id_namespace()); | 583 GetParamSize(s, p.id_namespace()); |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
944 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ | 954 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ |
945 #include "cc/ipc/cc_param_traits_macros.h" | 955 #include "cc/ipc/cc_param_traits_macros.h" |
946 } // namespace IPC | 956 } // namespace IPC |
947 | 957 |
948 // Generate param traits log methods. | 958 // Generate param traits log methods. |
949 #include "ipc/param_traits_log_macros.h" | 959 #include "ipc/param_traits_log_macros.h" |
950 namespace IPC { | 960 namespace IPC { |
951 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ | 961 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ |
952 #include "cc/ipc/cc_param_traits_macros.h" | 962 #include "cc/ipc/cc_param_traits_macros.h" |
953 } // namespace IPC | 963 } // namespace IPC |
OLD | NEW |