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 (409f3966645a)

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
/* 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 mozilla::YUVColorSpace from "ImageTypes.h";
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
using mozilla::WindowsHandle from "ipc/IPCMessageUtils.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 {

union OverlayHandle {
  int32_t;
  null_t;
};

struct OverlaySource {
  OverlayHandle handle;
  IntSize size;
};

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

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

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

struct SurfaceDescriptorDXGIYCbCr {
  WindowsHandle handleY;
  WindowsHandle handleCb;
  WindowsHandle handleCr;
  IntSize size;
  IntSize sizeY;
  IntSize sizeCbCr;
  YUVColorSpace yUVColorSpace;
};

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

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;
  YUVColorSpace yUVColorSpace;
  uint32_t bitDepth;
  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;
};

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

} // namespace
} // namespace