64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
/* 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 mozilla::layers::RGBDescriptor from "mozilla/layers/LayersSurfaces.h";
|
|
using mozilla::layers::RemoteTextureId from "mozilla/layers/LayersTypes.h";
|
|
using mozilla::layers::RemoteTextureOwnerId from "mozilla/layers/LayersTypes.h";
|
|
using mozilla::layers::RemoteTextureTxnType from "mozilla/layers/LayersTypes.h";
|
|
using mozilla::layers::RemoteTextureTxnId from "mozilla/layers/LayersTypes.h";
|
|
using mozilla::webgpu::RawId from "mozilla/webgpu/WebGPUTypes.h";
|
|
using mozilla::dom::GPUDeviceLostReason from "mozilla/dom/WebGPUBinding.h";
|
|
using mozilla::dom::GPUErrorFilter from "mozilla/dom/WebGPUBinding.h";
|
|
using mozilla::dom::GPURequestAdapterOptions from "mozilla/dom/WebGPUBinding.h";
|
|
using mozilla::dom::GPUCommandBufferDescriptor from "mozilla/dom/WebGPUBinding.h";
|
|
using mozilla::dom::GPUBufferDescriptor from "mozilla/dom/WebGPUBinding.h";
|
|
using mozilla::webgpu::ExternalTextureSourceDescriptor from "mozilla/webgpu/WebGPUTypes.h";
|
|
using mozilla::webgpu::PopErrorScopeResult from "mozilla/webgpu/WebGPUTypes.h";
|
|
using mozilla::webgpu::WebGPUCompilationMessage from "mozilla/webgpu/WebGPUTypes.h";
|
|
[MoveOnly] using mozilla::ipc::MutableSharedMemoryHandle from "mozilla/ipc/SharedMemoryHandle.h";
|
|
using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
|
|
|
|
include "mozilla/ipc/ByteBufUtils.h";
|
|
include "mozilla/layers/LayersMessageUtils.h";
|
|
include "mozilla/webgpu/WebGPUSerialize.h";
|
|
include "mozilla/layers/WebRenderMessageUtils.h";
|
|
include protocol PCanvasManager;
|
|
include PWebGPUTypes;
|
|
|
|
namespace mozilla {
|
|
namespace webgpu {
|
|
|
|
/**
|
|
* Represents the connection between a WebGPUChild actor that issues WebGPU
|
|
* command from the content process, and a WebGPUParent in the compositor
|
|
* process that runs the commands.
|
|
*/
|
|
async protocol PWebGPU
|
|
{
|
|
manager PCanvasManager;
|
|
|
|
parent:
|
|
async Messages(uint32_t nrOfMessages, ByteBuf serializedMessages, ByteBuf[] dataBuffers, MutableSharedMemoryHandle[] shmems);
|
|
|
|
// Ideally this would be sent in Messages(), but we need to implement
|
|
// SurfaceDescriptor serialization first.
|
|
async CreateExternalTextureSource(
|
|
RawId deviceId,
|
|
RawId queueId,
|
|
RawId externalTextureSourceId,
|
|
ExternalTextureSourceDescriptor aDesc
|
|
);
|
|
|
|
|
|
child:
|
|
async ServerMessage(ByteBuf buf);
|
|
|
|
async UncapturedError(RawId aDeviceId, GPUErrorFilter type, nsCString message);
|
|
async DeviceLost(RawId aDeviceId, GPUDeviceLostReason reason, nsCString message);
|
|
async __delete__();
|
|
};
|
|
|
|
} // webgpu
|
|
} // mozilla
|