diff options
author | Samson <16504129+sagudev@users.noreply.github.com> | 2024-06-28 06:49:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-28 04:49:35 +0000 |
commit | e9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05 (patch) | |
tree | fb9f0179cfe93744118835c3a34edc8c19672a3e /components/webgpu/script_messages.rs | |
parent | fced0b49404c02bb5aafa9ddd468f9077ce26c19 (diff) | |
download | servo-e9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05.tar.gz servo-e9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05.zip |
webgpu: Update wgpu and revamp computepass (#32575)
* Do not wait on drop, but rather wake poller thread
* Update wgpu and render stuff
* Set some good expectations
* Update wgpu again
* handle IPC error as warning
* More good expectations
* Some more expectations
CTS does not match the spec: https://github.com/gpuweb/cts/issues/3806
* This expectations are due to other changes in servo
also happening on main
* Explain error_command_encoders and remove RefCell around it
* fixup
* store validness of passes
* More good expectations
* More docs
* this assert is wrong
* This is even more right per CTS/spec
Only Command encoder state errors are allowed here, but wgpu does not exposes them.
* More good expectations
* One bad expectation
* Fix my english
Diffstat (limited to 'components/webgpu/script_messages.rs')
-rw-r--r-- | components/webgpu/script_messages.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/components/webgpu/script_messages.rs b/components/webgpu/script_messages.rs index 15fe198386d..774bfd6cb7c 100644 --- a/components/webgpu/script_messages.rs +++ b/components/webgpu/script_messages.rs @@ -10,9 +10,9 @@ use serde::{Deserialize, Serialize}; use crate::gpu_error::Error; use crate::identity::WebGPUDevice; use crate::wgc::id::{ - AdapterId, BindGroupId, BindGroupLayoutId, BufferId, CommandBufferId, ComputePipelineId, - DeviceId, PipelineLayoutId, QuerySetId, RenderBundleId, RenderPipelineId, SamplerId, - ShaderModuleId, StagingBufferId, SurfaceId, TextureId, TextureViewId, + AdapterId, BindGroupId, BindGroupLayoutId, BufferId, CommandBufferId, ComputePassEncoderId, + ComputePipelineId, DeviceId, PipelineLayoutId, QuerySetId, RenderBundleId, RenderPipelineId, + SamplerId, ShaderModuleId, StagingBufferId, SurfaceId, TextureId, TextureViewId, }; /// <https://gpuweb.github.io/gpuweb/#enumdef-gpudevicelostreason> @@ -44,6 +44,7 @@ pub enum WebGPUMsg { FreeRenderBundle(RenderBundleId), FreeStagingBuffer(StagingBufferId), FreeQuerySet(QuerySetId), + FreeComputePass(ComputePassEncoderId), UncapturedError { device: WebGPUDevice, pipeline_id: PipelineId, |