gfx/layers/protobuf/LayerScopePacket.pb.cc
author Alexis Beingessner <a.beingessner@gmail.com>
Thu, 07 Dec 2017 17:13:05 -0500
changeset 715489 5e9ee7bdc25ec15785dbd4ad1d70b292fc4ba48d
parent 710079 1f8dab2a495e6df770c0d3fe1be8eab84c449a4d
child 780481 d7d2f08e051c3c355d41dc5c1ce1bd3ca55a43b9
permissions -rw-r--r--
Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r?mattwoodrow MozReview-Commit-ID: 5fmKfkO6hnO

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: LayerScopePacket.proto

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "LayerScopePacket.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/io/zero_copy_stream_impl_lite.h>
// @@protoc_insertion_point(includes)

namespace mozilla {
namespace layers {
namespace layerscope {
class FramePacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<FramePacket>
     _instance;
} _FramePacket_default_instance_;
class ColorPacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ColorPacket>
     _instance;
} _ColorPacket_default_instance_;
class TexturePacket_RectDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<TexturePacket_Rect>
     _instance;
} _TexturePacket_Rect_default_instance_;
class TexturePacket_SizeDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<TexturePacket_Size>
     _instance;
} _TexturePacket_Size_default_instance_;
class TexturePacket_MatrixDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<TexturePacket_Matrix>
     _instance;
} _TexturePacket_Matrix_default_instance_;
class TexturePacket_EffectMaskDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<TexturePacket_EffectMask>
     _instance;
} _TexturePacket_EffectMask_default_instance_;
class TexturePacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<TexturePacket>
     _instance;
} _TexturePacket_default_instance_;
class LayersPacket_Layer_SizeDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer_Size>
     _instance;
} _LayersPacket_Layer_Size_default_instance_;
class LayersPacket_Layer_RectDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer_Rect>
     _instance;
} _LayersPacket_Layer_Rect_default_instance_;
class LayersPacket_Layer_RegionDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer_Region>
     _instance;
} _LayersPacket_Layer_Region_default_instance_;
class LayersPacket_Layer_MatrixDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer_Matrix>
     _instance;
} _LayersPacket_Layer_Matrix_default_instance_;
class LayersPacket_Layer_ShadowDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer_Shadow>
     _instance;
} _LayersPacket_Layer_Shadow_default_instance_;
class LayersPacket_LayerDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket_Layer>
     _instance;
} _LayersPacket_Layer_default_instance_;
class LayersPacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LayersPacket>
     _instance;
} _LayersPacket_default_instance_;
class MetaPacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<MetaPacket>
     _instance;
} _MetaPacket_default_instance_;
class DrawPacket_RectDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<DrawPacket_Rect>
     _instance;
} _DrawPacket_Rect_default_instance_;
class DrawPacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<DrawPacket>
     _instance;
} _DrawPacket_default_instance_;
class PacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<Packet>
     _instance;
} _Packet_default_instance_;
class CommandPacketDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<CommandPacket>
     _instance;
} _CommandPacket_default_instance_;

namespace protobuf_LayerScopePacket_2eproto {

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
    const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
    const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  ::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
    TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
};

void TableStruct::InitDefaultsImpl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::internal::InitProtobufDefaults();
  _FramePacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_FramePacket_default_instance_);_ColorPacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ColorPacket_default_instance_);_TexturePacket_Rect_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_TexturePacket_Rect_default_instance_);_TexturePacket_Size_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_TexturePacket_Size_default_instance_);_TexturePacket_Matrix_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_TexturePacket_Matrix_default_instance_);_TexturePacket_EffectMask_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_TexturePacket_EffectMask_default_instance_);_TexturePacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_TexturePacket_default_instance_);_LayersPacket_Layer_Size_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_Size_default_instance_);_LayersPacket_Layer_Rect_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_Rect_default_instance_);_LayersPacket_Layer_Region_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_Region_default_instance_);_LayersPacket_Layer_Matrix_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_Matrix_default_instance_);_LayersPacket_Layer_Shadow_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_Shadow_default_instance_);_LayersPacket_Layer_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_Layer_default_instance_);_LayersPacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LayersPacket_default_instance_);_MetaPacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_MetaPacket_default_instance_);_DrawPacket_Rect_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_DrawPacket_Rect_default_instance_);_DrawPacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_DrawPacket_default_instance_);_Packet_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_Packet_default_instance_);_CommandPacket_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_CommandPacket_default_instance_);_TexturePacket_EffectMask_default_instance_._instance.get_mutable()->msize_ = const_cast< ::mozilla::layers::layerscope::TexturePacket_Size*>(
      ::mozilla::layers::layerscope::TexturePacket_Size::internal_default_instance());
  _TexturePacket_EffectMask_default_instance_._instance.get_mutable()->mmasktransform_ = const_cast< ::mozilla::layers::layerscope::TexturePacket_Matrix*>(
      ::mozilla::layers::layerscope::TexturePacket_Matrix::internal_default_instance());
  _TexturePacket_default_instance_._instance.get_mutable()->mtexturecoords_ = const_cast< ::mozilla::layers::layerscope::TexturePacket_Rect*>(
      ::mozilla::layers::layerscope::TexturePacket_Rect::internal_default_instance());
  _TexturePacket_default_instance_._instance.get_mutable()->mask_ = const_cast< ::mozilla::layers::layerscope::TexturePacket_EffectMask*>(
      ::mozilla::layers::layerscope::TexturePacket_EffectMask::internal_default_instance());
  _LayersPacket_Layer_Shadow_default_instance_._instance.get_mutable()->clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Rect::internal_default_instance());
  _LayersPacket_Layer_Shadow_default_instance_._instance.get_mutable()->transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::internal_default_instance());
  _LayersPacket_Layer_Shadow_default_instance_._instance.get_mutable()->vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Rect::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->shadow_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->hitregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->dispatchregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->noactionregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->hpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->vpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->valid_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
  _LayersPacket_Layer_default_instance_._instance.get_mutable()->size_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Size*>(
      ::mozilla::layers::layerscope::LayersPacket_Layer_Size::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->frame_ = const_cast< ::mozilla::layers::layerscope::FramePacket*>(
      ::mozilla::layers::layerscope::FramePacket::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->color_ = const_cast< ::mozilla::layers::layerscope::ColorPacket*>(
      ::mozilla::layers::layerscope::ColorPacket::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->texture_ = const_cast< ::mozilla::layers::layerscope::TexturePacket*>(
      ::mozilla::layers::layerscope::TexturePacket::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->layers_ = const_cast< ::mozilla::layers::layerscope::LayersPacket*>(
      ::mozilla::layers::layerscope::LayersPacket::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->meta_ = const_cast< ::mozilla::layers::layerscope::MetaPacket*>(
      ::mozilla::layers::layerscope::MetaPacket::internal_default_instance());
  _Packet_default_instance_._instance.get_mutable()->draw_ = const_cast< ::mozilla::layers::layerscope::DrawPacket*>(
      ::mozilla::layers::layerscope::DrawPacket::internal_default_instance());
}

void InitDefaults() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
namespace {
void AddDescriptorsImpl() {
  InitDefaults();
}
} // anonymous namespace

void AddDescriptors() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}

}  // namespace protobuf_LayerScopePacket_2eproto

bool TexturePacket_Filter_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const TexturePacket_Filter TexturePacket::GOOD;
const TexturePacket_Filter TexturePacket::LINEAR;
const TexturePacket_Filter TexturePacket::POINT;
const TexturePacket_Filter TexturePacket::Filter_MIN;
const TexturePacket_Filter TexturePacket::Filter_MAX;
const int TexturePacket::Filter_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LayersPacket_Layer_LayerType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LayersPacket_Layer_LayerType LayersPacket_Layer::UnknownLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::LayerManager;
const LayersPacket_Layer_LayerType LayersPacket_Layer::ContainerLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::PaintedLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::CanvasLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::ImageLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::ColorLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::RefLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::ReadbackLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::DisplayItemLayer;
const LayersPacket_Layer_LayerType LayersPacket_Layer::LayerType_MIN;
const LayersPacket_Layer_LayerType LayersPacket_Layer::LayerType_MAX;
const int LayersPacket_Layer::LayerType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LayersPacket_Layer_ScrollingDirect_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::VERTICAL;
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::HORIZONTAL;
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::ScrollingDirect_MIN;
const LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::ScrollingDirect_MAX;
const int LayersPacket_Layer::ScrollingDirect_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LayersPacket_Layer_Filter_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_FAST;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_GOOD;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_BEST;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_NEAREST;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_BILINEAR;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_GAUSSIAN;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_SENTINEL;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_LINEAR;
const LayersPacket_Layer_Filter LayersPacket_Layer::FILTER_POINT;
const LayersPacket_Layer_Filter LayersPacket_Layer::Filter_MIN;
const LayersPacket_Layer_Filter LayersPacket_Layer::Filter_MAX;
const int LayersPacket_Layer::Filter_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool Packet_DataType_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const Packet_DataType Packet::FRAMESTART;
const Packet_DataType Packet::FRAMEEND;
const Packet_DataType Packet::COLOR;
const Packet_DataType Packet::TEXTURE;
const Packet_DataType Packet::LAYERS;
const Packet_DataType Packet::META;
const Packet_DataType Packet::DRAW;
const Packet_DataType Packet::DataType_MIN;
const Packet_DataType Packet::DataType_MAX;
const int Packet::DataType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool CommandPacket_CmdType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const CommandPacket_CmdType CommandPacket::NO_OP;
const CommandPacket_CmdType CommandPacket::LAYERS_TREE;
const CommandPacket_CmdType CommandPacket::LAYERS_BUFFER;
const CommandPacket_CmdType CommandPacket::CmdType_MIN;
const CommandPacket_CmdType CommandPacket::CmdType_MAX;
const int CommandPacket::CmdType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int FramePacket::kValueFieldNumber;
const int FramePacket::kScaleFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

FramePacket::FramePacket()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.FramePacket)
}
FramePacket::FramePacket(const FramePacket& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&value_, &from.value_,
    static_cast<size_t>(reinterpret_cast<char*>(&scale_) -
    reinterpret_cast<char*>(&value_)) + sizeof(scale_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.FramePacket)
}

void FramePacket::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&value_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&scale_) -
      reinterpret_cast<char*>(&value_)) + sizeof(scale_));
}

FramePacket::~FramePacket() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.FramePacket)
  SharedDtor();
}

void FramePacket::SharedDtor() {
}

void FramePacket::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const FramePacket& FramePacket::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

FramePacket* FramePacket::New(::google::protobuf::Arena* arena) const {
  FramePacket* n = new FramePacket;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void FramePacket::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.FramePacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&value_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&scale_) -
        reinterpret_cast<char*>(&value_)) + sizeof(scale_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool FramePacket::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.FramePacket)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional uint64 value = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_value();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                 input, &value_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float scale = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_scale();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &scale_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.FramePacket)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.FramePacket)
  return false;
#undef DO_
}

void FramePacket::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.FramePacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional uint64 value = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->value(), output);
  }

  // optional float scale = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.FramePacket)
}

size_t FramePacket::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.FramePacket)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional uint64 value = 1;
    if (has_value()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt64Size(
          this->value());
    }

    // optional float scale = 2;
    if (has_scale()) {
      total_size += 1 + 4;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void FramePacket::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const FramePacket*>(&from));
}

void FramePacket::MergeFrom(const FramePacket& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.FramePacket)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      value_ = from.value_;
    }
    if (cached_has_bits & 0x00000002u) {
      scale_ = from.scale_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void FramePacket::CopyFrom(const FramePacket& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.FramePacket)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FramePacket::IsInitialized() const {
  return true;
}

void FramePacket::Swap(FramePacket* other) {
  if (other == this) return;
  InternalSwap(other);
}
void FramePacket::InternalSwap(FramePacket* other) {
  using std::swap;
  swap(value_, other->value_);
  swap(scale_, other->scale_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string FramePacket::GetTypeName() const {
  return "mozilla.layers.layerscope.FramePacket";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// FramePacket

// optional uint64 value = 1;
bool FramePacket::has_value() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void FramePacket::set_has_value() {
  _has_bits_[0] |= 0x00000001u;
}
void FramePacket::clear_has_value() {
  _has_bits_[0] &= ~0x00000001u;
}
void FramePacket::clear_value() {
  value_ = GOOGLE_ULONGLONG(0);
  clear_has_value();
}
::google::protobuf::uint64 FramePacket::value() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.FramePacket.value)
  return value_;
}
void FramePacket::set_value(::google::protobuf::uint64 value) {
  set_has_value();
  value_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.FramePacket.value)
}

// optional float scale = 2;
bool FramePacket::has_scale() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void FramePacket::set_has_scale() {
  _has_bits_[0] |= 0x00000002u;
}
void FramePacket::clear_has_scale() {
  _has_bits_[0] &= ~0x00000002u;
}
void FramePacket::clear_scale() {
  scale_ = 0;
  clear_has_scale();
}
float FramePacket::scale() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.FramePacket.scale)
  return scale_;
}
void FramePacket::set_scale(float value) {
  set_has_scale();
  scale_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.FramePacket.scale)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ColorPacket::kLayerrefFieldNumber;
const int ColorPacket::kWidthFieldNumber;
const int ColorPacket::kHeightFieldNumber;
const int ColorPacket::kColorFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ColorPacket::ColorPacket()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.ColorPacket)
}
ColorPacket::ColorPacket(const ColorPacket& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&layerref_, &from.layerref_,
    static_cast<size_t>(reinterpret_cast<char*>(&color_) -
    reinterpret_cast<char*>(&layerref_)) + sizeof(color_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.ColorPacket)
}

void ColorPacket::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&layerref_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&color_) -
      reinterpret_cast<char*>(&layerref_)) + sizeof(color_));
}

ColorPacket::~ColorPacket() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.ColorPacket)
  SharedDtor();
}

void ColorPacket::SharedDtor() {
}

void ColorPacket::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ColorPacket& ColorPacket::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

ColorPacket* ColorPacket::New(::google::protobuf::Arena* arena) const {
  ColorPacket* n = new ColorPacket;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ColorPacket::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.ColorPacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    ::memset(&layerref_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&color_) -
        reinterpret_cast<char*>(&layerref_)) + sizeof(color_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ColorPacket::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.ColorPacket)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required uint64 layerref = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_layerref();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                 input, &layerref_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 width = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 height = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 color = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_color();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &color_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.ColorPacket)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.ColorPacket)
  return false;
#undef DO_
}

void ColorPacket::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.ColorPacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint64 layerref = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->layerref(), output);
  }

  // optional uint32 width = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->width(), output);
  }

  // optional uint32 height = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
  }

  // optional uint32 color = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->color(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.ColorPacket)
}

size_t ColorPacket::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.ColorPacket)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required uint64 layerref = 1;
  if (has_layerref()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::UInt64Size(
        this->layerref());
  }
  if (_has_bits_[0 / 32] & 14u) {
    // optional uint32 width = 2;
    if (has_width()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->width());
    }

    // optional uint32 height = 3;
    if (has_height()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->height());
    }

    // optional uint32 color = 4;
    if (has_color()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->color());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ColorPacket::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ColorPacket*>(&from));
}

void ColorPacket::MergeFrom(const ColorPacket& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.ColorPacket)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      layerref_ = from.layerref_;
    }
    if (cached_has_bits & 0x00000002u) {
      width_ = from.width_;
    }
    if (cached_has_bits & 0x00000004u) {
      height_ = from.height_;
    }
    if (cached_has_bits & 0x00000008u) {
      color_ = from.color_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ColorPacket::CopyFrom(const ColorPacket& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.ColorPacket)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ColorPacket::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  return true;
}

void ColorPacket::Swap(ColorPacket* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ColorPacket::InternalSwap(ColorPacket* other) {
  using std::swap;
  swap(layerref_, other->layerref_);
  swap(width_, other->width_);
  swap(height_, other->height_);
  swap(color_, other->color_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ColorPacket::GetTypeName() const {
  return "mozilla.layers.layerscope.ColorPacket";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ColorPacket

// required uint64 layerref = 1;
bool ColorPacket::has_layerref() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ColorPacket::set_has_layerref() {
  _has_bits_[0] |= 0x00000001u;
}
void ColorPacket::clear_has_layerref() {
  _has_bits_[0] &= ~0x00000001u;
}
void ColorPacket::clear_layerref() {
  layerref_ = GOOGLE_ULONGLONG(0);
  clear_has_layerref();
}
::google::protobuf::uint64 ColorPacket::layerref() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.layerref)
  return layerref_;
}
void ColorPacket::set_layerref(::google::protobuf::uint64 value) {
  set_has_layerref();
  layerref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.layerref)
}

// optional uint32 width = 2;
bool ColorPacket::has_width() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ColorPacket::set_has_width() {
  _has_bits_[0] |= 0x00000002u;
}
void ColorPacket::clear_has_width() {
  _has_bits_[0] &= ~0x00000002u;
}
void ColorPacket::clear_width() {
  width_ = 0u;
  clear_has_width();
}
::google::protobuf::uint32 ColorPacket::width() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.width)
  return width_;
}
void ColorPacket::set_width(::google::protobuf::uint32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.width)
}

// optional uint32 height = 3;
bool ColorPacket::has_height() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ColorPacket::set_has_height() {
  _has_bits_[0] |= 0x00000004u;
}
void ColorPacket::clear_has_height() {
  _has_bits_[0] &= ~0x00000004u;
}
void ColorPacket::clear_height() {
  height_ = 0u;
  clear_has_height();
}
::google::protobuf::uint32 ColorPacket::height() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.height)
  return height_;
}
void ColorPacket::set_height(::google::protobuf::uint32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.height)
}

// optional uint32 color = 4;
bool ColorPacket::has_color() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ColorPacket::set_has_color() {
  _has_bits_[0] |= 0x00000008u;
}
void ColorPacket::clear_has_color() {
  _has_bits_[0] &= ~0x00000008u;
}
void ColorPacket::clear_color() {
  color_ = 0u;
  clear_has_color();
}
::google::protobuf::uint32 ColorPacket::color() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.color)
  return color_;
}
void ColorPacket::set_color(::google::protobuf::uint32 value) {
  set_has_color();
  color_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.color)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TexturePacket_Rect::kXFieldNumber;
const int TexturePacket_Rect::kYFieldNumber;
const int TexturePacket_Rect::kWFieldNumber;
const int TexturePacket_Rect::kHFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TexturePacket_Rect::TexturePacket_Rect()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Rect)
}
TexturePacket_Rect::TexturePacket_Rect(const TexturePacket_Rect& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&x_, &from.x_,
    static_cast<size_t>(reinterpret_cast<char*>(&h_) -
    reinterpret_cast<char*>(&x_)) + sizeof(h_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket.Rect)
}

void TexturePacket_Rect::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&x_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&h_) -
      reinterpret_cast<char*>(&x_)) + sizeof(h_));
}

TexturePacket_Rect::~TexturePacket_Rect() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket.Rect)
  SharedDtor();
}

void TexturePacket_Rect::SharedDtor() {
}

void TexturePacket_Rect::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const TexturePacket_Rect& TexturePacket_Rect::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

TexturePacket_Rect* TexturePacket_Rect::New(::google::protobuf::Arena* arena) const {
  TexturePacket_Rect* n = new TexturePacket_Rect;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TexturePacket_Rect::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.TexturePacket.Rect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    ::memset(&x_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&h_) -
        reinterpret_cast<char*>(&x_)) + sizeof(h_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool TexturePacket_Rect::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket.Rect)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional float x = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(13u /* 13 & 0xFF */)) {
          set_has_x();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &x_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float y = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_y();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &y_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float w = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          set_has_w();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &w_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional float h = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(37u /* 37 & 0xFF */)) {
          set_has_h();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &h_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket.Rect)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket.Rect)
  return false;
#undef DO_
}

void TexturePacket_Rect::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket.Rect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional float x = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->x(), output);
  }

  // optional float y = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->y(), output);
  }

  // optional float w = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->w(), output);
  }

  // optional float h = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->h(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket.Rect)
}

size_t TexturePacket_Rect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.TexturePacket.Rect)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional float x = 1;
    if (has_x()) {
      total_size += 1 + 4;
    }

    // optional float y = 2;
    if (has_y()) {
      total_size += 1 + 4;
    }

    // optional float w = 3;
    if (has_w()) {
      total_size += 1 + 4;
    }

    // optional float h = 4;
    if (has_h()) {
      total_size += 1 + 4;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void TexturePacket_Rect::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const TexturePacket_Rect*>(&from));
}

void TexturePacket_Rect::MergeFrom(const TexturePacket_Rect& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.TexturePacket.Rect)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      x_ = from.x_;
    }
    if (cached_has_bits & 0x00000002u) {
      y_ = from.y_;
    }
    if (cached_has_bits & 0x00000004u) {
      w_ = from.w_;
    }
    if (cached_has_bits & 0x00000008u) {
      h_ = from.h_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void TexturePacket_Rect::CopyFrom(const TexturePacket_Rect& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.TexturePacket.Rect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TexturePacket_Rect::IsInitialized() const {
  return true;
}

void TexturePacket_Rect::Swap(TexturePacket_Rect* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TexturePacket_Rect::InternalSwap(TexturePacket_Rect* other) {
  using std::swap;
  swap(x_, other->x_);
  swap(y_, other->y_);
  swap(w_, other->w_);
  swap(h_, other->h_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string TexturePacket_Rect::GetTypeName() const {
  return "mozilla.layers.layerscope.TexturePacket.Rect";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TexturePacket_Rect

// optional float x = 1;
bool TexturePacket_Rect::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void TexturePacket_Rect::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
void TexturePacket_Rect::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
void TexturePacket_Rect::clear_x() {
  x_ = 0;
  clear_has_x();
}
float TexturePacket_Rect::x() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.x)
  return x_;
}
void TexturePacket_Rect::set_x(float value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.x)
}

// optional float y = 2;
bool TexturePacket_Rect::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void TexturePacket_Rect::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
void TexturePacket_Rect::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
void TexturePacket_Rect::clear_y() {
  y_ = 0;
  clear_has_y();
}
float TexturePacket_Rect::y() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.y)
  return y_;
}
void TexturePacket_Rect::set_y(float value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.y)
}

// optional float w = 3;
bool TexturePacket_Rect::has_w() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void TexturePacket_Rect::set_has_w() {
  _has_bits_[0] |= 0x00000004u;
}
void TexturePacket_Rect::clear_has_w() {
  _has_bits_[0] &= ~0x00000004u;
}
void TexturePacket_Rect::clear_w() {
  w_ = 0;
  clear_has_w();
}
float TexturePacket_Rect::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.w)
  return w_;
}
void TexturePacket_Rect::set_w(float value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.w)
}

// optional float h = 4;
bool TexturePacket_Rect::has_h() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void TexturePacket_Rect::set_has_h() {
  _has_bits_[0] |= 0x00000008u;
}
void TexturePacket_Rect::clear_has_h() {
  _has_bits_[0] &= ~0x00000008u;
}
void TexturePacket_Rect::clear_h() {
  h_ = 0;
  clear_has_h();
}
float TexturePacket_Rect::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Rect.h)
  return h_;
}
void TexturePacket_Rect::set_h(float value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Rect.h)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TexturePacket_Size::kWFieldNumber;
const int TexturePacket_Size::kHFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TexturePacket_Size::TexturePacket_Size()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Size)
}
TexturePacket_Size::TexturePacket_Size(const TexturePacket_Size& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&w_, &from.w_,
    static_cast<size_t>(reinterpret_cast<char*>(&h_) -
    reinterpret_cast<char*>(&w_)) + sizeof(h_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket.Size)
}

void TexturePacket_Size::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&w_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&h_) -
      reinterpret_cast<char*>(&w_)) + sizeof(h_));
}

TexturePacket_Size::~TexturePacket_Size() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket.Size)
  SharedDtor();
}

void TexturePacket_Size::SharedDtor() {
}

void TexturePacket_Size::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const TexturePacket_Size& TexturePacket_Size::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

TexturePacket_Size* TexturePacket_Size::New(::google::protobuf::Arena* arena) const {
  TexturePacket_Size* n = new TexturePacket_Size;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TexturePacket_Size::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.TexturePacket.Size)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&w_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&h_) -
        reinterpret_cast<char*>(&w_)) + sizeof(h_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool TexturePacket_Size::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket.Size)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 w = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_w();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &w_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 h = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_h();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &h_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket.Size)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket.Size)
  return false;
#undef DO_
}

void TexturePacket_Size::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket.Size)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 w = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->w(), output);
  }

  // optional int32 h = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->h(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket.Size)
}

size_t TexturePacket_Size::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.TexturePacket.Size)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional int32 w = 1;
    if (has_w()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->w());
    }

    // optional int32 h = 2;
    if (has_h()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->h());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void TexturePacket_Size::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const TexturePacket_Size*>(&from));
}

void TexturePacket_Size::MergeFrom(const TexturePacket_Size& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.TexturePacket.Size)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      w_ = from.w_;
    }
    if (cached_has_bits & 0x00000002u) {
      h_ = from.h_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void TexturePacket_Size::CopyFrom(const TexturePacket_Size& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.TexturePacket.Size)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TexturePacket_Size::IsInitialized() const {
  return true;
}

void TexturePacket_Size::Swap(TexturePacket_Size* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TexturePacket_Size::InternalSwap(TexturePacket_Size* other) {
  using std::swap;
  swap(w_, other->w_);
  swap(h_, other->h_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string TexturePacket_Size::GetTypeName() const {
  return "mozilla.layers.layerscope.TexturePacket.Size";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TexturePacket_Size

// optional int32 w = 1;
bool TexturePacket_Size::has_w() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void TexturePacket_Size::set_has_w() {
  _has_bits_[0] |= 0x00000001u;
}
void TexturePacket_Size::clear_has_w() {
  _has_bits_[0] &= ~0x00000001u;
}
void TexturePacket_Size::clear_w() {
  w_ = 0;
  clear_has_w();
}
::google::protobuf::int32 TexturePacket_Size::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Size.w)
  return w_;
}
void TexturePacket_Size::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Size.w)
}

// optional int32 h = 2;
bool TexturePacket_Size::has_h() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void TexturePacket_Size::set_has_h() {
  _has_bits_[0] |= 0x00000002u;
}
void TexturePacket_Size::clear_has_h() {
  _has_bits_[0] &= ~0x00000002u;
}
void TexturePacket_Size::clear_h() {
  h_ = 0;
  clear_has_h();
}
::google::protobuf::int32 TexturePacket_Size::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Size.h)
  return h_;
}
void TexturePacket_Size::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Size.h)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TexturePacket_Matrix::kIs2DFieldNumber;
const int TexturePacket_Matrix::kIsIdFieldNumber;
const int TexturePacket_Matrix::kMFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TexturePacket_Matrix::TexturePacket_Matrix()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Matrix)
}
TexturePacket_Matrix::TexturePacket_Matrix(const TexturePacket_Matrix& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      m_(from.m_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&is2d_, &from.is2d_,
    static_cast<size_t>(reinterpret_cast<char*>(&isid_) -
    reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket.Matrix)
}

void TexturePacket_Matrix::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&is2d_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&isid_) -
      reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
}

TexturePacket_Matrix::~TexturePacket_Matrix() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket.Matrix)
  SharedDtor();
}

void TexturePacket_Matrix::SharedDtor() {
}

void TexturePacket_Matrix::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const TexturePacket_Matrix& TexturePacket_Matrix::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

TexturePacket_Matrix* TexturePacket_Matrix::New(::google::protobuf::Arena* arena) const {
  TexturePacket_Matrix* n = new TexturePacket_Matrix;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TexturePacket_Matrix::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  m_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&is2d_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&isid_) -
        reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool TexturePacket_Matrix::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool is2D = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_is2d();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is2d_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool isId = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_isid();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &isid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated float m = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 1, 29u, input, this->mutable_m())));
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, this->mutable_m())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket.Matrix)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket.Matrix)
  return false;
#undef DO_
}

void TexturePacket_Matrix::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool is2D = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->is2d(), output);
  }

  // optional bool isId = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->isid(), output);
  }

  // repeated float m = 3;
  for (int i = 0, n = this->m_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(
      3, this->m(i), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket.Matrix)
}

size_t TexturePacket_Matrix::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated float m = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->m_size());
    size_t data_size = 4UL * count;
    total_size += 1 *
                  ::google::protobuf::internal::FromIntSize(this->m_size());
    total_size += data_size;
  }

  if (_has_bits_[0 / 32] & 3u) {
    // optional bool is2D = 1;
    if (has_is2d()) {
      total_size += 1 + 1;
    }

    // optional bool isId = 2;
    if (has_isid()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void TexturePacket_Matrix::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const TexturePacket_Matrix*>(&from));
}

void TexturePacket_Matrix::MergeFrom(const TexturePacket_Matrix& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  m_.MergeFrom(from.m_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      is2d_ = from.is2d_;
    }
    if (cached_has_bits & 0x00000002u) {
      isid_ = from.isid_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void TexturePacket_Matrix::CopyFrom(const TexturePacket_Matrix& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.TexturePacket.Matrix)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TexturePacket_Matrix::IsInitialized() const {
  return true;
}

void TexturePacket_Matrix::Swap(TexturePacket_Matrix* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TexturePacket_Matrix::InternalSwap(TexturePacket_Matrix* other) {
  using std::swap;
  m_.InternalSwap(&other->m_);
  swap(is2d_, other->is2d_);
  swap(isid_, other->isid_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string TexturePacket_Matrix::GetTypeName() const {
  return "mozilla.layers.layerscope.TexturePacket.Matrix";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TexturePacket_Matrix

// optional bool is2D = 1;
bool TexturePacket_Matrix::has_is2d() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void TexturePacket_Matrix::set_has_is2d() {
  _has_bits_[0] |= 0x00000001u;
}
void TexturePacket_Matrix::clear_has_is2d() {
  _has_bits_[0] &= ~0x00000001u;
}
void TexturePacket_Matrix::clear_is2d() {
  is2d_ = false;
  clear_has_is2d();
}
bool TexturePacket_Matrix::is2d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.is2D)
  return is2d_;
}
void TexturePacket_Matrix::set_is2d(bool value) {
  set_has_is2d();
  is2d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.is2D)
}

// optional bool isId = 2;
bool TexturePacket_Matrix::has_isid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void TexturePacket_Matrix::set_has_isid() {
  _has_bits_[0] |= 0x00000002u;
}
void TexturePacket_Matrix::clear_has_isid() {
  _has_bits_[0] &= ~0x00000002u;
}
void TexturePacket_Matrix::clear_isid() {
  isid_ = false;
  clear_has_isid();
}
bool TexturePacket_Matrix::isid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.isId)
  return isid_;
}
void TexturePacket_Matrix::set_isid(bool value) {
  set_has_isid();
  isid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.isId)
}

// repeated float m = 3;
int TexturePacket_Matrix::m_size() const {
  return m_.size();
}
void TexturePacket_Matrix::clear_m() {
  m_.Clear();
}
float TexturePacket_Matrix::m(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return m_.Get(index);
}
void TexturePacket_Matrix::set_m(int index, float value) {
  m_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.Matrix.m)
}
void TexturePacket_Matrix::add_m(float value) {
  m_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.TexturePacket.Matrix.m)
}
const ::google::protobuf::RepeatedField< float >&
TexturePacket_Matrix::m() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return m_;
}
::google::protobuf::RepeatedField< float >*
TexturePacket_Matrix::mutable_m() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.TexturePacket.Matrix.m)
  return &m_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TexturePacket_EffectMask::kMIs3DFieldNumber;
const int TexturePacket_EffectMask::kMSizeFieldNumber;
const int TexturePacket_EffectMask::kMMaskTransformFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TexturePacket_EffectMask::TexturePacket_EffectMask()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.EffectMask)
}
TexturePacket_EffectMask::TexturePacket_EffectMask(const TexturePacket_EffectMask& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_msize()) {
    msize_ = new ::mozilla::layers::layerscope::TexturePacket_Size(*from.msize_);
  } else {
    msize_ = NULL;
  }
  if (from.has_mmasktransform()) {
    mmasktransform_ = new ::mozilla::layers::layerscope::TexturePacket_Matrix(*from.mmasktransform_);
  } else {
    mmasktransform_ = NULL;
  }
  mis3d_ = from.mis3d_;
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket.EffectMask)
}

void TexturePacket_EffectMask::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&msize_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&mis3d_) -
      reinterpret_cast<char*>(&msize_)) + sizeof(mis3d_));
}

TexturePacket_EffectMask::~TexturePacket_EffectMask() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket.EffectMask)
  SharedDtor();
}

void TexturePacket_EffectMask::SharedDtor() {
  if (this != internal_default_instance()) delete msize_;
  if (this != internal_default_instance()) delete mmasktransform_;
}

void TexturePacket_EffectMask::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const TexturePacket_EffectMask& TexturePacket_EffectMask::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

TexturePacket_EffectMask* TexturePacket_EffectMask::New(::google::protobuf::Arena* arena) const {
  TexturePacket_EffectMask* n = new TexturePacket_EffectMask;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TexturePacket_EffectMask::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(msize_ != NULL);
      msize_->::mozilla::layers::layerscope::TexturePacket_Size::Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(mmasktransform_ != NULL);
      mmasktransform_->::mozilla::layers::layerscope::TexturePacket_Matrix::Clear();
    }
  }
  mis3d_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool TexturePacket_EffectMask::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool mIs3D = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_mis3d();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &mis3d_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_msize()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_mmasktransform()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket.EffectMask)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket.EffectMask)
  return false;
#undef DO_
}

void TexturePacket_EffectMask::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool mIs3D = 1;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->mis3d(), output);
  }

  // optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->msize_, output);
  }

  // optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->mmasktransform_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket.EffectMask)
}

size_t TexturePacket_EffectMask::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
    if (has_msize()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->msize_);
    }

    // optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
    if (has_mmasktransform()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->mmasktransform_);
    }

    // optional bool mIs3D = 1;
    if (has_mis3d()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void TexturePacket_EffectMask::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const TexturePacket_EffectMask*>(&from));
}

void TexturePacket_EffectMask::MergeFrom(const TexturePacket_EffectMask& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_msize()->::mozilla::layers::layerscope::TexturePacket_Size::MergeFrom(from.msize());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_mmasktransform()->::mozilla::layers::layerscope::TexturePacket_Matrix::MergeFrom(from.mmasktransform());
    }
    if (cached_has_bits & 0x00000004u) {
      mis3d_ = from.mis3d_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void TexturePacket_EffectMask::CopyFrom(const TexturePacket_EffectMask& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.TexturePacket.EffectMask)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TexturePacket_EffectMask::IsInitialized() const {
  return true;
}

void TexturePacket_EffectMask::Swap(TexturePacket_EffectMask* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TexturePacket_EffectMask::InternalSwap(TexturePacket_EffectMask* other) {
  using std::swap;
  swap(msize_, other->msize_);
  swap(mmasktransform_, other->mmasktransform_);
  swap(mis3d_, other->mis3d_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string TexturePacket_EffectMask::GetTypeName() const {
  return "mozilla.layers.layerscope.TexturePacket.EffectMask";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TexturePacket_EffectMask

// optional bool mIs3D = 1;
bool TexturePacket_EffectMask::has_mis3d() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void TexturePacket_EffectMask::set_has_mis3d() {
  _has_bits_[0] |= 0x00000004u;
}
void TexturePacket_EffectMask::clear_has_mis3d() {
  _has_bits_[0] &= ~0x00000004u;
}
void TexturePacket_EffectMask::clear_mis3d() {
  mis3d_ = false;
  clear_has_mis3d();
}
bool TexturePacket_EffectMask::mis3d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mIs3D)
  return mis3d_;
}
void TexturePacket_EffectMask::set_mis3d(bool value) {
  set_has_mis3d();
  mis3d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.EffectMask.mIs3D)
}

// optional .mozilla.layers.layerscope.TexturePacket.Size mSize = 2;
bool TexturePacket_EffectMask::has_msize() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void TexturePacket_EffectMask::set_has_msize() {
  _has_bits_[0] |= 0x00000001u;
}
void TexturePacket_EffectMask::clear_has_msize() {
  _has_bits_[0] &= ~0x00000001u;
}
void TexturePacket_EffectMask::clear_msize() {
  if (msize_ != NULL) msize_->::mozilla::layers::layerscope::TexturePacket_Size::Clear();
  clear_has_msize();
}
const ::mozilla::layers::layerscope::TexturePacket_Size& TexturePacket_EffectMask::msize() const {
  const ::mozilla::layers::layerscope::TexturePacket_Size* p = msize_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Size*>(
      &::mozilla::layers::layerscope::_TexturePacket_Size_default_instance_);
}
::mozilla::layers::layerscope::TexturePacket_Size* TexturePacket_EffectMask::mutable_msize() {
  set_has_msize();
  if (msize_ == NULL) {
    msize_ = new ::mozilla::layers::layerscope::TexturePacket_Size;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  return msize_;
}
::mozilla::layers::layerscope::TexturePacket_Size* TexturePacket_EffectMask::release_msize() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
  clear_has_msize();
  ::mozilla::layers::layerscope::TexturePacket_Size* temp = msize_;
  msize_ = NULL;
  return temp;
}
void TexturePacket_EffectMask::set_allocated_msize(::mozilla::layers::layerscope::TexturePacket_Size* msize) {
  delete msize_;
  msize_ = msize;
  if (msize) {
    set_has_msize();
  } else {
    clear_has_msize();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.EffectMask.mSize)
}

// optional .mozilla.layers.layerscope.TexturePacket.Matrix mMaskTransform = 3;
bool TexturePacket_EffectMask::has_mmasktransform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void TexturePacket_EffectMask::set_has_mmasktransform() {
  _has_bits_[0] |= 0x00000002u;
}
void TexturePacket_EffectMask::clear_has_mmasktransform() {
  _has_bits_[0] &= ~0x00000002u;
}
void TexturePacket_EffectMask::clear_mmasktransform() {
  if (mmasktransform_ != NULL) mmasktransform_->::mozilla::layers::layerscope::TexturePacket_Matrix::Clear();
  clear_has_mmasktransform();
}
const ::mozilla::layers::layerscope::TexturePacket_Matrix& TexturePacket_EffectMask::mmasktransform() const {
  const ::mozilla::layers::layerscope::TexturePacket_Matrix* p = mmasktransform_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Matrix*>(
      &::mozilla::layers::layerscope::_TexturePacket_Matrix_default_instance_);
}
::mozilla::layers::layerscope::TexturePacket_Matrix* TexturePacket_EffectMask::mutable_mmasktransform() {
  set_has_mmasktransform();
  if (mmasktransform_ == NULL) {
    mmasktransform_ = new ::mozilla::layers::layerscope::TexturePacket_Matrix;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  return mmasktransform_;
}
::mozilla::layers::layerscope::TexturePacket_Matrix* TexturePacket_EffectMask::release_mmasktransform() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
  clear_has_mmasktransform();
  ::mozilla::layers::layerscope::TexturePacket_Matrix* temp = mmasktransform_;
  mmasktransform_ = NULL;
  return temp;
}
void TexturePacket_EffectMask::set_allocated_mmasktransform(::mozilla::layers::layerscope::TexturePacket_Matrix* mmasktransform) {
  delete mmasktransform_;
  mmasktransform_ = mmasktransform;
  if (mmasktransform) {
    set_has_mmasktransform();
  } else {
    clear_has_mmasktransform();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.EffectMask.mMaskTransform)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TexturePacket::kLayerrefFieldNumber;
const int TexturePacket::kWidthFieldNumber;
const int TexturePacket::kHeightFieldNumber;
const int TexturePacket::kStrideFieldNumber;
const int TexturePacket::kNameFieldNumber;
const int TexturePacket::kTargetFieldNumber;
const int TexturePacket::kDataformatFieldNumber;
const int TexturePacket::kGlcontextFieldNumber;
const int TexturePacket::kDataFieldNumber;
const int TexturePacket::kMTextureCoordsFieldNumber;
const int TexturePacket::kMPremultipliedFieldNumber;
const int TexturePacket::kMFilterFieldNumber;
const int TexturePacket::kIsMaskFieldNumber;
const int TexturePacket::kMaskFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TexturePacket::TexturePacket()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket)
}
TexturePacket::TexturePacket(const TexturePacket& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_data()) {
    data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
  }
  if (from.has_mtexturecoords()) {
    mtexturecoords_ = new ::mozilla::layers::layerscope::TexturePacket_Rect(*from.mtexturecoords_);
  } else {
    mtexturecoords_ = NULL;
  }
  if (from.has_mask()) {
    mask_ = new ::mozilla::layers::layerscope::TexturePacket_EffectMask(*from.mask_);
  } else {
    mask_ = NULL;
  }
  ::memcpy(&layerref_, &from.layerref_,
    static_cast<size_t>(reinterpret_cast<char*>(&ismask_) -
    reinterpret_cast<char*>(&layerref_)) + sizeof(ismask_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket)
}

void TexturePacket::SharedCtor() {
  _cached_size_ = 0;
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&mtexturecoords_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&ismask_) -
      reinterpret_cast<char*>(&mtexturecoords_)) + sizeof(ismask_));
}

TexturePacket::~TexturePacket() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket)
  SharedDtor();
}

void TexturePacket::SharedDtor() {
  data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete mtexturecoords_;
  if (this != internal_default_instance()) delete mask_;
}

void TexturePacket::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const TexturePacket& TexturePacket::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

TexturePacket* TexturePacket::New(::google::protobuf::Arena* arena) const {
  TexturePacket* n = new TexturePacket;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TexturePacket::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.TexturePacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*data_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(mtexturecoords_ != NULL);
      mtexturecoords_->::mozilla::layers::layerscope::TexturePacket_Rect::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(mask_ != NULL);
      mask_->::mozilla::layers::layerscope::TexturePacket_EffectMask::Clear();
    }
  }
  if (cached_has_bits & 248u) {
    ::memset(&layerref_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&name_) -
        reinterpret_cast<char*>(&layerref_)) + sizeof(name_));
  }
  if (cached_has_bits & 16128u) {
    ::memset(&target_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&ismask_) -
        reinterpret_cast<char*>(&target_)) + sizeof(ismask_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool TexturePacket::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required uint64 layerref = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_layerref();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                 input, &layerref_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 width = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 height = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 stride = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_stride();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &stride_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 name = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_name();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &name_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 target = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_target();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &target_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 dataformat = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
          set_has_dataformat();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &dataformat_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint64 glcontext = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
          set_has_glcontext();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                 input, &glcontext_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes data = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_mtexturecoords()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool mPremultiplied = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(88u /* 88 & 0xFF */)) {
          set_has_mpremultiplied();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &mpremultiplied_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::mozilla::layers::layerscope::TexturePacket_Filter_IsValid(value)) {
            set_mfilter(static_cast< ::mozilla::layers::layerscope::TexturePacket_Filter >(value));
          } else {
            unknown_fields_stream.WriteVarint32(96u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool isMask = 20;
      case 20: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(160u /* 160 & 0xFF */)) {
          set_has_ismask();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &ismask_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
      case 21: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(170u /* 170 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_mask()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket)
  return false;
#undef DO_
}

void TexturePacket::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint64 layerref = 1;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->layerref(), output);
  }

  // optional uint32 width = 2;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->width(), output);
  }

  // optional uint32 height = 3;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
  }

  // optional uint32 stride = 4;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->stride(), output);
  }

  // optional uint32 name = 5;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->name(), output);
  }

  // optional uint32 target = 6;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->target(), output);
  }

  // optional uint32 dataformat = 7;
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->dataformat(), output);
  }

  // optional uint64 glcontext = 8;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt64(8, this->glcontext(), output);
  }

  // optional bytes data = 9;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      9, this->data(), output);
  }

  // optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      10, *this->mtexturecoords_, output);
  }

  // optional bool mPremultiplied = 11;
  if (cached_has_bits & 0x00001000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(11, this->mpremultiplied(), output);
  }

  // optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      12, this->mfilter(), output);
  }

  // optional bool isMask = 20;
  if (cached_has_bits & 0x00002000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(20, this->ismask(), output);
  }

  // optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      21, *this->mask_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket)
}

size_t TexturePacket::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.TexturePacket)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required uint64 layerref = 1;
  if (has_layerref()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::UInt64Size(
        this->layerref());
  }
  if (_has_bits_[0 / 32] & 7u) {
    // optional bytes data = 9;
    if (has_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->data());
    }

    // optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
    if (has_mtexturecoords()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->mtexturecoords_);
    }

    // optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
    if (has_mask()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->mask_);
    }

  }
  if (_has_bits_[0 / 32] & 240u) {
    // optional uint32 width = 2;
    if (has_width()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->width());
    }

    // optional uint32 height = 3;
    if (has_height()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->height());
    }

    // optional uint32 stride = 4;
    if (has_stride()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->stride());
    }

    // optional uint32 name = 5;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->name());
    }

  }
  if (_has_bits_[8 / 32] & 16128u) {
    // optional uint32 target = 6;
    if (has_target()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->target());
    }

    // optional uint32 dataformat = 7;
    if (has_dataformat()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->dataformat());
    }

    // optional uint64 glcontext = 8;
    if (has_glcontext()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt64Size(
          this->glcontext());
    }

    // optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
    if (has_mfilter()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->mfilter());
    }

    // optional bool mPremultiplied = 11;
    if (has_mpremultiplied()) {
      total_size += 1 + 1;
    }

    // optional bool isMask = 20;
    if (has_ismask()) {
      total_size += 2 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void TexturePacket::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const TexturePacket*>(&from));
}

void TexturePacket::MergeFrom(const TexturePacket& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.TexturePacket)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_data();
      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_mtexturecoords()->::mozilla::layers::layerscope::TexturePacket_Rect::MergeFrom(from.mtexturecoords());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_mask()->::mozilla::layers::layerscope::TexturePacket_EffectMask::MergeFrom(from.mask());
    }
    if (cached_has_bits & 0x00000008u) {
      layerref_ = from.layerref_;
    }
    if (cached_has_bits & 0x00000010u) {
      width_ = from.width_;
    }
    if (cached_has_bits & 0x00000020u) {
      height_ = from.height_;
    }
    if (cached_has_bits & 0x00000040u) {
      stride_ = from.stride_;
    }
    if (cached_has_bits & 0x00000080u) {
      name_ = from.name_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 16128u) {
    if (cached_has_bits & 0x00000100u) {
      target_ = from.target_;
    }
    if (cached_has_bits & 0x00000200u) {
      dataformat_ = from.dataformat_;
    }
    if (cached_has_bits & 0x00000400u) {
      glcontext_ = from.glcontext_;
    }
    if (cached_has_bits & 0x00000800u) {
      mfilter_ = from.mfilter_;
    }
    if (cached_has_bits & 0x00001000u) {
      mpremultiplied_ = from.mpremultiplied_;
    }
    if (cached_has_bits & 0x00002000u) {
      ismask_ = from.ismask_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void TexturePacket::CopyFrom(const TexturePacket& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.TexturePacket)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TexturePacket::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000008) != 0x00000008) return false;
  return true;
}

void TexturePacket::Swap(TexturePacket* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TexturePacket::InternalSwap(TexturePacket* other) {
  using std::swap;
  data_.Swap(&other->data_);
  swap(mtexturecoords_, other->mtexturecoords_);
  swap(mask_, other->mask_);
  swap(layerref_, other->layerref_);
  swap(width_, other->width_);
  swap(height_, other->height_);
  swap(stride_, other->stride_);
  swap(name_, other->name_);
  swap(target_, other->target_);
  swap(dataformat_, other->dataformat_);
  swap(glcontext_, other->glcontext_);
  swap(mfilter_, other->mfilter_);
  swap(mpremultiplied_, other->mpremultiplied_);
  swap(ismask_, other->ismask_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string TexturePacket::GetTypeName() const {
  return "mozilla.layers.layerscope.TexturePacket";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TexturePacket

// required uint64 layerref = 1;
bool TexturePacket::has_layerref() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void TexturePacket::set_has_layerref() {
  _has_bits_[0] |= 0x00000008u;
}
void TexturePacket::clear_has_layerref() {
  _has_bits_[0] &= ~0x00000008u;
}
void TexturePacket::clear_layerref() {
  layerref_ = GOOGLE_ULONGLONG(0);
  clear_has_layerref();
}
::google::protobuf::uint64 TexturePacket::layerref() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.layerref)
  return layerref_;
}
void TexturePacket::set_layerref(::google::protobuf::uint64 value) {
  set_has_layerref();
  layerref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.layerref)
}

// optional uint32 width = 2;
bool TexturePacket::has_width() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void TexturePacket::set_has_width() {
  _has_bits_[0] |= 0x00000010u;
}
void TexturePacket::clear_has_width() {
  _has_bits_[0] &= ~0x00000010u;
}
void TexturePacket::clear_width() {
  width_ = 0u;
  clear_has_width();
}
::google::protobuf::uint32 TexturePacket::width() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.width)
  return width_;
}
void TexturePacket::set_width(::google::protobuf::uint32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.width)
}

// optional uint32 height = 3;
bool TexturePacket::has_height() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void TexturePacket::set_has_height() {
  _has_bits_[0] |= 0x00000020u;
}
void TexturePacket::clear_has_height() {
  _has_bits_[0] &= ~0x00000020u;
}
void TexturePacket::clear_height() {
  height_ = 0u;
  clear_has_height();
}
::google::protobuf::uint32 TexturePacket::height() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.height)
  return height_;
}
void TexturePacket::set_height(::google::protobuf::uint32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.height)
}

// optional uint32 stride = 4;
bool TexturePacket::has_stride() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void TexturePacket::set_has_stride() {
  _has_bits_[0] |= 0x00000040u;
}
void TexturePacket::clear_has_stride() {
  _has_bits_[0] &= ~0x00000040u;
}
void TexturePacket::clear_stride() {
  stride_ = 0u;
  clear_has_stride();
}
::google::protobuf::uint32 TexturePacket::stride() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.stride)
  return stride_;
}
void TexturePacket::set_stride(::google::protobuf::uint32 value) {
  set_has_stride();
  stride_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.stride)
}

// optional uint32 name = 5;
bool TexturePacket::has_name() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void TexturePacket::set_has_name() {
  _has_bits_[0] |= 0x00000080u;
}
void TexturePacket::clear_has_name() {
  _has_bits_[0] &= ~0x00000080u;
}
void TexturePacket::clear_name() {
  name_ = 0u;
  clear_has_name();
}
::google::protobuf::uint32 TexturePacket::name() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.name)
  return name_;
}
void TexturePacket::set_name(::google::protobuf::uint32 value) {
  set_has_name();
  name_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.name)
}

// optional uint32 target = 6;
bool TexturePacket::has_target() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
void TexturePacket::set_has_target() {
  _has_bits_[0] |= 0x00000100u;
}
void TexturePacket::clear_has_target() {
  _has_bits_[0] &= ~0x00000100u;
}
void TexturePacket::clear_target() {
  target_ = 0u;
  clear_has_target();
}
::google::protobuf::uint32 TexturePacket::target() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.target)
  return target_;
}
void TexturePacket::set_target(::google::protobuf::uint32 value) {
  set_has_target();
  target_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.target)
}

// optional uint32 dataformat = 7;
bool TexturePacket::has_dataformat() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
void TexturePacket::set_has_dataformat() {
  _has_bits_[0] |= 0x00000200u;
}
void TexturePacket::clear_has_dataformat() {
  _has_bits_[0] &= ~0x00000200u;
}
void TexturePacket::clear_dataformat() {
  dataformat_ = 0u;
  clear_has_dataformat();
}
::google::protobuf::uint32 TexturePacket::dataformat() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.dataformat)
  return dataformat_;
}
void TexturePacket::set_dataformat(::google::protobuf::uint32 value) {
  set_has_dataformat();
  dataformat_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.dataformat)
}

// optional uint64 glcontext = 8;
bool TexturePacket::has_glcontext() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
void TexturePacket::set_has_glcontext() {
  _has_bits_[0] |= 0x00000400u;
}
void TexturePacket::clear_has_glcontext() {
  _has_bits_[0] &= ~0x00000400u;
}
void TexturePacket::clear_glcontext() {
  glcontext_ = GOOGLE_ULONGLONG(0);
  clear_has_glcontext();
}
::google::protobuf::uint64 TexturePacket::glcontext() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.glcontext)
  return glcontext_;
}
void TexturePacket::set_glcontext(::google::protobuf::uint64 value) {
  set_has_glcontext();
  glcontext_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.glcontext)
}

// optional bytes data = 9;
bool TexturePacket::has_data() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void TexturePacket::set_has_data() {
  _has_bits_[0] |= 0x00000001u;
}
void TexturePacket::clear_has_data() {
  _has_bits_[0] &= ~0x00000001u;
}
void TexturePacket::clear_data() {
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_data();
}
const ::std::string& TexturePacket::data() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.data)
  return data_.GetNoArena();
}
void TexturePacket::set_data(const ::std::string& value) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.data)
}
#if LANG_CXX11
void TexturePacket::set_data(::std::string&& value) {
  set_has_data();
  data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.layers.layerscope.TexturePacket.data)
}
#endif
void TexturePacket::set_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.layers.layerscope.TexturePacket.data)
}
void TexturePacket::set_data(const void* value, size_t size) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.layers.layerscope.TexturePacket.data)
}
::std::string* TexturePacket::mutable_data() {
  set_has_data();
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.data)
  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* TexturePacket::release_data() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.data)
  clear_has_data();
  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void TexturePacket::set_allocated_data(::std::string* data) {
  if (data != NULL) {
    set_has_data();
  } else {
    clear_has_data();
  }
  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.data)
}

// optional .mozilla.layers.layerscope.TexturePacket.Rect mTextureCoords = 10;
bool TexturePacket::has_mtexturecoords() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void TexturePacket::set_has_mtexturecoords() {
  _has_bits_[0] |= 0x00000002u;
}
void TexturePacket::clear_has_mtexturecoords() {
  _has_bits_[0] &= ~0x00000002u;
}
void TexturePacket::clear_mtexturecoords() {
  if (mtexturecoords_ != NULL) mtexturecoords_->::mozilla::layers::layerscope::TexturePacket_Rect::Clear();
  clear_has_mtexturecoords();
}
const ::mozilla::layers::layerscope::TexturePacket_Rect& TexturePacket::mtexturecoords() const {
  const ::mozilla::layers::layerscope::TexturePacket_Rect* p = mtexturecoords_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_Rect*>(
      &::mozilla::layers::layerscope::_TexturePacket_Rect_default_instance_);
}
::mozilla::layers::layerscope::TexturePacket_Rect* TexturePacket::mutable_mtexturecoords() {
  set_has_mtexturecoords();
  if (mtexturecoords_ == NULL) {
    mtexturecoords_ = new ::mozilla::layers::layerscope::TexturePacket_Rect;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  return mtexturecoords_;
}
::mozilla::layers::layerscope::TexturePacket_Rect* TexturePacket::release_mtexturecoords() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
  clear_has_mtexturecoords();
  ::mozilla::layers::layerscope::TexturePacket_Rect* temp = mtexturecoords_;
  mtexturecoords_ = NULL;
  return temp;
}
void TexturePacket::set_allocated_mtexturecoords(::mozilla::layers::layerscope::TexturePacket_Rect* mtexturecoords) {
  delete mtexturecoords_;
  mtexturecoords_ = mtexturecoords;
  if (mtexturecoords) {
    set_has_mtexturecoords();
  } else {
    clear_has_mtexturecoords();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.mTextureCoords)
}

// optional bool mPremultiplied = 11;
bool TexturePacket::has_mpremultiplied() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
void TexturePacket::set_has_mpremultiplied() {
  _has_bits_[0] |= 0x00001000u;
}
void TexturePacket::clear_has_mpremultiplied() {
  _has_bits_[0] &= ~0x00001000u;
}
void TexturePacket::clear_mpremultiplied() {
  mpremultiplied_ = false;
  clear_has_mpremultiplied();
}
bool TexturePacket::mpremultiplied() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mPremultiplied)
  return mpremultiplied_;
}
void TexturePacket::set_mpremultiplied(bool value) {
  set_has_mpremultiplied();
  mpremultiplied_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.mPremultiplied)
}

// optional .mozilla.layers.layerscope.TexturePacket.Filter mFilter = 12;
bool TexturePacket::has_mfilter() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
void TexturePacket::set_has_mfilter() {
  _has_bits_[0] |= 0x00000800u;
}
void TexturePacket::clear_has_mfilter() {
  _has_bits_[0] &= ~0x00000800u;
}
void TexturePacket::clear_mfilter() {
  mfilter_ = 0;
  clear_has_mfilter();
}
::mozilla::layers::layerscope::TexturePacket_Filter TexturePacket::mfilter() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mFilter)
  return static_cast< ::mozilla::layers::layerscope::TexturePacket_Filter >(mfilter_);
}
void TexturePacket::set_mfilter(::mozilla::layers::layerscope::TexturePacket_Filter value) {
  assert(::mozilla::layers::layerscope::TexturePacket_Filter_IsValid(value));
  set_has_mfilter();
  mfilter_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.mFilter)
}

// optional bool isMask = 20;
bool TexturePacket::has_ismask() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
void TexturePacket::set_has_ismask() {
  _has_bits_[0] |= 0x00002000u;
}
void TexturePacket::clear_has_ismask() {
  _has_bits_[0] &= ~0x00002000u;
}
void TexturePacket::clear_ismask() {
  ismask_ = false;
  clear_has_ismask();
}
bool TexturePacket::ismask() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.isMask)
  return ismask_;
}
void TexturePacket::set_ismask(bool value) {
  set_has_ismask();
  ismask_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.isMask)
}

// optional .mozilla.layers.layerscope.TexturePacket.EffectMask mask = 21;
bool TexturePacket::has_mask() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void TexturePacket::set_has_mask() {
  _has_bits_[0] |= 0x00000004u;
}
void TexturePacket::clear_has_mask() {
  _has_bits_[0] &= ~0x00000004u;
}
void TexturePacket::clear_mask() {
  if (mask_ != NULL) mask_->::mozilla::layers::layerscope::TexturePacket_EffectMask::Clear();
  clear_has_mask();
}
const ::mozilla::layers::layerscope::TexturePacket_EffectMask& TexturePacket::mask() const {
  const ::mozilla::layers::layerscope::TexturePacket_EffectMask* p = mask_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.mask)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::TexturePacket_EffectMask*>(
      &::mozilla::layers::layerscope::_TexturePacket_EffectMask_default_instance_);
}
::mozilla::layers::layerscope::TexturePacket_EffectMask* TexturePacket::mutable_mask() {
  set_has_mask();
  if (mask_ == NULL) {
    mask_ = new ::mozilla::layers::layerscope::TexturePacket_EffectMask;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.mask)
  return mask_;
}
::mozilla::layers::layerscope::TexturePacket_EffectMask* TexturePacket::release_mask() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.TexturePacket.mask)
  clear_has_mask();
  ::mozilla::layers::layerscope::TexturePacket_EffectMask* temp = mask_;
  mask_ = NULL;
  return temp;
}
void TexturePacket::set_allocated_mask(::mozilla::layers::layerscope::TexturePacket_EffectMask* mask) {
  delete mask_;
  mask_ = mask;
  if (mask) {
    set_has_mask();
  } else {
    clear_has_mask();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.mask)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LayersPacket_Layer_Size::kWFieldNumber;
const int LayersPacket_Layer_Size::kHFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LayersPacket_Layer_Size::LayersPacket_Layer_Size()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
}
LayersPacket_Layer_Size::LayersPacket_Layer_Size(const LayersPacket_Layer_Size& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&w_, &from.w_,
    static_cast<size_t>(reinterpret_cast<char*>(&h_) -
    reinterpret_cast<char*>(&w_)) + sizeof(h_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
}

void LayersPacket_Layer_Size::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&w_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&h_) -
      reinterpret_cast<char*>(&w_)) + sizeof(h_));
}

LayersPacket_Layer_Size::~LayersPacket_Layer_Size() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  SharedDtor();
}

void LayersPacket_Layer_Size::SharedDtor() {
}

void LayersPacket_Layer_Size::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LayersPacket_Layer_Size& LayersPacket_Layer_Size::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

LayersPacket_Layer_Size* LayersPacket_Layer_Size::New(::google::protobuf::Arena* arena) const {
  LayersPacket_Layer_Size* n = new LayersPacket_Layer_Size;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LayersPacket_Layer_Size::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&w_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&h_) -
        reinterpret_cast<char*>(&w_)) + sizeof(h_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LayersPacket_Layer_Size::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 w = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_w();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &w_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 h = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_h();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &h_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  return false;
#undef DO_
}

void LayersPacket_Layer_Size::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 w = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->w(), output);
  }

  // optional int32 h = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->h(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Size)
}

size_t LayersPacket_Layer_Size::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional int32 w = 1;
    if (has_w()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->w());
    }

    // optional int32 h = 2;
    if (has_h()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->h());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LayersPacket_Layer_Size::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Size*>(&from));
}

void LayersPacket_Layer_Size::MergeFrom(const LayersPacket_Layer_Size& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      w_ = from.w_;
    }
    if (cached_has_bits & 0x00000002u) {
      h_ = from.h_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LayersPacket_Layer_Size::CopyFrom(const LayersPacket_Layer_Size& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LayersPacket_Layer_Size::IsInitialized() const {
  return true;
}

void LayersPacket_Layer_Size::Swap(LayersPacket_Layer_Size* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LayersPacket_Layer_Size::InternalSwap(LayersPacket_Layer_Size* other) {
  using std::swap;
  swap(w_, other->w_);
  swap(h_, other->h_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LayersPacket_Layer_Size::GetTypeName() const {
  return "mozilla.layers.layerscope.LayersPacket.Layer.Size";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LayersPacket_Layer_Size

// optional int32 w = 1;
bool LayersPacket_Layer_Size::has_w() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LayersPacket_Layer_Size::set_has_w() {
  _has_bits_[0] |= 0x00000001u;
}
void LayersPacket_Layer_Size::clear_has_w() {
  _has_bits_[0] &= ~0x00000001u;
}
void LayersPacket_Layer_Size::clear_w() {
  w_ = 0;
  clear_has_w();
}
::google::protobuf::int32 LayersPacket_Layer_Size::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
  return w_;
}
void LayersPacket_Layer_Size::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
}

// optional int32 h = 2;
bool LayersPacket_Layer_Size::has_h() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LayersPacket_Layer_Size::set_has_h() {
  _has_bits_[0] |= 0x00000002u;
}
void LayersPacket_Layer_Size::clear_has_h() {
  _has_bits_[0] &= ~0x00000002u;
}
void LayersPacket_Layer_Size::clear_h() {
  h_ = 0;
  clear_has_h();
}
::google::protobuf::int32 LayersPacket_Layer_Size::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
  return h_;
}
void LayersPacket_Layer_Size::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LayersPacket_Layer_Rect::kXFieldNumber;
const int LayersPacket_Layer_Rect::kYFieldNumber;
const int LayersPacket_Layer_Rect::kWFieldNumber;
const int LayersPacket_Layer_Rect::kHFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LayersPacket_Layer_Rect::LayersPacket_Layer_Rect()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
}
LayersPacket_Layer_Rect::LayersPacket_Layer_Rect(const LayersPacket_Layer_Rect& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&x_, &from.x_,
    static_cast<size_t>(reinterpret_cast<char*>(&h_) -
    reinterpret_cast<char*>(&x_)) + sizeof(h_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
}

void LayersPacket_Layer_Rect::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&x_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&h_) -
      reinterpret_cast<char*>(&x_)) + sizeof(h_));
}

LayersPacket_Layer_Rect::~LayersPacket_Layer_Rect() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  SharedDtor();
}

void LayersPacket_Layer_Rect::SharedDtor() {
}

void LayersPacket_Layer_Rect::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LayersPacket_Layer_Rect& LayersPacket_Layer_Rect::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

LayersPacket_Layer_Rect* LayersPacket_Layer_Rect::New(::google::protobuf::Arena* arena) const {
  LayersPacket_Layer_Rect* n = new LayersPacket_Layer_Rect;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LayersPacket_Layer_Rect::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    ::memset(&x_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&h_) -
        reinterpret_cast<char*>(&x_)) + sizeof(h_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LayersPacket_Layer_Rect::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 x = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_x();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &x_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 y = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_y();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &y_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 w = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_w();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &w_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 h = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_h();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &h_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  return false;
#undef DO_
}

void LayersPacket_Layer_Rect::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 x = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->x(), output);
  }

  // optional int32 y = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->y(), output);
  }

  // optional int32 w = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->w(), output);
  }

  // optional int32 h = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->h(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
}

size_t LayersPacket_Layer_Rect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional int32 x = 1;
    if (has_x()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->x());
    }

    // optional int32 y = 2;
    if (has_y()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->y());
    }

    // optional int32 w = 3;
    if (has_w()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->w());
    }

    // optional int32 h = 4;
    if (has_h()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->h());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LayersPacket_Layer_Rect::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Rect*>(&from));
}

void LayersPacket_Layer_Rect::MergeFrom(const LayersPacket_Layer_Rect& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      x_ = from.x_;
    }
    if (cached_has_bits & 0x00000002u) {
      y_ = from.y_;
    }
    if (cached_has_bits & 0x00000004u) {
      w_ = from.w_;
    }
    if (cached_has_bits & 0x00000008u) {
      h_ = from.h_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LayersPacket_Layer_Rect::CopyFrom(const LayersPacket_Layer_Rect& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LayersPacket_Layer_Rect::IsInitialized() const {
  return true;
}

void LayersPacket_Layer_Rect::Swap(LayersPacket_Layer_Rect* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LayersPacket_Layer_Rect::InternalSwap(LayersPacket_Layer_Rect* other) {
  using std::swap;
  swap(x_, other->x_);
  swap(y_, other->y_);
  swap(w_, other->w_);
  swap(h_, other->h_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LayersPacket_Layer_Rect::GetTypeName() const {
  return "mozilla.layers.layerscope.LayersPacket.Layer.Rect";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LayersPacket_Layer_Rect

// optional int32 x = 1;
bool LayersPacket_Layer_Rect::has_x() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LayersPacket_Layer_Rect::set_has_x() {
  _has_bits_[0] |= 0x00000001u;
}
void LayersPacket_Layer_Rect::clear_has_x() {
  _has_bits_[0] &= ~0x00000001u;
}
void LayersPacket_Layer_Rect::clear_x() {
  x_ = 0;
  clear_has_x();
}
::google::protobuf::int32 LayersPacket_Layer_Rect::x() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
  return x_;
}
void LayersPacket_Layer_Rect::set_x(::google::protobuf::int32 value) {
  set_has_x();
  x_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
}

// optional int32 y = 2;
bool LayersPacket_Layer_Rect::has_y() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LayersPacket_Layer_Rect::set_has_y() {
  _has_bits_[0] |= 0x00000002u;
}
void LayersPacket_Layer_Rect::clear_has_y() {
  _has_bits_[0] &= ~0x00000002u;
}
void LayersPacket_Layer_Rect::clear_y() {
  y_ = 0;
  clear_has_y();
}
::google::protobuf::int32 LayersPacket_Layer_Rect::y() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
  return y_;
}
void LayersPacket_Layer_Rect::set_y(::google::protobuf::int32 value) {
  set_has_y();
  y_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
}

// optional int32 w = 3;
bool LayersPacket_Layer_Rect::has_w() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void LayersPacket_Layer_Rect::set_has_w() {
  _has_bits_[0] |= 0x00000004u;
}
void LayersPacket_Layer_Rect::clear_has_w() {
  _has_bits_[0] &= ~0x00000004u;
}
void LayersPacket_Layer_Rect::clear_w() {
  w_ = 0;
  clear_has_w();
}
::google::protobuf::int32 LayersPacket_Layer_Rect::w() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
  return w_;
}
void LayersPacket_Layer_Rect::set_w(::google::protobuf::int32 value) {
  set_has_w();
  w_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
}

// optional int32 h = 4;
bool LayersPacket_Layer_Rect::has_h() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void LayersPacket_Layer_Rect::set_has_h() {
  _has_bits_[0] |= 0x00000008u;
}
void LayersPacket_Layer_Rect::clear_has_h() {
  _has_bits_[0] &= ~0x00000008u;
}
void LayersPacket_Layer_Rect::clear_h() {
  h_ = 0;
  clear_has_h();
}
::google::protobuf::int32 LayersPacket_Layer_Rect::h() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
  return h_;
}
void LayersPacket_Layer_Rect::set_h(::google::protobuf::int32 value) {
  set_has_h();
  h_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LayersPacket_Layer_Region::kRFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LayersPacket_Layer_Region::LayersPacket_Layer_Region()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
}
LayersPacket_Layer_Region::LayersPacket_Layer_Region(const LayersPacket_Layer_Region& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      r_(from.r_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
}

void LayersPacket_Layer_Region::SharedCtor() {
  _cached_size_ = 0;
}

LayersPacket_Layer_Region::~LayersPacket_Layer_Region() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  SharedDtor();
}

void LayersPacket_Layer_Region::SharedDtor() {
}

void LayersPacket_Layer_Region::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LayersPacket_Layer_Region& LayersPacket_Layer_Region::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

LayersPacket_Layer_Region* LayersPacket_Layer_Region::New(::google::protobuf::Arena* arena) const {
  LayersPacket_Layer_Region* n = new LayersPacket_Layer_Region;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LayersPacket_Layer_Region::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  r_.Clear();
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LayersPacket_Layer_Region::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_r()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  return false;
#undef DO_
}

void LayersPacket_Layer_Region::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->r_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, this->r(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Region)
}

size_t LayersPacket_Layer_Region::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
  {
    unsigned int count = static_cast<unsigned int>(this->r_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->r(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LayersPacket_Layer_Region::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Region*>(&from));
}

void LayersPacket_Layer_Region::MergeFrom(const LayersPacket_Layer_Region& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  r_.MergeFrom(from.r_);
}

void LayersPacket_Layer_Region::CopyFrom(const LayersPacket_Layer_Region& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LayersPacket_Layer_Region::IsInitialized() const {
  return true;
}

void LayersPacket_Layer_Region::Swap(LayersPacket_Layer_Region* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LayersPacket_Layer_Region::InternalSwap(LayersPacket_Layer_Region* other) {
  using std::swap;
  r_.InternalSwap(&other->r_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LayersPacket_Layer_Region::GetTypeName() const {
  return "mozilla.layers.layerscope.LayersPacket.Layer.Region";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LayersPacket_Layer_Region

// repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
int LayersPacket_Layer_Region::r_size() const {
  return r_.size();
}
void LayersPacket_Layer_Region::clear_r() {
  r_.Clear();
}
const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Region::r(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Get(index);
}
::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::mutable_r(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Mutable(index);
}
::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::add_r() {
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_.Add();
}
::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >*
LayersPacket_Layer_Region::mutable_r() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return &r_;
}
const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >&
LayersPacket_Layer_Region::r() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
  return r_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LayersPacket_Layer_Matrix::kIs2DFieldNumber;
const int LayersPacket_Layer_Matrix::kIsIdFieldNumber;
const int LayersPacket_Layer_Matrix::kMFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
}
LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix(const LayersPacket_Layer_Matrix& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      m_(from.m_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&is2d_, &from.is2d_,
    static_cast<size_t>(reinterpret_cast<char*>(&isid_) -
    reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
}

void LayersPacket_Layer_Matrix::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&is2d_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&isid_) -
      reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
}

LayersPacket_Layer_Matrix::~LayersPacket_Layer_Matrix() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  SharedDtor();
}

void LayersPacket_Layer_Matrix::SharedDtor() {
}

void LayersPacket_Layer_Matrix::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LayersPacket_Layer_Matrix& LayersPacket_Layer_Matrix::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

LayersPacket_Layer_Matrix* LayersPacket_Layer_Matrix::New(::google::protobuf::Arena* arena) const {
  LayersPacket_Layer_Matrix* n = new LayersPacket_Layer_Matrix;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LayersPacket_Layer_Matrix::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  m_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&is2d_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&isid_) -
        reinterpret_cast<char*>(&is2d_)) + sizeof(isid_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LayersPacket_Layer_Matrix::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool is2D = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_is2d();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is2d_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool isId = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_isid();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &isid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated float m = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 1, 29u, input, this->mutable_m())));
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, this->mutable_m())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  return false;
#undef DO_
}

void LayersPacket_Layer_Matrix::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool is2D = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->is2d(), output);
  }

  // optional bool isId = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->isid(), output);
  }

  // repeated float m = 3;
  for (int i = 0, n = this->m_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(
      3, this->m(i), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
}

size_t LayersPacket_Layer_Matrix::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated float m = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->m_size());
    size_t data_size = 4UL * count;
    total_size += 1 *
                  ::google::protobuf::internal::FromIntSize(this->m_size());
    total_size += data_size;
  }

  if (_has_bits_[0 / 32] & 3u) {
    // optional bool is2D = 1;
    if (has_is2d()) {
      total_size += 1 + 1;
    }

    // optional bool isId = 2;
    if (has_isid()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LayersPacket_Layer_Matrix::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Matrix*>(&from));
}

void LayersPacket_Layer_Matrix::MergeFrom(const LayersPacket_Layer_Matrix& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  m_.MergeFrom(from.m_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      is2d_ = from.is2d_;
    }
    if (cached_has_bits & 0x00000002u) {
      isid_ = from.isid_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LayersPacket_Layer_Matrix::CopyFrom(const LayersPacket_Layer_Matrix& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LayersPacket_Layer_Matrix::IsInitialized() const {
  return true;
}

void LayersPacket_Layer_Matrix::Swap(LayersPacket_Layer_Matrix* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LayersPacket_Layer_Matrix::InternalSwap(LayersPacket_Layer_Matrix* other) {
  using std::swap;
  m_.InternalSwap(&other->m_);
  swap(is2d_, other->is2d_);
  swap(isid_, other->isid_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LayersPacket_Layer_Matrix::GetTypeName() const {
  return "mozilla.layers.layerscope.LayersPacket.Layer.Matrix";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LayersPacket_Layer_Matrix

// optional bool is2D = 1;
bool LayersPacket_Layer_Matrix::has_is2d() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LayersPacket_Layer_Matrix::set_has_is2d() {
  _has_bits_[0] |= 0x00000001u;
}
void LayersPacket_Layer_Matrix::clear_has_is2d() {
  _has_bits_[0] &= ~0x00000001u;
}
void LayersPacket_Layer_Matrix::clear_is2d() {
  is2d_ = false;
  clear_has_is2d();
}
bool LayersPacket_Layer_Matrix::is2d() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
  return is2d_;
}
void LayersPacket_Layer_Matrix::set_is2d(bool value) {
  set_has_is2d();
  is2d_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
}

// optional bool isId = 2;
bool LayersPacket_Layer_Matrix::has_isid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LayersPacket_Layer_Matrix::set_has_isid() {
  _has_bits_[0] |= 0x00000002u;
}
void LayersPacket_Layer_Matrix::clear_has_isid() {
  _has_bits_[0] &= ~0x00000002u;
}
void LayersPacket_Layer_Matrix::clear_isid() {
  isid_ = false;
  clear_has_isid();
}
bool LayersPacket_Layer_Matrix::isid() const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
  return isid_;
}
void LayersPacket_Layer_Matrix::set_isid(bool value) {
  set_has_isid();
  isid_ = value;
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
}

// repeated float m = 3;
int LayersPacket_Layer_Matrix::m_size() const {
  return m_.size();
}
void LayersPacket_Layer_Matrix::clear_m() {
  m_.Clear();
}
float LayersPacket_Layer_Matrix::m(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return m_.Get(index);
}
void LayersPacket_Layer_Matrix::set_m(int index, float value) {
  m_.Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
}
void LayersPacket_Layer_Matrix::add_m(float value) {
  m_.Add(value);
  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
}
const ::google::protobuf::RepeatedField< float >&
LayersPacket_Layer_Matrix::m() const {
  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return m_;
}
::google::protobuf::RepeatedField< float >*
LayersPacket_Layer_Matrix::mutable_m() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
  return &m_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LayersPacket_Layer_Shadow::kClipFieldNumber;
const int LayersPacket_Layer_Shadow::kTransformFieldNumber;
const int LayersPacket_Layer_Shadow::kVRegionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_LayerScopePacket_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
}
LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow(const LayersPacket_Layer_Shadow& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_clip()) {
    clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect(*from.clip_);
  } else {
    clip_ = NULL;
  }
  if (from.has_transform()) {
    transform_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix(*from.transform_);
  } else {
    transform_ = NULL;
  }
  if (from.has_vregion()) {
    vregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region(*from.vregion_);
  } else {
    vregion_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
}

void LayersPacket_Layer_Shadow::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&clip_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&vregion_) -
      reinterpret_cast<char*>(&clip_)) + sizeof(vregion_));
}

LayersPacket_Layer_Shadow::~LayersPacket_Layer_Shadow() {
  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  SharedDtor();
}

void LayersPacket_Layer_Shadow::SharedDtor() {
  if (this != internal_default_instance()) delete clip_;
  if (this != internal_default_instance()) delete transform_;
  if (this != internal_default_instance()) delete vregion_;
}

void LayersPacket_Layer_Shadow::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LayersPacket_Layer_Shadow& LayersPacket_Layer_Shadow::default_instance() {
  protobuf_LayerScopePacket_2eproto::InitDefaults();
  return *internal_default_instance();
}

LayersPacket_Layer_Shadow* LayersPacket_Layer_Shadow::New(::google::protobuf::Arena* arena) const {
  LayersPacket_Layer_Shadow* n = new LayersPacket_Layer_Shadow;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LayersPacket_Layer_Shadow::Clear() {
// @@protoc_insertion_point(message_clear_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(clip_ != NULL);
      clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(transform_ != NULL);
      transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(vregion_ != NULL);
      vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LayersPacket_Layer_Shadow::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_clip()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_transform()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_vregion()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  return false;
#undef DO_
}

void LayersPacket_Layer_Shadow::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->clip_, output);
  }

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->transform_, output);
  }

  // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->vregion_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
}

size_t LayersPacket_Layer_Shadow::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
    if (has_clip()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->clip_);
    }

    // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
    if (has_transform()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->transform_);
    }

    // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
    if (has_vregion()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->vregion_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LayersPacket_Layer_Shadow::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Shadow*>(&from));
}

void LayersPacket_Layer_Shadow::MergeFrom(const LayersPacket_Layer_Shadow& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_clip()->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::MergeFrom(from.clip());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_transform()->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::MergeFrom(from.transform());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_vregion()->::mozilla::layers::layerscope::LayersPacket_Layer_Region::MergeFrom(from.vregion());
    }
  }
}

void LayersPacket_Layer_Shadow::CopyFrom(const LayersPacket_Layer_Shadow& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LayersPacket_Layer_Shadow::IsInitialized() const {
  return true;
}

void LayersPacket_Layer_Shadow::Swap(LayersPacket_Layer_Shadow* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LayersPacket_Layer_Shadow::InternalSwap(LayersPacket_Layer_Shadow* other) {
  using std::swap;
  swap(clip_, other->clip_);
  swap(transform_, other->transform_);
  swap(vregion_, other->vregion_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LayersPacket_Layer_Shadow::GetTypeName() const {
  return "mozilla.layers.layerscope.LayersPacket.Layer.Shadow";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LayersPacket_Layer_Shadow

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
bool LayersPacket_Layer_Shadow::has_clip() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LayersPacket_Layer_Shadow::set_has_clip() {
  _has_bits_[0] |= 0x00000001u;
}
void LayersPacket_Layer_Shadow::clear_has_clip() {
  _has_bits_[0] &= ~0x00000001u;
}
void LayersPacket_Layer_Shadow::clear_clip() {
  if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
  clear_has_clip();
}
const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Shadow::clip() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* p = clip_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
      &::mozilla::layers::layerscope::_LayersPacket_Layer_Rect_default_instance_);
}
::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::mutable_clip() {
  set_has_clip();
  if (clip_ == NULL) {
    clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  return clip_;
}
::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::release_clip() {
  // @@protoc_insertion_point(field_release:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
  clear_has_clip();
  ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* temp = clip_;
  clip_ = NULL;
  return temp;
}
void LayersPacket_Layer_Shadow::set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip) {
  delete clip_;
  clip_ = clip;
  if (clip) {
    set_has_clip();
  } else {
    clear_has_clip();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
}

// optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
bool LayersPacket_Layer_Shadow::has_transform() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LayersPacket_Layer_Shadow::set_has_transform() {
  _has_bits_[0] |= 0x00000002u;
}
void LayersPacket_Layer_Shadow::clear_has_transform() {
  _has_bits_[0] &= ~0x00000002u;
}
void LayersPacket_Layer_Shadow::clear_transform() {
  if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
  clear_has_transform();
}
const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& LayersPacket_Layer_Shadow::transform() const {
  const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* p = transform_;
  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
  return p != NULL ? *p : *reinterpret_cast<const ::