mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
webgpu: Implement proper async pipeline creation and GPUPipelineError (#32636)
* Add GPUPipelineError Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Proper GetBindGroupLayout Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Proper Create*PipelineAsync Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fixups Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * more good expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
08eb4faf4d
commit
b8cf0cf9af
11 changed files with 465 additions and 790 deletions
|
@ -103,6 +103,8 @@ pub enum WebGPURequest {
|
|||
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<WebGPUResponse>>,
|
||||
},
|
||||
CreateContext(IpcSender<ExternalImageId>),
|
||||
CreatePipelineLayout {
|
||||
|
@ -113,8 +115,10 @@ pub enum WebGPURequest {
|
|||
CreateRenderPipeline {
|
||||
device_id: id::DeviceId,
|
||||
render_pipeline_id: id::RenderPipelineId,
|
||||
descriptor: Option<RenderPipelineDescriptor<'static>>,
|
||||
descriptor: RenderPipelineDescriptor<'static>,
|
||||
implicit_ids: Option<(id::PipelineLayoutId, Vec<id::BindGroupLayoutId>)>,
|
||||
/// present only on ASYNC versions
|
||||
async_sender: Option<IpcSender<WebGPUResponse>>,
|
||||
},
|
||||
CreateSampler {
|
||||
device_id: id::DeviceId,
|
||||
|
@ -301,4 +305,16 @@ pub enum WebGPURequest {
|
|||
device_id: id::DeviceId,
|
||||
sender: IpcSender<WebGPUResponse>,
|
||||
},
|
||||
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,
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue