mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
341383c413
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions. Authors: gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical gfx/layers/d3d* - D3D9/D3D10 - bas gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas gfx/layers/composite/* - CompositeLayers - nrc,nical gfx/layers/client/* - Client - nrc,nical,bas gfx/layers/*Image* - nical gfx/layers/ipc ipc - IPC - nical gfx/layers/opengl - CompositorOGL - nrc,nical gfx/2d - bas,nrc gfx/gl - GLContext - bjacob dom/* layout/* - DOM - mattwoodrow
100 lines
2.3 KiB
Plaintext
100 lines
2.3 KiB
Plaintext
/* 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;
|
|
using mozilla::gl::SharedTextureHandle;
|
|
using mozilla::gl::GLContext::SharedTextureShareType;
|
|
using mozilla::gfx::SurfaceStreamHandle;
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
union MaybeMagicGrallocBufferHandle {
|
|
MagicGrallocBufferHandle;
|
|
null_t;
|
|
};
|
|
|
|
struct SurfaceDescriptorD3D10 {
|
|
WindowsHandle handle;
|
|
bool hasAlpha;
|
|
};
|
|
|
|
struct SharedTextureDescriptor {
|
|
SharedTextureShareType shareType;
|
|
SharedTextureHandle handle;
|
|
nsIntSize size;
|
|
bool inverted;
|
|
};
|
|
|
|
struct SurfaceDescriptorGralloc {
|
|
PGrallocBuffer buffer;
|
|
/**
|
|
* android::GraphicBuffer has a size information. But there are cases
|
|
* that GraphicBuffer's size and actual video's size are different.
|
|
* Extra size member is necessary. See Bug 850566.
|
|
*/
|
|
nsIntSize size;
|
|
|
|
/**
|
|
* We can have one source producing gralloc buffers and sharing them
|
|
* with another source that may also produce its own gralloc buffers.
|
|
* This happens for camera preview buffers sent to video code. When
|
|
* that happens, the producer can mark the buffer as "external" to
|
|
* prevent its consumer from mistakenly freeing the buffer.
|
|
*/
|
|
bool external;
|
|
};
|
|
|
|
struct SurfaceStreamDescriptor {
|
|
SurfaceStreamHandle handle;
|
|
bool yflip;
|
|
};
|
|
|
|
struct YCbCrImage {
|
|
Shmem data;
|
|
size_t offset;
|
|
uint64_t owner;
|
|
};
|
|
|
|
// XXX remove RGBImage (see bug 847914)
|
|
struct RGBImage {
|
|
Shmem data;
|
|
nsIntRect picture;
|
|
uint32_t rgbFormat;
|
|
uint64_t owner;
|
|
};
|
|
|
|
union SurfaceDescriptor {
|
|
Shmem;
|
|
SurfaceDescriptorD3D10;
|
|
SurfaceDescriptorGralloc;
|
|
SurfaceDescriptorX11;
|
|
YCbCrImage;
|
|
RGBImage;
|
|
SharedTextureDescriptor;
|
|
SurfaceStreamDescriptor;
|
|
null_t;
|
|
};
|
|
|
|
} // namespace
|
|
} // namespace
|