2012-07-13 12:38:09 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
include protocol PGrallocBuffer;
|
|
|
|
|
|
|
|
include "gfxipc/ShadowLayerUtils.h";
|
|
|
|
|
|
|
|
using gfx3DMatrix;
|
|
|
|
using gfxIntSize;
|
|
|
|
using gfxPoint;
|
|
|
|
using gfxRGBA;
|
|
|
|
using nsIntPoint;
|
|
|
|
using nsIntRect;
|
|
|
|
using nsIntRegion;
|
|
|
|
using nsIntSize;
|
|
|
|
using mozilla::gfxContentType;
|
|
|
|
using mozilla::GraphicsFilterType;
|
|
|
|
using mozilla::layers::FrameMetrics;
|
|
|
|
using mozilla::layers::MagicGrallocBufferHandle;
|
|
|
|
using mozilla::layers::SurfaceDescriptorX11;
|
|
|
|
using mozilla::null_t;
|
|
|
|
using mozilla::WindowsHandle;
|
2012-05-31 18:30:08 -07:00
|
|
|
using mozilla::gl::SharedTextureHandle;
|
|
|
|
using mozilla::gl::TextureImage::TextureShareType;
|
2012-07-13 12:38:09 -07:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace layers {
|
|
|
|
|
|
|
|
union MaybeMagicGrallocBufferHandle {
|
|
|
|
MagicGrallocBufferHandle;
|
|
|
|
null_t;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SurfaceDescriptorD3D10 {
|
|
|
|
WindowsHandle handle;
|
|
|
|
};
|
|
|
|
|
2012-05-31 18:30:08 -07:00
|
|
|
struct SharedTextureDescriptor {
|
|
|
|
TextureShareType shareType;
|
|
|
|
SharedTextureHandle handle;
|
|
|
|
nsIntSize size;
|
2012-07-20 12:20:51 -07:00
|
|
|
bool inverted;
|
2012-05-31 18:30:08 -07:00
|
|
|
};
|
|
|
|
|
2012-07-13 12:38:09 -07:00
|
|
|
struct SurfaceDescriptorGralloc {
|
|
|
|
PGrallocBuffer buffer;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SharedImageID {
|
|
|
|
PRUint64 id;
|
|
|
|
};
|
|
|
|
|
|
|
|
union SurfaceDescriptor {
|
|
|
|
Shmem;
|
|
|
|
SurfaceDescriptorD3D10;
|
|
|
|
SurfaceDescriptorGralloc;
|
|
|
|
SurfaceDescriptorX11;
|
2012-05-31 18:30:08 -07:00
|
|
|
SharedTextureDescriptor;
|
2012-07-13 12:38:09 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct YUVImage {
|
|
|
|
Shmem Ydata;
|
|
|
|
Shmem Udata;
|
|
|
|
Shmem Vdata;
|
|
|
|
nsIntRect picture;
|
|
|
|
};
|
|
|
|
|
|
|
|
union SharedImage {
|
|
|
|
SurfaceDescriptor;
|
|
|
|
YUVImage;
|
|
|
|
SharedImageID;
|
|
|
|
null_t;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
} // namespace
|