pub enum WebGPURequest {
Show 38 variants BufferMapAsync { sender: IpcSender<Option<WebGPUResponseResult>>, buffer_id: BufferId, device_id: DeviceId, host_map: HostMap, map_range: Range<u64>, }, BufferMapComplete(BufferId), CommandEncoderFinish { command_encoder_id: CommandEncoderId, device_id: DeviceId, is_error: bool, }, CopyBufferToBuffer { command_encoder_id: CommandEncoderId, source_id: BufferId, source_offset: BufferAddress, destination_id: BufferId, destination_offset: BufferAddress, size: BufferAddress, }, CopyBufferToTexture { command_encoder_id: CommandEncoderId, source: ImageCopyBuffer, destination: ImageCopyTexture, copy_size: Extent3d, }, CopyTextureToBuffer { command_encoder_id: CommandEncoderId, source: ImageCopyTexture, destination: ImageCopyBuffer, copy_size: Extent3d, }, CopyTextureToTexture { command_encoder_id: CommandEncoderId, source: ImageCopyTexture, destination: ImageCopyTexture, copy_size: Extent3d, }, CreateBindGroup { device_id: DeviceId, bind_group_id: BindGroupId, descriptor: BindGroupDescriptor<'static>, }, CreateBindGroupLayout { device_id: DeviceId, bind_group_layout_id: BindGroupLayoutId, descriptor: Option<BindGroupLayoutDescriptor<'static>>, }, CreateBuffer { device_id: DeviceId, buffer_id: BufferId, descriptor: Option<BufferDescriptor<'static>>, }, CreateCommandEncoder { device_id: DeviceId, command_encoder_id: CommandEncoderId, label: Option<Cow<'static, str>>, }, CreateComputePipeline { device_id: DeviceId, compute_pipeline_id: ComputePipelineId, descriptor: ComputePipelineDescriptor<'static>, implicit_ids: Option<(PipelineLayoutId, Vec<BindGroupLayoutId>)>, }, CreateContext(IpcSender<ExternalImageId>), CreatePipelineLayout { device_id: DeviceId, pipeline_layout_id: PipelineLayoutId, descriptor: PipelineLayoutDescriptor<'static>, }, CreateRenderPipeline { device_id: DeviceId, render_pipeline_id: RenderPipelineId, descriptor: Option<RenderPipelineDescriptor<'static>>, implicit_ids: Option<(PipelineLayoutId, Vec<BindGroupLayoutId>)>, }, CreateSampler { device_id: DeviceId, sampler_id: SamplerId, descriptor: SamplerDescriptor<'static>, }, CreateShaderModule { device_id: DeviceId, program_id: ShaderModuleId, program: String, label: Option<String>, }, CreateSwapChain { device_id: DeviceId, buffer_ids: ArrayVec<BufferId, PRESENTATION_BUFFER_COUNT>, external_id: u64, sender: IpcSender<ImageKey>, image_desc: ImageDescriptor, image_data: ImageData, }, CreateTexture { device_id: DeviceId, texture_id: TextureId, descriptor: Option<TextureDescriptor<'static>>, }, CreateTextureView { texture_id: TextureId, texture_view_id: TextureViewId, device_id: DeviceId, descriptor: Option<TextureViewDescriptor<'static>>, }, DestroyBuffer(BufferId), DestroyDevice(DeviceId), DestroySwapChain { external_id: u64, image_key: ImageKey, }, DestroyTexture(TextureId), Exit(IpcSender<()>), FreeCommandBuffer(CommandBufferId), FreeDevice(DeviceId), RenderBundleEncoderFinish { render_bundle_encoder: RenderBundleEncoder, descriptor: RenderBundleDescriptor<'static>, render_bundle_id: RenderBundleId, device_id: DeviceId, }, RequestAdapter { sender: IpcSender<Option<WebGPUResponseResult>>, options: RequestAdapterOptions, ids: SmallVec<[AdapterId; 4]>, }, RequestDevice { sender: IpcSender<Option<WebGPUResponseResult>>, adapter_id: WebGPUAdapter, descriptor: DeviceDescriptor<Option<String>>, device_id: DeviceId, pipeline_id: PipelineId, }, RunComputePass { command_encoder_id: CommandEncoderId, compute_pass: Option<ComputePass>, }, RunRenderPass { command_encoder_id: CommandEncoderId, render_pass: Option<RenderPass>, }, Submit { queue_id: QueueId, command_buffers: Vec<CommandBufferId>, }, SwapChainPresent { external_id: u64, texture_id: TextureId, encoder_id: CommandEncoderId, }, UnmapBuffer { buffer_id: BufferId, device_id: DeviceId, array_buffer: IpcSharedMemory, is_map_read: bool, offset: u64, size: u64, }, UpdateWebRenderData { buffer_id: BufferId, external_id: u64, buffer_size: usize, }, WriteBuffer { queue_id: QueueId, buffer_id: BufferId, buffer_offset: u64, data: IpcSharedMemory, }, WriteTexture { queue_id: QueueId, texture_cv: ImageCopyTexture, data_layout: ImageDataLayout, size: Extent3d, data: IpcSharedMemory, },
}

Variants§

§

BufferMapAsync

Fields

§buffer_id: BufferId
§device_id: DeviceId
§host_map: HostMap
§map_range: Range<u64>
§

BufferMapComplete(BufferId)

§

CommandEncoderFinish

Fields

§command_encoder_id: CommandEncoderId
§device_id: DeviceId
§is_error: bool
§

CopyBufferToBuffer

Fields

§command_encoder_id: CommandEncoderId
§source_id: BufferId
§source_offset: BufferAddress
§destination_id: BufferId
§destination_offset: BufferAddress
§

CopyBufferToTexture

Fields

§command_encoder_id: CommandEncoderId
§destination: ImageCopyTexture
§copy_size: Extent3d
§

CopyTextureToBuffer

Fields

§command_encoder_id: CommandEncoderId
§destination: ImageCopyBuffer
§copy_size: Extent3d
§

CopyTextureToTexture

Fields

§command_encoder_id: CommandEncoderId
§destination: ImageCopyTexture
§copy_size: Extent3d
§

CreateBindGroup

Fields

§device_id: DeviceId
§bind_group_id: BindGroupId
§descriptor: BindGroupDescriptor<'static>
§

CreateBindGroupLayout

Fields

§device_id: DeviceId
§bind_group_layout_id: BindGroupLayoutId
§descriptor: Option<BindGroupLayoutDescriptor<'static>>
§

CreateBuffer

Fields

§device_id: DeviceId
§buffer_id: BufferId
§descriptor: Option<BufferDescriptor<'static>>
§

CreateCommandEncoder

Fields

§device_id: DeviceId
§command_encoder_id: CommandEncoderId
§label: Option<Cow<'static, str>>
§

CreateComputePipeline

Fields

§device_id: DeviceId
§compute_pipeline_id: ComputePipelineId
§descriptor: ComputePipelineDescriptor<'static>
§

CreateContext(IpcSender<ExternalImageId>)

§

CreatePipelineLayout

Fields

§device_id: DeviceId
§pipeline_layout_id: PipelineLayoutId
§descriptor: PipelineLayoutDescriptor<'static>
§

CreateRenderPipeline

Fields

§device_id: DeviceId
§render_pipeline_id: RenderPipelineId
§descriptor: Option<RenderPipelineDescriptor<'static>>
§

CreateSampler

Fields

§device_id: DeviceId
§sampler_id: SamplerId
§descriptor: SamplerDescriptor<'static>
§

CreateShaderModule

Fields

§device_id: DeviceId
§program_id: ShaderModuleId
§program: String
§

CreateSwapChain

Fields

§device_id: DeviceId
§buffer_ids: ArrayVec<BufferId, PRESENTATION_BUFFER_COUNT>
§external_id: u64
§image_desc: ImageDescriptor
§image_data: ImageData
§

CreateTexture

Fields

§device_id: DeviceId
§texture_id: TextureId
§descriptor: Option<TextureDescriptor<'static>>
§

CreateTextureView

Fields

§texture_id: TextureId
§texture_view_id: TextureViewId
§device_id: DeviceId
§descriptor: Option<TextureViewDescriptor<'static>>
§

DestroyBuffer(BufferId)

§

DestroyDevice(DeviceId)

§

DestroySwapChain

Fields

§external_id: u64
§image_key: ImageKey
§

DestroyTexture(TextureId)

§

Exit(IpcSender<()>)

§

FreeCommandBuffer(CommandBufferId)

§

FreeDevice(DeviceId)

§

RenderBundleEncoderFinish

Fields

§render_bundle_encoder: RenderBundleEncoder
§descriptor: RenderBundleDescriptor<'static>
§render_bundle_id: RenderBundleId
§device_id: DeviceId
§

RequestAdapter

§

RequestDevice

Fields

§adapter_id: WebGPUAdapter
§device_id: DeviceId
§pipeline_id: PipelineId
§

RunComputePass

Fields

§command_encoder_id: CommandEncoderId
§compute_pass: Option<ComputePass>
§

RunRenderPass

Fields

§command_encoder_id: CommandEncoderId
§render_pass: Option<RenderPass>
§

Submit

Fields

§queue_id: QueueId
§command_buffers: Vec<CommandBufferId>
§

SwapChainPresent

Fields

§external_id: u64
§texture_id: TextureId
§encoder_id: CommandEncoderId
§

UnmapBuffer

Fields

§buffer_id: BufferId
§device_id: DeviceId
§array_buffer: IpcSharedMemory
§is_map_read: bool
§offset: u64
§size: u64
§

UpdateWebRenderData

Fields

§buffer_id: BufferId
§external_id: u64
§buffer_size: usize
§

WriteBuffer

Fields

§queue_id: QueueId
§buffer_id: BufferId
§buffer_offset: u64
§

WriteTexture

Fields

§queue_id: QueueId
§texture_cv: ImageCopyTexture
§data_layout: ImageDataLayout

Trait Implementations§

source§

impl Debug for WebGPURequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for WebGPURequest

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for WebGPURequest

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

source§

impl<T> WasmNotSend for Twhere T: Send,