diff options
Diffstat (limited to 'components/webgpu/ipc_messages/recv.rs')
-rw-r--r-- | components/webgpu/ipc_messages/recv.rs | 335 |
1 files changed, 0 insertions, 335 deletions
diff --git a/components/webgpu/ipc_messages/recv.rs b/components/webgpu/ipc_messages/recv.rs deleted file mode 100644 index ce69080760e..00000000000 --- a/components/webgpu/ipc_messages/recv.rs +++ /dev/null @@ -1,335 +0,0 @@ -/* 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 https://mozilla.org/MPL/2.0/. */ - -//! IPC messages that are received in wgpu thread -//! (usually from script thread more specifically from dom objects) - -use arrayvec::ArrayVec; -use base::id::PipelineId; -use ipc_channel::ipc::{IpcSender, IpcSharedMemory}; -use serde::{Deserialize, Serialize}; -use webrender_api::ImageKey; -use webrender_api::units::DeviceIntSize; -use wgc::binding_model::{ - BindGroupDescriptor, BindGroupLayoutDescriptor, PipelineLayoutDescriptor, -}; -use wgc::command::{ - RenderBundleDescriptor, RenderBundleEncoder, TexelCopyBufferInfo, TexelCopyTextureInfo, -}; -use wgc::device::HostMap; -use wgc::id; -use wgc::instance::RequestAdapterOptions; -use wgc::pipeline::{ComputePipelineDescriptor, RenderPipelineDescriptor}; -use wgc::resource::{ - BufferDescriptor, SamplerDescriptor, TextureDescriptor, TextureViewDescriptor, -}; -use wgpu_core::Label; -use wgpu_core::command::{RenderPassColorAttachment, RenderPassDepthStencilAttachment}; -use wgpu_core::id::AdapterId; -pub use {wgpu_core as wgc, wgpu_types as wgt}; - -use crate::identity::*; -use crate::render_commands::RenderCommand; -use crate::swapchain::WebGPUContextId; -use crate::wgc::resource::BufferAccessError; -use crate::{ - Error, ErrorFilter, Mapping, PRESENTATION_BUFFER_COUNT, ShaderCompilationInfo, - WebGPUAdapterResponse, WebGPUComputePipelineResponse, WebGPUDeviceResponse, - WebGPUPoppedErrorScopeResponse, WebGPURenderPipelineResponse, -}; - -#[derive(Clone, Copy, Debug, Deserialize, Serialize)] -pub struct ContextConfiguration { - pub device_id: id::DeviceId, - pub queue_id: id::QueueId, - pub format: wgt::TextureFormat, - pub is_opaque: bool, -} - -#[derive(Debug, Deserialize, Serialize)] -pub enum WebGPURequest { - BufferMapAsync { - sender: IpcSender<Result<Mapping, BufferAccessError>>, - buffer_id: id::BufferId, - device_id: id::DeviceId, - host_map: HostMap, - offset: u64, - size: Option<u64>, - }, - CommandEncoderFinish { - command_encoder_id: id::CommandEncoderId, - device_id: id::DeviceId, - desc: wgt::CommandBufferDescriptor<Label<'static>>, - }, - CopyBufferToBuffer { - command_encoder_id: id::CommandEncoderId, - source_id: id::BufferId, - source_offset: wgt::BufferAddress, - destination_id: id::BufferId, - destination_offset: wgt::BufferAddress, - size: wgt::BufferAddress, - }, - CopyBufferToTexture { - command_encoder_id: id::CommandEncoderId, - source: TexelCopyBufferInfo, - destination: TexelCopyTextureInfo, - copy_size: wgt::Extent3d, - }, - CopyTextureToBuffer { - command_encoder_id: id::CommandEncoderId, - source: TexelCopyTextureInfo, - destination: TexelCopyBufferInfo, - copy_size: wgt::Extent3d, - }, - CopyTextureToTexture { - command_encoder_id: id::CommandEncoderId, - source: TexelCopyTextureInfo, - destination: TexelCopyTextureInfo, - copy_size: wgt::Extent3d, - }, - CreateBindGroup { - device_id: id::DeviceId, - bind_group_id: id::BindGroupId, - descriptor: BindGroupDescriptor<'static>, - }, - CreateBindGroupLayout { - device_id: id::DeviceId, - bind_group_layout_id: id::BindGroupLayoutId, - descriptor: Option<BindGroupLayoutDescriptor<'static>>, - }, - CreateBuffer { - device_id: id::DeviceId, - buffer_id: id::BufferId, - descriptor: BufferDescriptor<'static>, - }, - CreateCommandEncoder { - device_id: id::DeviceId, - command_encoder_id: id::CommandEncoderId, - desc: wgt::CommandEncoderDescriptor<Label<'static>>, - }, - CreateComputePipeline { - device_id: id::DeviceId, - compute_pipeline_id: id::ComputePipelineId, - descriptor: ComputePipelineDescriptor<'static>, - implicit_ids: Option<(id::PipelineLayoutId, Vec<id::BindGroupLayoutId>)>, - /// present only on ASYNC versions - async_sender: Option<IpcSender<WebGPUComputePipelineResponse>>, - }, - CreatePipelineLayout { - device_id: id::DeviceId, - pipeline_layout_id: id::PipelineLayoutId, - descriptor: PipelineLayoutDescriptor<'static>, - }, - CreateRenderPipeline { - device_id: id::DeviceId, - render_pipeline_id: id::RenderPipelineId, - descriptor: RenderPipelineDescriptor<'static>, - implicit_ids: Option<(id::PipelineLayoutId, Vec<id::BindGroupLayoutId>)>, - /// present only on ASYNC versions - async_sender: Option<IpcSender<WebGPURenderPipelineResponse>>, - }, - CreateSampler { - device_id: id::DeviceId, - sampler_id: id::SamplerId, - descriptor: SamplerDescriptor<'static>, - }, - CreateShaderModule { - device_id: id::DeviceId, - program_id: id::ShaderModuleId, - program: String, - label: Option<String>, - sender: IpcSender<Option<ShaderCompilationInfo>>, - }, - /// Creates context - CreateContext { - buffer_ids: ArrayVec<id::BufferId, PRESENTATION_BUFFER_COUNT>, - size: DeviceIntSize, - sender: IpcSender<(WebGPUContextId, ImageKey)>, - }, - /// Recreates swapchain (if needed) - UpdateContext { - context_id: WebGPUContextId, - size: DeviceIntSize, - configuration: Option<ContextConfiguration>, - }, - /// Reads texture to swapchains buffer and maps it - SwapChainPresent { - context_id: WebGPUContextId, - texture_id: id::TextureId, - encoder_id: id::CommandEncoderId, - }, - /// Obtains image from latest presentation buffer (same as wr update) - GetImage { - context_id: WebGPUContextId, - sender: IpcSender<IpcSharedMemory>, - }, - ValidateTextureDescriptor { - device_id: id::DeviceId, - texture_id: id::TextureId, - descriptor: TextureDescriptor<'static>, - }, - DestroyContext { - context_id: WebGPUContextId, - }, - CreateTexture { - device_id: id::DeviceId, - texture_id: id::TextureId, - descriptor: TextureDescriptor<'static>, - }, - CreateTextureView { - texture_id: id::TextureId, - texture_view_id: id::TextureViewId, - device_id: id::DeviceId, - descriptor: Option<TextureViewDescriptor<'static>>, - }, - DestroyBuffer(id::BufferId), - DestroyDevice(id::DeviceId), - DestroyTexture(id::TextureId), - DropTexture(id::TextureId), - DropAdapter(id::AdapterId), - DropDevice(id::DeviceId), - DropBuffer(id::BufferId), - DropPipelineLayout(id::PipelineLayoutId), - DropComputePipeline(id::ComputePipelineId), - DropRenderPipeline(id::RenderPipelineId), - DropBindGroup(id::BindGroupId), - DropBindGroupLayout(id::BindGroupLayoutId), - DropCommandBuffer(id::CommandBufferId), - DropTextureView(id::TextureViewId), - DropSampler(id::SamplerId), - DropShaderModule(id::ShaderModuleId), - DropRenderBundle(id::RenderBundleId), - DropQuerySet(id::QuerySetId), - DropComputePass(id::ComputePassEncoderId), - DropRenderPass(id::RenderPassEncoderId), - Exit(IpcSender<()>), - RenderBundleEncoderFinish { - render_bundle_encoder: RenderBundleEncoder, - descriptor: RenderBundleDescriptor<'static>, - render_bundle_id: id::RenderBundleId, - device_id: id::DeviceId, - }, - RequestAdapter { - sender: IpcSender<WebGPUAdapterResponse>, - options: RequestAdapterOptions, - adapter_id: AdapterId, - }, - RequestDevice { - sender: IpcSender<WebGPUDeviceResponse>, - adapter_id: WebGPUAdapter, - descriptor: wgt::DeviceDescriptor<Option<String>>, - device_id: id::DeviceId, - queue_id: id::QueueId, - pipeline_id: PipelineId, - }, - // Compute Pass - BeginComputePass { - command_encoder_id: id::CommandEncoderId, - compute_pass_id: ComputePassId, - label: Label<'static>, - device_id: id::DeviceId, - }, - ComputePassSetPipeline { - compute_pass_id: ComputePassId, - pipeline_id: id::ComputePipelineId, - device_id: id::DeviceId, - }, - ComputePassSetBindGroup { - compute_pass_id: ComputePassId, - index: u32, - bind_group_id: id::BindGroupId, - offsets: Vec<u32>, - device_id: id::DeviceId, - }, - ComputePassDispatchWorkgroups { - compute_pass_id: ComputePassId, - x: u32, - y: u32, - z: u32, - device_id: id::DeviceId, - }, - ComputePassDispatchWorkgroupsIndirect { - compute_pass_id: ComputePassId, - buffer_id: id::BufferId, - offset: u64, - device_id: id::DeviceId, - }, - EndComputePass { - compute_pass_id: ComputePassId, - device_id: id::DeviceId, - command_encoder_id: id::CommandEncoderId, - }, - // Render Pass - BeginRenderPass { - command_encoder_id: id::CommandEncoderId, - render_pass_id: RenderPassId, - label: Label<'static>, - color_attachments: Vec<Option<RenderPassColorAttachment>>, - depth_stencil_attachment: Option<RenderPassDepthStencilAttachment>, - device_id: id::DeviceId, - }, - RenderPassCommand { - render_pass_id: RenderPassId, - render_command: RenderCommand, - device_id: id::DeviceId, - }, - EndRenderPass { - render_pass_id: RenderPassId, - device_id: id::DeviceId, - command_encoder_id: id::CommandEncoderId, - }, - Submit { - device_id: id::DeviceId, - queue_id: id::QueueId, - command_buffers: Vec<id::CommandBufferId>, - }, - UnmapBuffer { - buffer_id: id::BufferId, - /// Return back mapping for writeback - mapping: Option<Mapping>, - }, - WriteBuffer { - device_id: id::DeviceId, - queue_id: id::QueueId, - buffer_id: id::BufferId, - buffer_offset: u64, - data: IpcSharedMemory, - }, - WriteTexture { - device_id: id::DeviceId, - queue_id: id::QueueId, - texture_cv: TexelCopyTextureInfo, - data_layout: wgt::TexelCopyBufferLayout, - size: wgt::Extent3d, - data: IpcSharedMemory, - }, - QueueOnSubmittedWorkDone { - sender: IpcSender<()>, - queue_id: id::QueueId, - }, - PushErrorScope { - device_id: id::DeviceId, - filter: ErrorFilter, - }, - DispatchError { - device_id: id::DeviceId, - error: Error, - }, - PopErrorScope { - device_id: id::DeviceId, - sender: IpcSender<WebGPUPoppedErrorScopeResponse>, - }, - ComputeGetBindGroupLayout { - device_id: id::DeviceId, - pipeline_id: id::ComputePipelineId, - index: u32, - id: id::BindGroupLayoutId, - }, - RenderGetBindGroupLayout { - device_id: id::DeviceId, - pipeline_id: id::RenderPipelineId, - index: u32, - id: id::BindGroupLayoutId, - }, -} |