Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/gfx/layers/ipc/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 6 kB image not shown  

Quelle  LayersSurfaces.ipdlh   Sprache: unbekannt

 
/* 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 "gfxipc/ShadowLayerUtils.h";
include "mozilla/GfxMessageUtils.h";
include "mozilla/layers/LayersMessageUtils.h";
include "mozilla/layers/WebRenderMessageUtils.h";

using gfxPoint from "gfxPoint.h";
using nsIntRegion from "nsRegion.h";
using mozilla::StereoMode from "ImageTypes.h";
using struct mozilla::null_t from "mozilla/ipc/IPCCore.h";
using mozilla::WindowsHandle from "mozilla/ipc/IPCTypes.h";
using mozilla::gfx::YUVColorSpace from "mozilla/gfx/Types.h";
using mozilla::gfx::ChromaSubsampling 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::ColorSpace2 from "mozilla/gfx/Types.h";
using mozilla::gfx::TransferFunction 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::gfx::Matrix4x4 from "mozilla/gfx/Matrix.h";
using mozilla::gfx::FenceInfo from "mozilla/gfx/FileHandleWrapper.h";
[RefCounted] using mozilla::gfx::FileHandleWrapper from "mozilla/gfx/FileHandleWrapper.h";
[MoveOnly] using mozilla::ipc::SharedMemory::Handle from "mozilla/ipc/SharedMemory.h";
using gfxImageFormat from "gfxTypes.h";
using mozilla::layers::MaybeVideoBridgeSource from "mozilla/layers/VideoBridgeUtils.h";
using mozilla::layers::RemoteTextureId from "mozilla/layers/LayersTypes.h";
using mozilla::layers::RemoteTextureOwnerId from "mozilla/layers/LayersTypes.h";
[RefCounted] using mozilla::layers::GpuFence from "mozilla/layers/GpuFence.h";
using mozilla::layers::GpuProcessTextureId from "mozilla/layers/LayersTypes.h";
using mozilla::layers::GpuProcessQueryId from "mozilla/layers/LayersTypes.h";
using mozilla::wr::ExternalImageSource from "mozilla/webrender/WebRenderTypes.h";
using mozilla::wr::ExternalImageId from "mozilla/webrender/WebRenderTypes.h";
using mozilla::layers::SurfaceDescriptorRemoteDecoderId from "mozilla/layers/LayersTypes.h";

namespace mozilla {
namespace layers {

[Comparable] struct SurfaceDescriptorD3D10 {
  nullable FileHandleWrapper handle;
  GpuProcessTextureId? gpuProcessTextureId;
  uint32_t arrayIndex;
  SurfaceFormat format;
  IntSize size;
  ColorSpace2 colorSpace;
  ColorRange colorRange;
  bool hasKeyedMutex;
  FenceInfo? fenceInfo;
  GpuProcessQueryId? gpuProcessQueryId;
};

[Comparable] struct SurfaceDescriptorDXGIYCbCr {
  nullable FileHandleWrapper handleY;
  nullable FileHandleWrapper handleCb;
  nullable FileHandleWrapper handleCr;
  IntSize size;
  IntSize sizeY;
  IntSize sizeCbCr;
  ColorDepth colorDepth;
  YUVColorSpace yUVColorSpace;
  ColorRange colorRange;
};

[Comparable] struct SurfaceDescriptorMacIOSurface {
  uint32_t surfaceId;
  bool isOpaque;
  YUVColorSpace yUVColorSpace;
  nullable GpuFence gpuFence;
};

[Comparable] struct SurfaceDescriptorDMABuf {
  uint32_t bufferType;
  uint32_t fourccFormat;
  uint64_t[] modifier;
  uint32_t flags;
  FileHandleWrapper[] fds;
  uint32_t[] width;
  uint32_t[] height;
  uint32_t[] widthAligned;
  uint32_t[] heightAligned;
  uint32_t[] format;
  uint32_t[] strides;
  uint32_t[] offsets;
  YUVColorSpace yUVColorSpace;
  ColorRange colorRange;
  ColorSpace2 colorPrimaries;
  TransferFunction transferFunction;
  FileHandleWrapper[] fence;
  uint32_t uid;
  FileDescriptor[] refCount;
  nullable FileHandleWrapper semaphoreFd;
};

[Comparable] struct SurfaceTextureDescriptor {
  uint64_t handle;
  IntSize size;
  SurfaceFormat format;
  bool continuous;
  bool forceBT709ColorSpace;
  Matrix4x4? transformOverride;
};

[Comparable] struct SurfaceDescriptorAndroidHardwareBuffer {
  uint64_t bufferId;
  IntSize size;
  SurfaceFormat format;
};

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

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

[Comparable] struct SurfaceDescriptorDcompSurface {
  FileDescriptor handle;
  IntSize size;
  SurfaceFormat format;
};

[Comparable] union RemoteDecoderVideoSubDescriptor {
  SurfaceDescriptorD3D10;
  SurfaceDescriptorDXGIYCbCr;
  SurfaceDescriptorDMABuf;
  SurfaceDescriptorMacIOSurface;
  SurfaceDescriptorDcompSurface;
  null_t;
};

[Comparable] struct SurfaceDescriptorRemoteDecoder {
  uint64_t handle;
  RemoteDecoderVideoSubDescriptor subdesc;
  MaybeVideoBridgeSource source;
  SurfaceDescriptorRemoteDecoderId id;
};

[Comparable] union SurfaceDescriptorGPUVideo {
  SurfaceDescriptorRemoteDecoder;
};

[Comparable] struct RGBDescriptor {
  IntSize size;
  SurfaceFormat format;
};

[Comparable] struct YCbCrDescriptor {
  IntRect display;
  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;
  ChromaSubsampling chromaSubsampling;
};

[Comparable] union BufferDescriptor {
  RGBDescriptor;
  YCbCrDescriptor;
};

[Comparable] union MemoryOrShmem {
  uintptr_t;
  Shmem;
};

[Comparable] struct SurfaceDescriptorBuffer {
  BufferDescriptor desc;
  MemoryOrShmem data;
};

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

[Comparable] struct SurfaceDescriptorExternalImage
{
  ExternalImageSource source;
  ExternalImageId id;
};

[Comparable] struct SurfaceDescriptorRemoteTexture {
  RemoteTextureId textureId;
  RemoteTextureOwnerId ownerId;
};

[Comparable] union SurfaceDescriptor {
  SurfaceDescriptorBuffer;
  SurfaceDescriptorD3D10;
  SurfaceDescriptorDXGIYCbCr;
  SurfaceDescriptorDMABuf;
  SurfaceTextureDescriptor;
  SurfaceDescriptorAndroidHardwareBuffer;
  EGLImageDescriptor;
  SurfaceDescriptorMacIOSurface;
  SurfaceDescriptorSharedGLTexture;
  SurfaceDescriptorGPUVideo;
  SurfaceDescriptorRemoteTexture;
  SurfaceDescriptorDcompSurface;
  SurfaceDescriptorExternalImage;
  null_t;
};

} // namespace
} // namespace

[ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ]