cc_messages.h revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// IPC Messages sent between compositor instances.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/output/begin_frame_args.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/output/compositor_frame.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/output/compositor_frame_ack.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "cc/output/filter_operation.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/checkerboard_draw_quad.h"
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/debug_border_draw_quad.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/draw_quad.h"
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/io_surface_draw_quad.h"
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "cc/quads/picture_draw_quad.h"
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass.h"
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/render_pass_draw_quad.h"
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/shared_quad_state.h"
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/solid_color_draw_quad.h"
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/stream_video_draw_quad.h"
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "cc/quads/surface_draw_quad.h"
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/texture_draw_quad.h"
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/tile_draw_quad.h"
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/yuv_video_draw_quad.h"
25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "cc/resources/resource_format.h"
263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "cc/resources/returned_resource.h"
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/resources/transferable_resource.h"
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/content_export.h"
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "gpu/ipc/gpu_command_buffer_traits.h"
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h"
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CONTENT_COMMON_CC_MESSAGES_H_
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CONTENT_COMMON_CC_MESSAGES_H_
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace gfx {
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Transform;
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace cc {
40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass FilterOperations;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace IPC {
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperation> {
47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperation param_type;
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
54eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct ParamTraits<cc::FilterOperations> {
55eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  typedef cc::FilterOperations param_type;
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
62c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochstruct ParamTraits<skia::RefPtr<SkImageFilter> > {
63c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  typedef skia::RefPtr<SkImageFilter> param_type;
64c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Write(Message* m, const param_type& p);
65c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
66c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch  static void Log(const param_type& p, std::string* l);
67c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch};
68c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch
69c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochtemplate <>
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct ParamTraits<gfx::Transform> {
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef gfx::Transform param_type;
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <>
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::RenderPass> {
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::RenderPass param_type;
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Write(Message* m, const param_type& p);
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* r);
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static void Log(const param_type& p, std::string* l);
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrame> {
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrame param_type;
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::CompositorFrameAck> {
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::CompositorFrameAck param_type;
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template<>
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::DelegatedFrameData> {
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  typedef cc::DelegatedFrameData param_type;
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
10923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)template <>
11023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)struct CONTENT_EXPORT ParamTraits<cc::SoftwareFrameData> {
11123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  typedef cc::SoftwareFrameData param_type;
11223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Write(Message* m, const param_type& p);
11323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static bool Read(const Message* m, PickleIterator* iter, param_type* p);
11423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  static void Log(const param_type& p, std::string* l);
11523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)};
11623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace IPC
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CONTENT_COMMON_CC_MESSAGES_H_
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Multiply-included message file, hence no include guard.
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START CCMsgStart
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_MESSAGE_EXPORT
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::DrawQuad::Material, cc::DrawQuad::MATERIAL_LAST)
1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::IOSurfaceDrawQuad::Orientation,
1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::IOSurfaceDrawQuad::ORIENTATION_LAST)
1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::FilterOperation::FilterType,
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          cc::FilterOperation::FILTER_TYPE_LAST )
132d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(cc::ResourceFormat, cc::RESOURCE_FORMAT_MAX)
133f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(SkXfermode::Mode, SkXfermode::kLastMode)
1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPass::Id)
1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(layer_id)
1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(index)
1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DrawQuad)
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(material)
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(rect)
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opaque_rect)
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_rect)
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(needs_blending)
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CheckerboardDrawQuad)
1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::DebugBorderDrawQuad)
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(width)
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::IOSurfaceDrawQuad)
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_size)
162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(io_surface_resource_id)
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(orientation)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassDrawQuad)
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(render_pass_id)
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_replica)
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_resource_id)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(contents_changed_since_last_frame)
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mask_uv_rect)
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filters)
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(background_filters)
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SolidColorDrawQuad)
1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(color)
180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(force_anti_aliasing_off)
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::StreamVideoDrawQuad)
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(matrix)
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SurfaceDrawQuad)
1905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(surface_id)
1925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
1935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TextureDrawQuad)
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(premultiplied_alpha)
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_top_left)
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(uv_bottom_right)
2007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_TRAITS_MEMBER(background_color)
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[0])
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[1])
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[2])
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[3])
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(flipped)
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TileDrawQuad)
2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(resource_id)
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(tex_coord_rect)
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(texture_size)
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(swizzle_contents)
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::YUVVideoDrawQuad)
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_PARENT(cc::DrawQuad)
2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(tex_scale)
219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(y_plane_resource_id)
220c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(u_plane_resource_id)
221c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(v_plane_resource_id)
222868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(a_plane_resource_id)
2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::SharedQuadState)
2262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_to_target_transform)
2272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(content_bounds)
2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(visible_content_rect)
2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(clip_rect)
2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_clipped)
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(opacity)
232f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(blend_mode)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::TransferableResource)
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(format)
2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(filter)
2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox_holder)
2411e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(is_software)
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2443551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::ReturnedResource)
2453551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(id)
2463551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(count)
24868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(lost)
2493551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2503551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
2517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::BeginFrameArgs)
2527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(frame_time)
2537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(deadline)
2547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(interval)
2557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)IPC_STRUCT_TRAITS_END()
2567d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::CompositorFrameMetadata)
2582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(device_scale_factor)
2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_scroll_offset)
2602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(page_scale_factor)
2612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(viewport_size)
2622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(root_layer_size)
2632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(min_page_scale_factor)
2642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(max_page_scale_factor)
2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_offset)
2662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(location_bar_content_translation)
267c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(overdraw_bottom_height)
268868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(latency_info)
2692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_BEGIN(cc::GLFrameData)
2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(mailbox)
2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sync_point)
2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(size)
2757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_TRAITS_MEMBER(sub_buffer_rect)
2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_TRAITS_END()
277