DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (b6d82b1a6b02)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
/* 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/. */

using struct gfxPoint from "gfxPoint.h";
using nsIntRegion from "nsRegion.h";
using struct mozilla::layers::SurfaceDescriptorX11 from "gfxipc/ShadowLayerUtils.h";
using mozilla::StereoMode from "ImageTypes.h";
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
using mozilla::WindowsHandle from "ipc/IPCMessageUtils.h";
using mozilla::gfx::YUVColorSpace from "mozilla/gfx/Types.h";
using mozilla::gfx::ColorDepth from "mozilla/gfx/Types.h";
using mozilla::gfx::ColorRange from "mozilla/gfx/Types.h";
using mozilla::gfx::SurfaceFormat from "mozilla/gfx/Types.h";
using mozilla::gfx::IntRect from "mozilla/gfx/Rect.h";
using mozilla::gfx::IntSize from "mozilla/gfx/Point.h";
using mozilla::ipc::SharedMemoryBasic::Handle from "mozilla/ipc/SharedMemoryBasic.h";
using gfxImageFormat from "gfxTypes.h";

namespace mozilla {
namespace layers {

struct SurfaceDescriptorFileMapping {
  WindowsHandle handle;
  SurfaceFormat format;
  IntSize size;
};

struct SurfaceDescriptorDIB {
  // gfxWindowsSurface*
  uintptr_t surface;
};

struct SurfaceDescriptorD3D10 {
  WindowsHandle handle;
  SurfaceFormat format;
  IntSize size;
  YUVColorSpace yUVColorSpace;
  ColorRange colorRange;
};

struct SurfaceDescriptorDXGIYCbCr {
  WindowsHandle handleY;
  WindowsHandle handleCb;
  WindowsHandle handleCr;
  IntSize size;
  IntSize sizeY;
  IntSize sizeCbCr;
  ColorDepth colorDepth;
  YUVColorSpace yUVColorSpace;
  ColorRange colorRange;
};

struct SurfaceDescriptorMacIOSurface {
  uint32_t surfaceId;
  double scaleFactor;
  bool isOpaque;
  YUVColorSpace yUVColorSpace;
};

struct SurfaceDescriptorDMABuf {
  uint32_t width;
  uint32_t height;
  uint32_t format;
  uint32_t flags;
  FileDescriptor fd;
  uint32_t stride;
  uint32_t offset;
};

struct SurfaceTextureDescriptor {
  uint64_t handle;
  IntSize size;
  SurfaceFormat format;
  bool continuous;
  bool ignoreTransform;
};

struct EGLImageDescriptor {
  uintptr_t image; // `EGLImage` is a `void*`.
  uintptr_t fence;
  IntSize size;
  bool hasAlpha;
};

struct SurfaceDescriptorSharedGLTexture {
  uint32_t texture;
  uint32_t target;
  uintptr_t fence;
  IntSize size;
  bool hasAlpha;
};


union GPUVideoSubDescriptor {
  SurfaceDescriptorD3D10;
  SurfaceDescriptorDXGIYCbCr;
  null_t;
};

struct SurfaceDescriptorGPUVideo {
  uint64_t handle;
  GPUVideoSubDescriptor subdesc;
};

struct RGBDescriptor {
  IntSize size;
  SurfaceFormat format;
  bool hasIntermediateBuffer;
};

struct YCbCrDescriptor {
  IntSize ySize;
  uint32_t yStride;
  IntSize cbCrSize;
  uint32_t cbCrStride;
  uint32_t yOffset;
  uint32_t cbOffset;
  uint32_t crOffset;
  StereoMode stereoMode;
  ColorDepth colorDepth;
  YUVColorSpace yUVColorSpace;
  ColorRange colorRange;
  bool hasIntermediateBuffer;
};

union BufferDescriptor {
  RGBDescriptor;
  YCbCrDescriptor;
};

union MemoryOrShmem {
  uintptr_t;
  Shmem;
};

struct SurfaceDescriptorBuffer {
  BufferDescriptor desc;
  MemoryOrShmem data;
};

struct SurfaceDescriptorShared
{
  IntSize size;
  int32_t stride;
  SurfaceFormat format;
  Handle handle;
};

struct SurfaceDescriptorRecorded {
  uintptr_t drawTarget;
};

union SurfaceDescriptor {
  SurfaceDescriptorBuffer;
  SurfaceDescriptorDIB;
  SurfaceDescriptorD3D10;
  SurfaceDescriptorFileMapping;
  SurfaceDescriptorDXGIYCbCr;
  SurfaceDescriptorX11;
  SurfaceDescriptorDMABuf;
  SurfaceTextureDescriptor;
  EGLImageDescriptor;
  SurfaceDescriptorMacIOSurface;
  SurfaceDescriptorSharedGLTexture;
  SurfaceDescriptorGPUVideo;
  SurfaceDescriptorRecorded;
  null_t;
};

} // namespace
} // namespace