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

Quelle  PCanvasManager.ipdl   Sprache: unbekannt

 
Spracherkennung für: .ipdl vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: sw=2 ts=8 et :
 */
/* 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 "mozilla/layers/LayersMessageUtils.h";
include protocol PCanvas;
include protocol PWebGL;
include protocol PWebGPU;

using mozilla::layers::RemoteTextureOwnerId from "mozilla/layers/LayersTypes.h";
using mozilla::webgl::FrontBufferSnapshotIpc from "mozilla/dom/WebGLIpdl.h";
using mozilla::webgpu::RawId from "mozilla/webgpu/WebGPUTypes.h";

namespace mozilla {
namespace gfx {

/**
 * The PCanvasManager protocol is the top-level protocol between the main and
 * worker threads in the content process, and the renderer thread in the
 * compositor process. This protocol should be used to create accelerated
 * canvas instances.
 */
[NeedsOtherPid, ParentProc=compositor, ChildProc=anydom]
sync protocol PCanvasManager
{
  manages PCanvas;
  manages PWebGL;
  manages PWebGPU;

parent:
  async PCanvas();

  // Actor that represents one WebGL context.
  async PWebGL();

  // Actor that represents one WebGPU context.
  async PWebGPU();

  // Set the local manager ID for the canvas manager.
  async Initialize(uint32_t aManagerId);

  // Get the front buffer pixels for the given manager/protocol. This is
  // intended to be used by the main thread in the content process to block
  // reading without having to block on the worker thread that owns the context
  // instance.
  sync GetSnapshot(uint32_t aManagerId, int32_t aProtocolId, RemoteTextureOwnerId? ownerId, RawId? commandEncoderId) returns (FrontBufferSnapshotIpc ret);
};

} // gfx
} // mozilla

[ Dauer der Verarbeitung: 0.50 Sekunden  ]