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.

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 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
/* 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";
using mozilla::layers::MaybeVideoBridgeSource from "mozilla/layers/VideoBridgeUtils.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;
  uint64_t modifier;
  uint32_t flags;
  uint32_t numFds;
  FileDescriptor[] fds;
  uint32_t[] strides;
  uint32_t[] offsets;
};

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 RemoteDecoderVideoSubDescriptor {
  SurfaceDescriptorD3D10;
  SurfaceDescriptorDXGIYCbCr;
  null_t;
};

struct SurfaceDescriptorRemoteDecoder {
  uint64_t handle;
  RemoteDecoderVideoSubDescriptor subdesc;
  MaybeVideoBridgeSource source;
};

struct SurfaceDescriptorPlugin {
  uint64_t id;
  SurfaceDescriptorD3D10 pluginSurf;
  SurfaceDescriptorD3D10 displaySurf;
};

union SurfaceDescriptorGPUVideo {
  SurfaceDescriptorRemoteDecoder;
  SurfaceDescriptorPlugin;
};

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