2012-07-13 23:38:09 +04: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/. */
|
|
|
|
|
2013-10-01 23:25:07 +04:00
|
|
|
using struct gfxPoint from "gfxPoint.h";
|
|
|
|
using nsIntRegion from "nsRegion.h";
|
|
|
|
using struct mozilla::layers::SurfaceDescriptorX11 from "gfxipc/ShadowLayerUtils.h";
|
2015-12-16 21:50:58 +03:00
|
|
|
using mozilla::StereoMode from "ImageTypes.h";
|
2013-10-01 23:25:07 +04:00
|
|
|
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
|
|
|
|
using mozilla::WindowsHandle from "ipc/IPCMessageUtils.h";
|
2019-04-11 15:41:33 +03:00
|
|
|
using mozilla::gfx::YUVColorSpace from "mozilla/gfx/Types.h";
|
2018-09-25 23:44:55 +03:00
|
|
|
using mozilla::gfx::ColorDepth from "mozilla/gfx/Types.h";
|
2019-07-26 11:45:31 +03:00
|
|
|
using mozilla::gfx::ColorRange from "mozilla/gfx/Types.h";
|
2013-10-01 23:25:07 +04:00
|
|
|
using mozilla::gfx::SurfaceFormat from "mozilla/gfx/Types.h";
|
2015-04-21 18:04:57 +03:00
|
|
|
using mozilla::gfx::IntRect from "mozilla/gfx/Rect.h";
|
2013-10-01 23:25:07 +04:00
|
|
|
using mozilla::gfx::IntSize from "mozilla/gfx/Point.h";
|
2017-10-30 20:10:29 +03:00
|
|
|
using mozilla::ipc::SharedMemoryBasic::Handle from "mozilla/ipc/SharedMemoryBasic.h";
|
2014-01-23 22:26:40 +04:00
|
|
|
using gfxImageFormat from "gfxTypes.h";
|
2012-07-13 23:38:09 +04:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace layers {
|
|
|
|
|
2015-05-22 18:54:24 +03:00
|
|
|
struct SurfaceDescriptorFileMapping {
|
|
|
|
WindowsHandle handle;
|
|
|
|
SurfaceFormat format;
|
|
|
|
IntSize size;
|
|
|
|
};
|
|
|
|
|
2013-09-24 05:14:11 +04:00
|
|
|
struct SurfaceDescriptorDIB {
|
|
|
|
// gfxWindowsSurface*
|
|
|
|
uintptr_t surface;
|
|
|
|
};
|
|
|
|
|
2012-07-13 23:38:09 +04:00
|
|
|
struct SurfaceDescriptorD3D10 {
|
|
|
|
WindowsHandle handle;
|
2014-01-07 20:20:11 +04:00
|
|
|
SurfaceFormat format;
|
2014-04-07 07:23:06 +04:00
|
|
|
IntSize size;
|
2019-04-11 15:38:49 +03:00
|
|
|
YUVColorSpace yUVColorSpace;
|
2019-07-26 11:45:30 +03:00
|
|
|
ColorRange colorRange;
|
2012-07-13 23:38:09 +04:00
|
|
|
};
|
|
|
|
|
2015-03-19 00:17:13 +03:00
|
|
|
struct SurfaceDescriptorDXGIYCbCr {
|
|
|
|
WindowsHandle handleY;
|
|
|
|
WindowsHandle handleCb;
|
|
|
|
WindowsHandle handleCr;
|
|
|
|
IntSize size;
|
2015-03-23 05:13:56 +03:00
|
|
|
IntSize sizeY;
|
|
|
|
IntSize sizeCbCr;
|
2018-09-25 23:44:55 +03:00
|
|
|
ColorDepth colorDepth;
|
2017-11-10 12:15:54 +03:00
|
|
|
YUVColorSpace yUVColorSpace;
|
2019-07-26 11:45:30 +03:00
|
|
|
ColorRange colorRange;
|
2015-03-19 00:17:13 +03:00
|
|
|
};
|
|
|
|
|
2013-11-01 05:54:14 +04:00
|
|
|
struct SurfaceDescriptorMacIOSurface {
|
2015-06-05 03:15:38 +03:00
|
|
|
uint32_t surfaceId;
|
2013-11-01 05:54:14 +04:00
|
|
|
double scaleFactor;
|
2014-10-30 05:32:41 +03:00
|
|
|
bool isOpaque;
|
2019-04-11 15:36:31 +03:00
|
|
|
YUVColorSpace yUVColorSpace;
|
2013-11-01 05:54:14 +04:00
|
|
|
};
|
|
|
|
|
2019-08-28 05:13:03 +03:00
|
|
|
struct SurfaceDescriptorDMABuf {
|
|
|
|
uint32_t width;
|
|
|
|
uint32_t height;
|
|
|
|
uint32_t format;
|
|
|
|
uint32_t flags;
|
|
|
|
FileDescriptor fd;
|
|
|
|
uint32_t stride;
|
|
|
|
uint32_t offset;
|
|
|
|
};
|
|
|
|
|
2014-09-17 17:13:29 +04:00
|
|
|
struct SurfaceTextureDescriptor {
|
2017-03-04 00:14:27 +03:00
|
|
|
uint64_t handle;
|
2014-09-17 17:13:29 +04:00
|
|
|
IntSize size;
|
2017-10-28 13:59:58 +03:00
|
|
|
SurfaceFormat format;
|
2017-03-10 02:50:21 +03:00
|
|
|
bool continuous;
|
2017-10-28 13:59:58 +03:00
|
|
|
bool ignoreTransform;
|
2014-09-17 17:13:29 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
struct EGLImageDescriptor {
|
|
|
|
uintptr_t image; // `EGLImage` is a `void*`.
|
2014-11-27 00:16:07 +03:00
|
|
|
uintptr_t fence;
|
2013-12-13 21:32:02 +04:00
|
|
|
IntSize size;
|
2015-06-05 03:15:38 +03:00
|
|
|
bool hasAlpha;
|
2012-06-01 05:30:08 +04:00
|
|
|
};
|
|
|
|
|
2015-09-24 17:11:53 +03:00
|
|
|
struct SurfaceDescriptorSharedGLTexture {
|
|
|
|
uint32_t texture;
|
|
|
|
uint32_t target;
|
|
|
|
uintptr_t fence;
|
|
|
|
IntSize size;
|
|
|
|
bool hasAlpha;
|
|
|
|
};
|
|
|
|
|
2017-04-12 08:58:47 +03:00
|
|
|
|
|
|
|
union GPUVideoSubDescriptor {
|
|
|
|
SurfaceDescriptorD3D10;
|
|
|
|
SurfaceDescriptorDXGIYCbCr;
|
|
|
|
null_t;
|
|
|
|
};
|
|
|
|
|
2016-09-21 12:24:44 +03:00
|
|
|
struct SurfaceDescriptorGPUVideo {
|
|
|
|
uint64_t handle;
|
2017-07-18 05:17:41 +03:00
|
|
|
GPUVideoSubDescriptor subdesc;
|
2016-09-21 12:24:44 +03:00
|
|
|
};
|
|
|
|
|
2015-12-16 21:50:58 +03:00
|
|
|
struct RGBDescriptor {
|
|
|
|
IntSize size;
|
2013-07-30 13:59:51 +04:00
|
|
|
SurfaceFormat format;
|
2016-02-25 16:15:58 +03:00
|
|
|
bool hasIntermediateBuffer;
|
2013-07-30 13:59:51 +04:00
|
|
|
};
|
|
|
|
|
2015-12-16 21:50:58 +03:00
|
|
|
struct YCbCrDescriptor {
|
|
|
|
IntSize ySize;
|
2017-09-29 17:37:56 +03:00
|
|
|
uint32_t yStride;
|
2015-12-16 21:50:58 +03:00
|
|
|
IntSize cbCrSize;
|
2017-09-29 17:37:56 +03:00
|
|
|
uint32_t cbCrStride;
|
2015-12-16 21:50:58 +03:00
|
|
|
uint32_t yOffset;
|
|
|
|
uint32_t cbOffset;
|
|
|
|
uint32_t crOffset;
|
|
|
|
StereoMode stereoMode;
|
2018-09-25 23:44:55 +03:00
|
|
|
ColorDepth colorDepth;
|
2016-10-12 05:46:28 +03:00
|
|
|
YUVColorSpace yUVColorSpace;
|
2019-07-26 11:45:31 +03:00
|
|
|
ColorRange colorRange;
|
2016-07-09 04:59:59 +03:00
|
|
|
bool hasIntermediateBuffer;
|
2015-12-16 21:50:58 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
union BufferDescriptor {
|
|
|
|
RGBDescriptor;
|
|
|
|
YCbCrDescriptor;
|
|
|
|
};
|
|
|
|
|
|
|
|
union MemoryOrShmem {
|
|
|
|
uintptr_t;
|
|
|
|
Shmem;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SurfaceDescriptorBuffer {
|
|
|
|
BufferDescriptor desc;
|
|
|
|
MemoryOrShmem data;
|
2013-07-30 13:59:51 +04:00
|
|
|
};
|
|
|
|
|
2017-10-30 20:10:29 +03:00
|
|
|
struct SurfaceDescriptorShared
|
|
|
|
{
|
|
|
|
IntSize size;
|
|
|
|
int32_t stride;
|
|
|
|
SurfaceFormat format;
|
|
|
|
Handle handle;
|
|
|
|
};
|
|
|
|
|
2018-12-02 17:19:11 +03:00
|
|
|
struct SurfaceDescriptorRecorded {
|
|
|
|
uintptr_t drawTarget;
|
|
|
|
};
|
|
|
|
|
Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
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
2013-04-10 13:20:52 +04:00
|
|
|
union SurfaceDescriptor {
|
2015-12-16 21:50:58 +03:00
|
|
|
SurfaceDescriptorBuffer;
|
2013-09-24 05:14:11 +04:00
|
|
|
SurfaceDescriptorDIB;
|
Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
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
2013-04-10 13:20:52 +04:00
|
|
|
SurfaceDescriptorD3D10;
|
2015-05-22 18:54:24 +03:00
|
|
|
SurfaceDescriptorFileMapping;
|
2015-03-19 00:17:13 +03:00
|
|
|
SurfaceDescriptorDXGIYCbCr;
|
Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
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
2013-04-10 13:20:52 +04:00
|
|
|
SurfaceDescriptorX11;
|
2019-08-28 05:13:03 +03:00
|
|
|
SurfaceDescriptorDMABuf;
|
2014-09-17 17:13:29 +04:00
|
|
|
SurfaceTextureDescriptor;
|
|
|
|
EGLImageDescriptor;
|
2013-11-01 05:54:14 +04:00
|
|
|
SurfaceDescriptorMacIOSurface;
|
2015-09-24 17:11:53 +03:00
|
|
|
SurfaceDescriptorSharedGLTexture;
|
2016-09-21 12:24:44 +03:00
|
|
|
SurfaceDescriptorGPUVideo;
|
2018-12-02 17:19:11 +03:00
|
|
|
SurfaceDescriptorRecorded;
|
2012-07-13 23:38:09 +04:00
|
|
|
null_t;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
} // namespace
|